目录
常量(Constant)
宏常量(Macro Constant)
const常量编辑
常量(Constant)
在程序中不能改变其值的量
包括:
整形(如:89,22……)
*默认为int
实型(如3.14,1.3e-5……)
*默认为double
字符型(如'z','3','$'……)
字符串(如"UKM","323"……)
枚举型
计算圆的面积和周长
在程序中直接使用的常数,称为幻数(Magic Number)
问题:使用幻数存在什么问题?
*程序的可读性变差
*容易发生书写错误,产生不一致性
*当常数需要改变时,要修改所有引用它的代码,繁琐,还可能有遗漏
问题:如何避免在程序中使用幻数?
良好的程序设计风格建议把幻数定义为
*宏常量
*const常量
优点
*减少重复书写常数的工作量
*提高程序的可读性和可维护性
宏常量(Macro Constant)
用一个标识符号来表示的常量
宏定义(Macro Constant)
#define 标识符 字符串
#:编译预处理命令——在源程序编译之前,先对程序中的编译预处理命令进行处理然后将处理的结果和源程序一起进行编译,以得到目标代码
标识符:符号常量(Symbolic Constant)
宏名(Macro Name),一般全大写
字符串(如3.12159):不区分数据类型
计算圆的周长和面积
问题:宏常量存在的问题是什么?
*没有数据类型,编译器在宏替换时不进行类型检查
*只进行简单的字符串替换,极易产生意想不到的错误
问题:能否声明具有某种数据类型的常量呢?
const常量
问题:const常量与宏常量相比的有点是什么?
-const常量有数据类型,编译器能对其进行类型检查
-某些集成化调试工具可以对const常量进行调试