C++常量简介

上一节我们介绍了变量,它是一种存储在电脑内存里,在程序中可以改变的数据。然而,有时候我们还会遇到一些数据,它们在程序中不应该被改变。比如圆周率π就应该等于3.1415926……,一年就应该是12个月,在程序中不应改变成其它的值。或者说,如果这些值无意之中被改变,会导致整个程序发生错误。这个时候,我们就需要一个不允许改变的“箱子”,我们称它为常量(Constant)。 

常量可以分为两种,一种是文字常量,也叫值常量,比如整数1,字符’a’就是文字常量;另外一种是需要通过自己定义的常量,它的表达和变量有些类似。

定义一个常量的语法格式为:
    const 常量数据类型常量名=文字常量;


我们可以认为,定义一个常量与定义一个变量的区别是在语句之前加上了const。但是,定义常量的时候必须对其进行初始化,并且在除定义语句以外的任何地方不允许再对该常量赋值。

特别地,如果一个实型文字常量没有做任何说明,那么默认为双精度型数据。若要表示浮点型数据,要在实数之后加上F;若要表示长双精度型数据,则要在实数之后加上L。

在cout语句中,我们说它可以输出字符串,这些带着双引号的字符串的全称是字符串常量,它也是一种文字常量。而带着单引号的常量称为字符常量,它与字符串常量是不同的,字符常量只能是一个字符,而字符串常量则可以是一个字符,也可以由若干个字符组成。

事实上,只要在不人为地改变变量值的情况下,常量可以由一个变量来代替。但是从程序的安全和严谨角度考虑,我们不推荐这样做。区别常量和变量的使用是一个优秀程序员需要具有的好习惯。