1.变量名
变量名是由数字和字母组成,但第一个字符必须由字母或者下划线开始。另一方面,由于c语言库例程的名字通常是由下划线开头的,因此变量名最好不要以下划线开头,仅以字母开头。
c语言中的大写字母和小写字母是有区别的。通常变量使用小写字母,常量使用大写字母。
关于变量名的长度,对于内部名,必须至少能由前31个字符能唯一确定标识符;对于外部名,必须至少能由前6个字符唯一确定标识符,并且不区分大小写。
2.数据类型及长度
char 字符类型,占用一个字节
short 短整型,通常16位
int 整型,16位或者32位,由机器的长度决定
long 长整型,通常32位
float 单精度浮点类型
double 双精度浮点类型
signed和unsigned可以用来限定char或者任意整型。
可以由下面的代码来测试机器上面各整型类型的最大值:
运行结果如下:
3.申明
任何变量都必须先申明后使用。默认情况下,外部变量和静态变量将被初始化为0。未经显示初始化的自动变量的值为未定义值(即无效值)。
任何变量的申明都可以使用const限定符,表示该变量为只读变量。如果是数组变量前面使用const限定符的话表示该数组里面的每个元素都是只读的。
4.类型转换
当一个运算符的几个操作数的类型不一致的时候,需要将其中“比较窄的”操作数转换为“比较宽的”操作数。
如果操作数中没有unsigned类型时,c语言会自动进行下面的转化:
如果其中一个是long double类型,则将另一个操作数也转换为long double类型;
如果其中一个是double类型,则将另一个操作数也转换为double类型;
如果其中一个是float类型,则将另一个操作数也转换为float类型;
如果其中一个是long类型,则将另一个操作数也转换为long类型;
将char和short类型的操作数转换为int类型。
当把较长的整数转换位较短的整数或者char时,超出的高位部分将被舍弃。
5.按位运算符
c语言提供了6个位操作运算符。这些运算符只能作用于整型操作数,即只能作用于带符号或无符号的char,short,int和long类型:
& 按位与 两个操作数对应位都为1则将改位置为1,否则为0
| 按位或 两个操作数对应位都为0则将改位置为0,否则为1
^ 按位异或 两个操作数对应位不相同时置为1,否则为0
<< 左移位 将左操作数左移n位,右边空出的n位补0
>> 右移位 在对unsigned类型进行右移位时,左边空出的部分补0;在对signed类型进行右移位时,某些
机器将对左边补充符号位(算术移位),某些机器则进行补0(逻辑移位)
~ 按位取反
使用异或运算符我们可以不用借助临时参数就可以交换两个整型变量的值。