当前位置:首页 > C++目录 > 正文内容

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
分享给朋友:
返回列表

上一篇:最小生成树—Prim(普里姆)算法

没有最新的文章了...

相关文章

编写第一个C++程序

编写第一个C++程序

前面的文章介绍了Dev-C++的下载安装:【入门篇】>>> DEVC++下载、安装、简单使用 - 青少年编程知识记录 (codecoming.com)今天讲一下如何使用Dev-C++...

【题解】均分纸牌

【题目描述】有n堆纸牌,编号分别为 1,2,…, n。每堆上有若干张,但纸牌总数必为n的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为1的堆上取的纸牌,只能移到编号为 2 的堆上;在...

STL入门——简单介绍

一、STL是什么?    STL(Standard Template Library)即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ S...

拓扑排序

拓扑排序

一、定义对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则...

【数据结构】栈(Stack)的介绍

栈是只能在某一端插入和删除的特殊线性表。栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一端称栈底。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表(LIF...

【C++图形化编程】鼠标函数及鼠标画板

【C++图形化编程】鼠标函数及鼠标画板

0.前言这篇文章简单介绍一下利用鼠标画图的程序#include<graphics.h> #include<conio.h> int main(){ initg...