
2.2.1 常量
在程序执行过程中,其值不发生改变的量称为常量。程序中,能够从字面上看出数值的常量称为字面常量或直接常量。
1.直接常量
(1)整型常量,如18、0、-361。
(2)实型常量,如3.9、-4.84。
(3)字符常量:用一对单引号括起来的1个字符称为字符常量。如'a''8'。
(4)字符串常量:用一对双引号括起来的零个或多个字符序列称为字符串。例如"Gansu""Hello world"。字符串的长度是指该字符串的字符个数,不包括双引号。
2.符号常量
符号常量是指用一个标识符代表的一个常量。符号常量在使用之前必须先定义,其一般形式为:
#define 标识符 常量
其中#define是一条预处理命令(预处理命令都以“#”开头),称为宏定义命令,其功能是把标识符定义为其后的常量值。一经定义,在程序中所有出现标识符的地方均以常量值代替。例如:
#define MAXSIZE 225
在程序中出现MAXSIZE(宏定义标识符一般使用大写)就代表255这个常量。符号常量的值在其作用域内不能改变,也不能再被赋值。习惯上符号常量的标识符用大写字母,符号常量的使用使程序的修改做到“一改全改”。一个#define命令只能定义一个符号常量,且用一行书写,不能用分号结尾。
常量示例如表2.2所示。
表2.2 常量示例

【例2.1】符号常量的使用。

运行结果如图2.2所示。

图2.2 例2.1运行结果
使用符号常量的好处:
(1)含义清楚,如上例,见名知义,看到PRICE就知道它代表价格。
(2)在需要改变一个常量时,可以做到“一改全改”。例如在程序中多处用到某物品的价格,如果价格用常数表示,则在价格调整时,就需要逐一去修改每一处,若用符号常量PRICE代表价格,只需改动一处即可。如上例中“#define PRICE 35”改为“#define PRICE 40”,则程序中所有以PRICE代表的价格就会一律自动改为40。