关于变量、常量、类型和运算符等。
2.1 变量名
变量名由字母和数字组成,首字母必须是字母,下划线“_”看作是字母,所以可以放在首字母。但是,尽量不用用下划线作为首字母,因为在库函数中经常这样命名。变量名用小写字母,符号常量用大写字母。变量名字的选择需要根据实际目的,局部变量用短名,外部变量用长名。
2.2 数据类型和大小
编译器会给硬件自由选择合适的大小,它只服从于这样的约束条件:short和int至少16位,long至少32位,short不长于int,int不长于long,通常,short是16位,long是32位,int或者是16位,或者是32位。
2.3 常量
字符常量’\0’代表的是一个空字符,它的值是0,'\0’经常替代0被写出来是为了强调一些表达式的字符性质,但它的数值仍然是0。
技术上说,字符串常量实际是一个字符数组,在数组的最后有一个空字符’\0',所以数组的长度会比字符的个数多一个。函数strlen()可以用来计算字符串的长度,但不包括'\0'。
区分字符常量和字符串需要小心,'x'和"x"并不是相同的,'x'代表的是一个整型,是根据机器字符集中字母x产生的一个数值,而"x"是一个数组,包括一个字符x和一个'\0'。
枚举常量(enumeration constant)是一个整型常量列表,除非明确表明,那么第一个名字数值时0,第二个名字数值时1,...。如果只是其中一些名字表明了数值,那么其他未被表明的名字按照前一个数值递增。枚举为常量值和名字提供了一个很方便的连接。
2.4 声明
变量在使用之前一定要声明,在声明的同时可以初始化。如果变量不是自动变量,那么初始化只进行一次,概念上来说是在程序执行之前,初始化值必须是一个常量表达式。一个已经明确初始化过的自动变量在每次函数或是块进入之后再次初始化,外部变量和静态变量的值默认初始化为0,自动变量不确定。
修饰符const表明变量的值不会被改变,用const修饰数组变量表明数组中的值不可以改变,const还可以用来修饰函数中的数组参数,表示函数不会改变数组。
2.5 算数运算符
2.6 关系和逻辑运算符
优先级排序:
算数 》 关系 》 等号 》 逻辑
&&的优先级高于||,等于(==)或不等于(!=)优先级高于赋值。