![程序设计与问题求解:C语言](https://wfqqreader-1252317822.image.myqcloud.com/cover/147/53256147/b_53256147.jpg)
上QQ阅读APP看书,第一时间看更新
2.2.1 常量
在程序执行过程中,其值不能被改变的量称为常量。常量可分为不同的类型,如12、0、-7为整型常量,3.14、-2.8为实型常量,'a'、'b'、'c'则为字符常量。常量即为常数,一般从其字面形式即可判别。这种常量称为直接常量。
有时为了使程序更加清晰、可读性强、便于修改,会用一个标识符来代表常量,即给某个常量取个有意义的名称,这种常量称为符号常量。
符号常量在使用之前必须先定义,其一般形式如下:
#define 标识符 常量
其中#define是一条预处理命令(预处理命令都以“#”开头),称为宏定义命令,其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。
例2.3 符号常量的使用。
程序代码如下:
#define PI 3.14 #include <stdio.h> int main(){ float area, r; r = 10; area = PI* r * r; printf("area=%f\n", area); return 0; }
说明:
该程序的功能是计算圆面积。程序中用#define命令行定义了符号常量PI,其值为圆周率3.14,此后凡在文件中出现的PI都代表圆周率3.14,它可以与常量一样进行运算。
注意,符号常量也是常量,它的值在其作用域内不能改变,也不能再被赋值。例如,下面试图给符号常量PI赋值的语句是错误的。
PI = 20; //错误!
为了区别程序中的符号常量名与变量名,习惯上用大写字母命名符号常量,而用小写字母命名变量。
使用符号常量的好处如下。
(1)含义清楚。如上面的程序中,看程序时从PI就可知道它代表圆周率。因此,定义符号常量名时应考虑“见名知意”。
(2)在需要改变一个常量时能做到“一改全改”。例如,在程序中需多处用到圆周率,若用常数表示,则在圆周率小数位数调整时就需要在程序中做多处修改;若用符号常量PI代表圆周率,只需改动一处即可。例如:
#define PI 3.14159
在程序中所有以PI代表的圆周率就会一律自动改为3.14159。