2.2定义变量

2.2.1命名规则

赋予变量的名称叫做标识符,或者更方便地称之为变量名。变量名可用字母(包括大小写),数字,以及下划线,其他字符不允许。以下划线或者字母开头。在Visual C++2010字符最长可达2048个字符。在C++中经常采用这样一个约定,就是把以大写字母开头的名称用于类名,而把以小写字母开头的名称用于变量。

C++中的关键字

C++中有一些保留字,又被称为关键字;修改显示颜色:Tools->Options->Environment/Fonts and colors。

2.2.2 声明变量

变量声明同时也是变量定义,即介绍了变量名,又将它与适当容量的一段内存联系起来。

在把一个名称以及有关这个名称用途的信息引入程序时,要使用"声明"这个术语,术语"定义"涉及的是分配给这个名称的计算机内存。就变量来说,二者同时执行。C++良好的习惯是接近于首次使用的变量的位置声明他们。

2.2.3 变量的初始值

将初始值赋给变量的变量声明称为初始化。

在C++中,为变量写入初始值还有一种表示法,称作函数表示法。是把数值写入变量名后面的圆括号内。

eg:int value(5);int value = 5。

2.3 基本数据类型

2.3.1 基本类型分为三类:存储整数的类型(short(2个字节) int(4个字节) long(4个字节;定义的数字后面加上L或者l;默认只是数字表示int型)、long long(8个字节数字后面写LL或者ll))、存储非整数的类型(也称为浮点型)、指定空的值集或者不指定任何类型的void类型。

2.3.2 字符数据类型

与char类型不同,wchar_t类型的叫法源于它是宽字符类型,存储两个字节的字符代码,值域为0-65535.eg:wchar_t = L'Z';定义一个变量letter,并利用字母Z的16位代码对它进行初始化。字符常量’Z‘前面的字母L告诉编译器这个是一个16位字符代码值,wchar_t变量存储Unicode代码值。也可以用wchar_t letter(L'Z');也可以使用十六进制常量初始化整型变量。wchar_t letter(0x5A);

2.3.3 整型修饰符

定义无符号类型是后面加上u或者U

eg:unsigned long mileage = 5UL;

2.3.4布尔类型

布尔变量也称为逻辑变量,类型bool被认为是整数类型。其值为true和false;eg:bool colorIsred = true;

2.3.5 浮点类型

浮点常量必须包含一个小数点或者一个指数或者二者都有,如果不是,则认为是一个整数。

double占8个字节,float占4个字节并且在定义时数字后面要加f而double不用加,默认就是。

还有long double 类型。

2.3.6 字面值

在C++中,所有类型的常数都称为字面值。字面值是特定类型的值。

2.3.7 定义数据类型的同义词

typedef关键字能够使您为现有的类型定义自己的类型名称。

2.3.8 具有特定值集的变量

有时需要一些具有一个有限的可能值集的变量,标签(label)可以有效地引用这些值,在C++中有一种处理这种情况的工具,称之为枚举。eg:

enum Week{Mon,Tue,Wed,Thurs,Fri,Sta,Sun} thisWeek;这个语句声明了名称为Week的枚举类型和变量thisWeek,这个变量是枚举类型Week的一个实例,它只能采用大括号之间指定的常量值。大括号之间列出的符号名称为枚举器。实际上,日期的每一个名称都被自动定义为表示一个固定的整数值,如Mon=0,Tue=1。。。

可以把一个枚举常量作为变量thisWeek的值赋给它,eg:thisWeek= Thurs;

如果打算不从零开始则可以有enum Week{Mon=1,Tue,Wed,Thurs,Fri,Sta,Sun} thisWeek;那么其值范围为1-7.枚举器甚至不需要有唯一的值,如enum Week{Mon=2,Tue=2,Wed,Thurs,Fri,Sta,Sun} thisWeek;由于thisWeek的类型是int,故它占4个字节,不允许用函数表示法初始化枚举器。

2、C++的更多相关文章

  1. js-静态、原型、实例属性

    本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...

  2. 【.net 深呼吸】细说CodeDom(2):表达式、语句

    在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...

  3. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  4. IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法

    直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...

  5. jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧

    这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...

  6. 初识Hadoop、Hive

    2016.10.13 20:28 很久没有写随笔了,自打小宝出生后就没有写过新的文章.数次来到博客园,想开始新的学习历程,总是被各种琐事中断.一方面确实是最近的项目工作比较忙,各个集群频繁地上线加多版 ...

  7. boosting、adaboost

    1.boosting Boosting方法是一种用来提高弱分类算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数.他是一种框架算法,主要是通过对样本集的操作获 ...

  8. 《Web 前端面试指南》1、JavaScript 闭包深入浅出

    闭包是什么? 闭包是内部函数可以访问外部函数的变量.它可以访问三个作用域:首先可以访问自己的作用域(也就是定义在大括号内的变量),它也能访问外部函数的变量,和它能访问全局变量. 内部函数不仅可以访问外 ...

  9. .Net Core MVC 网站开发(Ninesky) 2.4、添加栏目与异步方法

    在2.3中完成依赖注入后,这次主要实现栏目的添加功能.按照前面思路栏目有三种类型,常规栏目即可以添加子栏目也可以选择是否添加内容,内容又可以分文章或其他类型,所以还要添加一个模块功能.这次主要实现栏目 ...

  10. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

随机推荐

  1. 《GPU高性能编程CUDA实战》第十章 流

    ▶ 本章介绍了页锁定内存和流的使用方法,给出了测试内存拷贝.(单 / 双)流控制下的内存拷贝的例子. ● 测试内存拷贝 #include <stdio.h> #include " ...

  2. 2. java获取下周日-下周六的时间

    String[] arrDate = new String[7]; String[] arrWeek = new String[7]; int mondayPlus = 0; Calendar cd ...

  3. 17.在Action获取Scope对象

    转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 引言:在前面的Action操作中,关键就是Action中的exectue方法 ...

  4. 2.vo传参模式和ModerDriven传参模式

    转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html Copy上面的myStruts2项目,改名为myStruts2Vo项目.作如 ...

  5. 非常简单的 xml转成数组的方法

    function xml2arr($xml){ $obj = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); $jso ...

  6. mongodb基础学习5-索引

    下面来看看索引,有btree索引和hash索引,会提高查询速度,但降低了写入速度,可以按升,降序建立 包括单列索引,多列索引,子文档索引,也可分为普通索引,惟一索引,稀疏索引,hash索引(2.4新增 ...

  7. unity VideoPlayer

    Events(事件) started:在调用play()后立刻调用 prepareCompleted:播放器准备完成时 seekCompleted:缓冲完成时

  8. asp.net core in centos

    CentOS 7部署ASP.NET Core应用程序   看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不 ...

  9. 迷你MVVM框架 avalonjs 1.4.1发布

    以后有关avalon的版本升级消息,全部改放到这里 重构parseHTML,让其支持xhtml 强化 ms-duplex-number拦截器 添加data-duplex-number辅助指令 值为st ...

  10. JSP复习

    3.2.2 JSP指令元素: JSP指令 (1) page指令:定义整个页面的全局属性 (2)include指令:用于包含一个文件或代码的文件 (3)taglib指令:用来引用自定义的标签或第三方标签 ...