符号常量

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 常量名 = 值。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注