您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C十十 >> 辅导 >> 正文    
  二级C++精品课程2-5:常量的相关知识 【注册男护士专用博客】          

二级C++精品课程2-5:常量的相关知识

www.nanhushi.com     佚名   不详 

  在进行程序设计时,常常需要常量,例如圆周率π = 3.1416。在需要常量的地方,直接使用常量的数值的方法非常不好,例如:
  //计算圆的面积
  s = 3.1416*r*r;
  ...
  如果我们需要提高计算精度,将π的值改为3.1415927进行计算,我们就不得不将程序中所有的π值从3.1416改为3.1415927,这不仅繁琐,更重要的是很容易出错。
  C++允许定义符号常量,定义常量的一般形式为:
  const 类型 名字 = 值;
  其中,"类型"是指常量的类型,如short、long、double等,"名字" 是指常量的名字,而"值"是指赋给常量的、合适的数据类型的数值。 参看例2-7。
  下面给出一个有常量定义的实例程序,这个程序是打印给定半径的圆的面积和周长。
例题 例2-6:
  void main()
{
 const double PI = 3.1415926535898; //定义圆周率常量PI
 double radius; //定义圆半径变量
 double area; //定义圆面积变量
 double circumference; //定义圆周长变量
 cout << "Enter radius : ";
 cin >> radius;
 area = PI*radius*radius;
 circumference = 2.0*PI*radius;
 cout << "Area of circle of radius " << radius << " is "
 << area << " \n";
 cout << "and its circumference is " << circumference
 << " \n";
}
运行该程序,并输入半径值10.0:
 Enter radius : 10.0↙
则输出结果为:
 Area of circle of radius 10.0 is 314.159
 and its circumference is 62.8319
  常量就是在程序运行过程中其值不发生变化的量。常量可分为直接常量与符号常量。直接常量就是平常我们所说的常数,例如:
  `r` // r为字符型直接常量
  3.1415926 // 3.1415926为双精度直接常量
  符号常量就是用一个标识符代表某个常量。符号常量可用关键字const声明,其格式如下:
  const 数据类型 常量名=常数值;
  例如:
  const int a= 1234; //定义a为整型常量其值为1234
  const char b=`a` //定义b 为字符型常量其值为a
  在程序设计中,尽量使用符号常量来代替常数,这是一种好的编程习惯,这样可以增加程序的可读性、可维护性。例如,在数值计算中,我们会经常遇到一些常量,比如圆周率。如果把它定义成符号常量,当需要更改常量值的时候,只需要更改符号常量的定义语句即可。
  也可以使用预处理语句定义符号常量,例如我们用:
  #define PI 3.14159
  定义符号常量PI,然后在程序中使用PI,跟使用常数3.14159的效果是一样的。编译器在编译时,把符号PI替换成3.14159,当需要修改PI的值时,只需要修改上面的语句即可。但是我们不推荐这样做:因为预定义符号与符号常量不同,在编译时使用常数替代了所有的预定义符号,这样在代码中相应位置实际都是常数。程序中过多的常数会导致程序代码量变大,而且在多个源文件中定义了同样的符号,会产生符号重定义的问题。使用常量优于#define宏,优点在于可指定类型信息。
例题 例2-7:
  const double PI = 3.1415927; //圆周率π
const long number = 49L;
const char TAB = '\t';
const char QUERY = '?';
const double SOMENUM = 1.235E75;

 

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目