设为首页 加入收藏

TOP

2.5.3 为常量命名
2013-10-07 14:57:35 来源: 作者: 【 】 浏览:62
Tags:2.5.3 常量 命名

2.5.3  为常量命名

计算机程序中的数字存在两个问题。第一是它们不好记。例如,数字10在程序中出现时,不能就其含义传达任何有意义的信息。例如,在一个银行程序中,10既可能是分行的数量,也可能是总行的出纳窗口的数量。要想理解程序,就需要知道每个常量的含义。第二个问题是,程序需要更改部分数字时,更改可能出错。假定数字10在上述银行程序中出现了12次,其中4次代表分行数,另外8次代表总行出纳窗口数。一旦银行开设一个新的分行,并需要更新该程序,有的10可能需要变成11,有的根本不能改动。为了避免这些问题,一个办法是为每个数字命名,在程序中使用名称而不是数字本身。例如,可在银行程序中包含两个常量,分别命名为BRANCH_COUNT(分行数)和WINDOW_COUNT(窗口数)。这两个数字的值可能都为10,但在开始设立新的分行时,为了更新程序,只需更改BRANCH_COUNT的定义就可以了。

如何命名C++(www.cppentry.com)程序中的数字呢?一个办法是将变量初始化为那个数字,示例如下:

  1. int BRANCH_COUNT = 10;  
  2. int WINDOW_COUNT = 10

但是,以这种方式命名数字常量也有问题:你可能会不小心更改了上述变量的值。C++(www.cppentry.com)提供了一种方式来标记初始化好的变量,使其不能更改。程序试图更改这种变量,就会出错。要标记一个不能更改的变量,请在变量声明之前添加单词const(constant的缩写)。例如:
  1. const int BRANCH_COUNT = 10;  
  2. const int WINDOW_COUNT = 10

如果变量为同一类型,可将以上两行合并为一个声明,如下所示:
  1. const int BRANCH_COUNT = 10WINDOW_COUNT = 10

  1. const Type_Name Variable_Name = Constant

示例
  1. const int MAX_TRIES = 3;  
  2. const double PI = 3.14159;  

自测题

35.以下if-else语句能正常编译和运行。但是,它的布局与我们在其他程序中使用的其他if-else语句不一致。请重写它,使它的布局(缩进和换行)与本章采用的风格相匹配:

  1. if (x < 0) {x = 7; cout << "x is now positive.";}  
  2. else {x = -7; cout << "x is now negative.";} 

36.以下两行语句的输出是什么(假定已把它们嵌入一个完整和正确的程序)?
  1. // cout << "Hello from";  
  2. cout << "Self-Test Exercise"; 

37.写一个完整的C++(www.cppentry.com)程序,要求用户输入加仑数(gallon),再输出等价的公升数(liter)。1加仑等于3.78533公升。请使用一个声明常量。这只是练习题,无需在程序中添加任何注释。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.4.8 陷阱:无限循环 下一篇Java学习之路:不走弯路,就是捷径

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: