07 – 符号常量
一、符号常量的概念
除了前面讲过的直接使用文字表示常量(如 3.14、100、’A’)之外,也可以为常量命名,这就是符号常量。符号常量在使用之前必须先声明。
二、符号常量的声明方式
声明符号常量使用 const 关键字,有两种等效的写法:
写法一:
const 类型 常量名 = 常量值;Code language: JavaScript (javascript)
写法二:
类型 const 常量名 = 常量值;Code language: JavaScript (javascript)
示例:
const float PI = 3.1415926;
double const E = 2.71828;Code language: JavaScript (javascript)
三、符号常量的规则
符号常量在声明的时候必须赋初值,并且在程序运行期间不能再改变它的值。
以下代码是错误的:
const float PI; // 错误:声明时未赋初值
PI = 3.1415926; // 错误:不能给符号常量重新赋值Code language: JavaScript (javascript)
四、使用符号常量的好处
与直接使用文字常量相比,给常量起一个有意义的名字有以下好处:
提高程序可读性。例如用 PI 代替 3.1415926,代码含义一目了然。
便于统一修改。如果程序中多处用到同一个常量值,直接使用文字常量时,一旦需要修改,很容易遗漏或改错。而使用符号常量,只需要修改声明处一处即可,所有使用该常量的地方自动生效。
五、代码示例
以下代码演示了符号常量的声明和使用:
#include <iostream>
using namespace std;
int main()
{
// 声明符号常量
const float PI = 3.1415926f;
const int MAX_SCORE = 100;
const char LEVEL = 'A';
// 使用符号常量
float radius = 5.0f;
float area = PI * radius * radius;
cout << "PI = " << PI << endl;
cout << "radius = " << radius << endl;
cout << "area = " << area << endl;
// 符号常量参与运算
int score = 85;
if (score <= MAX_SCORE)
{
cout << "score is valid" << endl;
}
// 以下语句如果取消注释会导致编译错误
// PI = 3.14f; // 错误:不能修改符号常量
// MAX_SCORE = 200; // 错误:不能修改符号常量
return 0;
}Code language: PHP (php)
六、小结
- 符号常量是用 const 关键字声明的、有名字的常量。
- 声明时必须赋初值,之后不能修改。
- 使用符号常量可以提高程序可读性和可维护性。
- 声明形式有两种:const 类型 常量名 = 值;或 类型 const 常量名 = 值。