青少年编程知识记录 codecoming

C++ 中的常量

一、说明

常量和变量是相对的概念 —— 变量是 “能变化的量”,而常量就是一旦定义就固定不变、不能修改的值。



用生活里的例子类比,你就能秒懂为什么需要常量:本质是 “给固定不变的东西贴‘只读标签’,避免误改、保证数据一致性”,没有这玩意儿,关键的固定值容易被意外修改,导致程序出错。



例子 1:身份证号(固定唯一的核心数据)



【没有常量的情况】:如果把身份证号存在普通本子上(变量),不小心写错成别人的号码,去办业务就会出错;要是多人共用这个本子,还可能被其他人随意涂改。

【有常量的情况】:把身份证号印在身份证卡片上(常量),卡片上的号码无法修改,无论谁用、什么时候用,都是同一个正确的号码 —— 这就是常量的 “不可修改性”,保证核心固定数据不被篡改。

例子 2:教室的固定座位号(不可更改的标识)



【没有常量的情况】:学生随便改座位号,上课点名时 “3 号座位” 可能坐的是 8 号同学,秩序全乱。【有常量的情况】:座位号用刻字或固定贴纸(常量),不能随意涂改,老师点 3 号座位就一定能找到对应的同学 —— 常量就是程序里 “刻死” 的固定值,不会被意外修改。

例子 3:数学中的 π(固定不变的常量)



【没有常量的情况】:每次计算都手写 3.14,有时写成 3.1415,有时写成 3.1,计算结果偏差大。

【有常量的情况】:定义一个常量 PI=3.1415926,所有计算都用这个常量,不管算多少个圆的面积,π 的值都不变,结果精准。

核心总结:



生活里的“不可修改的标签 固定标识”(身份证号、座位号、π),对应程序里的 “常量”—— 没有它们,固定不变的核心数据容易被误改,导致程序逻辑混乱、结果出错;

有了常量,能保证固定值的唯一性和不可修改性,让程序更稳定。

二、常量

常量就是值固定不变的量,特点是 “从一而终”,一旦定义赋值,就不能再修改。
常量的使用同样由类型决定(和变量类型一致,如 int、double、char 等),C++ 中定义常量主要有两种常用方式:

1. 使用const关键字定义(推荐)



语法格式:

const 数据类型说明符 常量名 = 常量值;
  • const是关键字,必须写在最前面

  • 常量名命名规则和变量一致,通常全大写(约定俗成,方便区分)

  • 必须定义时赋初值,不能先定义后赋值

2. 使用#define预处理指令定义



语法格式:
#define 常量名 常量值
  • 没有数据类型,也没有分号结尾

  • 本质是 “文本替换”,预处理阶段替换代码中所有对应常量名

3. 常量定义与使用的代码示例



示例 1:const 关键字定义常量

#include<iostream>   using namespace std;  int main(){      const int MAX_SCORE = 100;      const double PI = 3.1415926;      const char DEFAULT_CHAR = 'A';      const bool IS_OPEN = true;      const string GREETING = "Hello World";            cout << "满分:" << MAX_SCORE << endl;      cout << "圆周率:" << PI << endl;      cout << "默认字符:" << DEFAULT_CHAR << endl;      cout << "是否开启:" << IS_OPEN << endl;      cout << "问候语:" << GREETING << endl;            // MAX_SCORE = 90;  编译报错,const常量不能修改      // PI = 3.14;       编译报错            return 0;  }

输出结果:

满分:100  圆周率:3.14159  默认字符:A  是否开启:1  问候语:Hello World

示例 2:#define 定义常量

#include<iostream>   using namespace std;    #define MIN_AGE 18  #define TAX_RATE 0.08  #define WARNING "输入错误!"    int main(){      cout << "最小年龄限制:" << MIN_AGE << endl;      cout << "税率:" << TAX_RATE << endl;      cout << "提示信息:" << WARNING << endl;            // MIN_AGE = 20;  编译报错            return 0;  }

输出结果:

最小年龄限制:18  税率:0.08  提示信息:输入错误!

4. 常量使用的关键注意事项

常量必须先定义后使用,未定义直接使用会编译报错;

const常量有数据类型,编译器会做类型检查(更安全);

#define常量无类型,仅文本替换;

常量名通常全大写,方便区分变量;

关键字不能作为常量名。

5. 总结

常量是值固定不变的量,核心特点是 “不可修改”;

定义方式:const 类型 常量名=值(推荐)、#define 常量名值

常量必须定义时赋初值,命名遵循变量规则,通常全大写。




标签: 常量const

作者:亿万年的星光 分类:C++目录 浏览: