3.2.1.常量和变量
实型常量
注意: e或E之前必须有数字,且e或E后面必须为整数。
字符常量
从其字面形式上即可识别的常量称为“字面常量”或“直接常量”。字面常量是没有名字的不变量。
符号常量
用#define
指令,指定用一个符号名称代表一个常量。
使用符号常量的好处:
- 含义清楚
- 在需要改变程序中多处用到的同一个常量时,能做到“一改全改”。
注意:要区分符号常量和变量,不要把符号常量误认为变量。符号常量不占内存,只是一个临时符号,代表一个值,在预编译后这个符号就不存在了,故不能对符号常量赋新值。为与变量名相区别,习惯上符号常量用大写表示,如PI,PRICE等。
常变量
可以说,常变量是有名字的不变量,而常量是没有名字的不变量。
例如:Const int a; //a的值不再改变
从使用的角度看,常变量具有符号常量的优点,而且使用更方便。有了常变量以后,可以不必多用符号常量。
标识符
C语言规定标识符只能由字母、数字和下画线3种字符组成,且第1个字符必须为字母或下画线。
注意:编译系统认为大写字母和小写字母是两个不同的字符。
3.2.2.求负整数补码的方法:
①数据的绝对值表示为二进制形式;
②最高位符号位为1,表示负数;
③除符号位外的数值取反加1。
例如:-5的补码:0101→1010→1011
3.2.3 整型数据
基本整形(int型)
Turbo C 2.0为每一个整型数据分配2个字节(16个二进位),而Visual C++为每一个整型数据分配4个字节(32位)。在存储单元中的存储方式是:用整数的补码(complement)形式存放。
求负数的补码的方法是:先将此数的绝对值写成二进制形式,然后对其所有二进位按位取反,再加1。(正数的补码是它自已。)
如果给整型变量分配2个字节(Visual C++ ),其能容纳的数值范围为
1000000000000000(即-32768)——0111111111111111(即32767)
短整型(short int)
Visual C++ 编译系统分配给短整型2个字节。范围是−32768∼32767
长整型(long int)
类型名为long int
或long
。Visual C++对一个long
型数据分配4个字节(即32位),因此long int
型变量的值的范围是−2^31∼(2^31−1),即−2147483648∼2147483647
双长整型(long long int)
类型名为long long int
或long long
,一般分配8个字节。这是C 99新增的类型,但许多C编译系统尚未实现。
C 标准没有具体规定各种类型数据所占用存储单元的长度,这是由各编译系统自行决定的。C标准只要求long
型数据长度不短于int
型,short
型不长于int
型。即
sizeof(short)≤sizeof(int)≤sizeof(long)≤sizeof(longlong)
整型变量的符号属性
<