第二章 类型、运算符与表达式
2.1 变量名
1、名字是由字母和数字组成的序列,但其第一个字符必须为字母。
2、变量名不要以下划线开头。
3、大写字母与小写字母是有区别的。
4、变量名使用小写字母,符号常量全部使用大写字母。
5、关键字的字符都必须小写。
6、局部变量一般使用较短的变量名(尤其是循环控制变量),外部变量使用较长的名字。
2.2 数据类型及长度
1、long/short int = long/short
2、short与int类型至少为16位,而long类型至少为32位,并且short类型不得长于int类型,int类型不得长于long类型。
3、不带限定符的char类型对象是否带符号取决于具体机器,但可打印字符总是正值。
4、float、double与long double类型可以表示相同的长度,也可以表示两种或三种不同的长度。
2.3 常量
1、整数、浮点数常量
(1)、后缀:ul/UL、l/L
(2)、前缀:带前缀0的整型常量表示它为八进制常量;前缀为0x或0X,则表示它为十六进制常量。
(3)、没有后缀的浮点数常量为double类型。
2、字符常量
(1)、一个字符常量是一个整数,用单引号括起来。
(2)、字符常量一般用来与其他字符进行比较,但也可以像其他整数一样参与数值运算。
(3)、转义字符。' \000 ' 八进制数,' \xhh ' 十六进制数。
(4)、字符常量 '\0' 表示值为0的字符,也就是空字符(null)。我们通常用'\0' 的形式代替0,以强调某些表达式的字符属性。
(5)、常量表达式是仅仅只包含常量的表达式。这种表达式在编译时求值,而不在运行时求值。它可以出现在常量可以出现的任何位置。
3、字符串常量
(1)、字符串常量的连接为将较长的字符串分散在若干个源文件行中提供了支持。
(2)、字符串常量就是字符数组。
(3)、字符串的内部表示使用一个空字符' \0 '作为串的结尾。
(4)、标准库函数strlen(s)可以返回字符串参数s的长度,但长度不包括末尾的' \0 '。
4、枚举常量
(1)、枚举是一个常量整型值的列表。为建立常量值与名字之间的关联提供了一种便利的方式。
(2)、在没有显示说明的情况下,enum类型中的第一个枚举名的值为0,第二个为1,以此类推。
(3)、如果只指定了部分枚举名的值,那么未指定值的枚举名的值将依着最后一个指定值向后递增。
(4)、不同枚举中的名字必须互不相同。同一枚举中不同的名字可以具有相同的值。
关于枚举的使用:见http://blog.csdn.net/qq_33191890/article/details/50636750
2.4 声明
1、如果变量不是自动变量,则只能进行一次初始化操作,从概念上讲,应该是在程序开始执行之前进行,并且初始化表达式必须为常量表达式。
2、每次进入函数或程序块时,显式初始化的自动变量都将被初始化一次,其初始化表达式可以是任何表达式。
3、默认情况下,外部变量与静态变量将被初始化为0。未经显式初始化的自动变量的值为未定义值(即无效值)。
4、const限定符指定变量的值不能被修改。对数组而言,const限定符指定数组所有元素的值都不能被修改。
const限定符也可配合数组参数使用,它表明函数不能修改数组元素的值:int strlen ( const char[ ] );
const用法:点击打开链接
2.5