常量就是在程序运行过程中值不会发生改变,而且一眼就可以看出其值的量。
常量也可以分成多种:整型,浮点型,字符型,字符串,符号常量。
1.整型常量
十六进制整型常量,以“0x”读(零x)开头,且一个十六进制位正好对应于4个二进制位。
八进制整型常量,以0开头。
2.字符型常量
字符型常量表示一个字符,用单引号括起来。(eg:‘a’)
字符型常量可用于给char和unsigned char类型的变量赋值(eg:char c='a')
字符型常量和变量都占一个字节,内部存放的是字符的ASCII编码。ASCII编码是一个0-255的整数。
字母和数字的ASCII | 0-9 | A-Z | a-z |
十进制编码 | 48-57 | 65-90 | 97-122 |
3.字符串常量
字符串常量是用双引号括起来的一串字符(“a”)
“ ”也是一个字符串常量,它代表一个空串,既不包喊任何字符的字符串
“a”和‘a’是不一样的,前者是只有一个字符的字符串,后者是一个字符,用前者给一个char类型的变量赋值。
“1234567”当然也和1234567是不一样的,不能用前者给一个int类型变量赋值
printf("123\t456\nabc\n");
printf("123\'45\n");
printf("UVWX\"YZ\n");
/*会输出
123 456
abc
123'45
UVWX"YZ
*/
4.符号常量
为了阅读和修改的方便,常用一个由字母和数字组成的符号来代表某个常量,这样的常量就叫符号常量。
#define 常量名 常量值
定义之后,程序中所有出现“常量名”的地方,就等价于出现的是“常量值”
“常量名”的命名规则和变量相同,“常量值”则学什么常量都可以
eg:#define MAX_NUM 1000
尽量少使用数值常量,而用符号常量替代它,这样便于修改