常量
计算机内存不变的数据
4种类型常量:
1.整型常量
即整常数,由一个或多个数字组成,可以带正负号
C语言中整型常量可用十进制、八进制和十六进制3种形式表示
十进制整数:由0~9数字组成,不能以0开始,没有前缀
八进制整数:以0为前缀,其后由0~7的数字组成,没有小数部分
十六进制整数:以0x或0X开头,其后由0~9的数字和a~f(或A~F字母组成)
另外长整型常量后加后缀L(或1),无符号常量后加后缀U(或u)
2.实型常量
C语言中,实数又称浮点数一般有两种表示形式
十进制小数形式:由数字和小数点组成,必须有小数点(例如 .24 也合法)
指数形式:有十进制数、阶码标志“e”或“E”和阶码组成,阶码只能是整数。e和E前面必须有数字,后面必须是整数
实型常量的类型:C编译系统对实型常量不分float和double,都作double处理以更精确,也可以在实型常量后面加上字母f或F来指定其为单精度实型(float)
3.符号常量
C语言中,可以用一个标识符表示一个常量,称之为符号常量,即标识形式的常量
符号常量是一种特殊的常量,其值和类型是通过符号常量的定义决定的
符号常量在使用之前必须定义,一般形式如下:
#define 标识符常量
(#define是一条预处理命令,其功能是把命令格式中的标识符定义为其后的常量值)
习惯上,为了与程序中的变量名区别,符号常量名一般用大写字母表示
4.字符型常量
包括字符常量和字符串常量
(1)字符常量:
又称字符常数,C语言中的字符常量是用单引号括起来的字符,区分大小写
字符常量有以下特点:
①字符常量只能用单引号括起来
单引号只起界定作用,不表示字符本身
单引号中只能由一个字符,字符可以是字符集中的任意字符
单引号中的字符不能是单引号(')和反斜线(\)
②每个字符常量都有一个整数值,就是该数的ASCII码(见附录)
③字符常量区分大小写
对于一些常用但却难以用一般形式表示的不可显示字符,C语言提供了一种特殊形式的字符常量,即用一个转义标识符“\”(反斜线)开头的字符序列,如表(转义字符及其含义):
转义字符及其含义转义字符含义ASCⅡ码值(十进制)
\a响铃(BEL)007
\b退格(不换行)008
\f走纸换页(FF)012
\n换行010
\r回车(CR)013
\t横向跳格(即跳到下一个输出区,占8列)009
\v竖向跳格(垂直制表)011
\\反斜杠字符“\”092
\?问号字符063
\'单引号(撇号)字符039
\"双引号字符034
\0空字符(NULL)000
\ddd1到3位八进制数所代表的字符
\xhh1到2位十六进制数所代表的字符
变量
计算机内存经常需要改变的数据
内存如何存放数据或指令
变量是指其值可以变化的量,计算机中指令代码,数据都存储在内存中,变量也需要存储在内存中。计算机为每个变量都分配了一块内存空间,在这些空间里面存储的就是变量的值,变量之所以可以变化,就是存储空间可以存储不同的数值,存储空间里面的值发生变化,则变量对应的值也发生变化,同一个时间内,内存空间只能保存一份值,新值冲掉了原来的值。每个内存单元都有编号,这些编号就是内存的地址。