C++常量和变量

梦想不会自己发光,真正闪耀的是那个为梦狂奔的你。献给知行的孩子们!(Eric.He著)


  本教程将从 C++ 关键字、标识符、常量、变量的核心概念出发,详细讲解常量的分类与定义、变量的定义规则,帮助你掌握 C++ 编程中最基础的数值存储与表示方式。

教程目录导航

一、核心基础概念

1.1 关键字

关键字(Keyword)是 C++ 语言预先定义、具有特殊含义的保留字,不能作为标识符使用(如变量名、函数名等)。关键字是构成 C++ 语法规则的基础,编译器会根据关键字识别代码的语义。

常见 C++ 基础关键字示例:

注意:C++ 关键字区分大小写,例如 int 是关键字,而 IntINT 不是。

1.2 标识符

标识符(Identifier)是程序员自定义的名称,用于标识变量、常量、函数、类、结构体等程序元素。简单来说,标识符就是编程中给各种“元素”起的名字。

例如:定义变量 int age = 18; 中,age 就是标识符;定义常量 const float PI = 3.14; 中,PI 也是标识符。

1.3 常量概念

常量(Constant)是程序运行过程中值不能被修改的量,代表固定不变的数值或字符。常量在定义时必须初始化,且初始化后无法更改。

例如:圆周率 3.14、数字 100、字符 'A' 都是常量;通过 const 定义的 const int MAX = 100; 中,MAX 也是常量(值固定为100)。

1.4 变量概念

变量(Variable)是程序运行过程中值可以被修改的量,用于存储程序运行时的临时数据。变量本质上是内存中的一块存储空间,通过变量名可以访问和修改这块空间中的值。

例如:定义 int score = 90; 后,可通过 score = 95; 修改其值,score 就是变量。

二、常量的定义与分类

2.1 符号常量的定义

一个常量可以直接使用(如:123,'A'),也可以给常量取个名字用一个标识符代表它,这就是符号常量

格式:const 数据类型 符号常量 = 常量字串;

例如:const double PI = 3.14159;

实例中的PI代表常量3.14159,在编译源程序时,遇到PI就用常量3.14159代替,PI可以和常量一样进行运算。符号常量只能在定义时赋值,以后不能被再赋值。

习惯上,符号常量名用大写,而变量名用小写,以便于区别。

使用符号常量的好处:

2.2 整数符号常量(十进制/八进制/十六进制)

整数常量是没有小数部分的数值常量,C++ 支持十进制、八进制、十六进制三种表示形式:

进制类型 标识 取值范围 示例
十进制 无前缀,由 0-9 组成(不能以0开头) 0-9、正负整数 123、-45、0、999
八进制 以 0 为前缀,由 0-7 组成 0-7 组成的数字 012(对应十进制10)、077(对应十进制63)
十六进制 以 0x/0X 为前缀,由 0-9、a-f/A-F 组成 0-9、a-f(大小写均可) 0x1A(对应十进制26)、0XFF(对应十进制255)

整数常量示例代码:


#include <iostream>
using namespace std;

int main() {
    // 十进制整数常量
    const int DECNUM = 123;
    // 八进制整数常量(0前缀)
    const int OCTNUM = 012;
    // 十六进制整数常量(0x前缀)
    const int HEXNUM = 0x1A;
    
    cout << "十进制 123 = " << DECNUM << endl;
    cout << "八进制 012 = " << OCTNUM << "(十进制)" << endl;
    cout << "十六进制 0x1A = " << HEXNUM << "(十进制)" << endl;
    
    return 0;
}
            

输出结果:

十进制 123 = 123
八进制 012 = 10(十进制)
十六进制 0x1A = 26(十进制)
            

2.3 实型符号常量

实型常量(浮点型常量)是带有小数部分的数值常量,C++ 支持小数形式科学计数法形式两种表示方式:

实型常量示例代码:


#include <iostream>
using namespace std;

int main() {
    // 小数形式实型常量
    const float NUM1 = 3.14f;
    const double NUM2 = 0.5;
    // 科学计数法形式实型常量
    const double NUM3 = 1.23E-3;
    
    cout << "3.14f = " << NUM1 << endl;
    cout << "0.5 = " << NUM2 << endl;
    cout << "1.23E-3 = " << NUM3 << endl;
    
    return 0;
}
            

输出结果:

3.14f = 3.14
0.5 = 0.5
1.23E-3 = 0.00123
            

注意:定义 float 类型常量时,建议在数值后加 f(如 3.14f),否则编译器会默认将实型常量视为 double 类型。

2.4 字符符号常量

字符常量是用单引号 ' ' 包裹的单个字符,C++ 中字符常量分为普通字符常量转义字符常量

类型 格式 示例 说明
普通字符常量 单引号包裹单个字符 'A'、'5'、'+'、' ' 包含字母、数字、符号、空格等
转义字符常量 以 \ 开头的特殊字符 '\n'、'\t'、'\\'、'\'' 表示不可打印或特殊含义的字符

常见转义字符对照表:

字符常量示例代码:


#include <iostream>
using namespace std;

int main() {
    // 普通字符常量
    const char CH1 = 'A';
    const char CH2 = '5';
    const char CH3 = ' ';
    // 转义字符常量
    const char CH4 = '\n';
    const char CH5 = '\t';
    
    cout << "字符A:" << CH1 << endl;
    cout << "数字5:" << CH2 << CH4; // 输出5后换行
    cout << "制表符:" << CH5 << "制表后内容" << endl;
    cout << "反斜杠:" << '\\' << endl;
    
    return 0;
}
            

输出结果:

字符A:A
数字5:5
制表符:    制表后内容
反斜杠:\
            

三、变量的定义

3.1 变量的定义

变量 代表了一个存储单元,其中的值是可以改变的,因此称为变量。

一个程序中可能要使用到若干个变量,为了区别不同的变量,必须给每天个变量取一个名,称为变量名,该变量存储的值称为变量值,变量中能够存储值的类型为变量的数据类型

格式1:数据类型 变量名;

例如:int age; //表示能存储年龄的变量

格式2:数据类型 变量名 = 变量值;

例如:int age = 18; //表示能存储年龄的变量,初始变量值为18

格式3:数据类型 变量名列表;

例如:int age,height,weight; //表示定义三个变量分别用于存储年龄、身高、体重。

格式4:数据类型 变量名1=变量值1,变量名2=变量值2,......,变量名n=变量值n;

例如:int age=18,height=180,weight=140; //表示定义三个变量分别用于存储年龄、身高、体重,初始变量值分别为18,180,140。

3.2 变量的数据类型

变量的数据类型决定了变量占用的内存大小、可存储的数据范围,以及能进行的运算。C++ 核心变量的数据类型分为以下几类(后续有专门教程详细讲解):

不同类型变量定义示例:


// 整型变量
int num = 100;
// 浮点型变量
float pi = 3.14f;
double price = 99.99;
// 字符型变量
char ch = 'B';
// 布尔型变量
bool isPass = true;
            

3.3 变量名与标识符命名规则

变量名是标识变量的标识符,是程序员给变量起的“名字”,用于访问内存中的存储值。变量名的定义需遵循标识符命名规则(见3.3),且应做到“见名知意”。

规范的变量名示例:


// 见名知意的变量名
int age = 18;        // 年龄
float height = 1.75f;// 身高
char gender = 'M';   // 性别
string name = "张三";// 姓名
            

不规范的变量名示例(不推荐):


// 无意义的变量名,可读性差
int a = 18;
float b = 1.75f;
char c = 'M';
            

变量名、常量名、函数名等所有标识符的命名必须遵循以下规则,否则编译器会报错:

合法标识符 非法标识符 非法原因
age、_score、stu_name、Num123 123num 以数字开头
PI、MAX_VALUE、getAge int、float、if 使用关键字
height_cm、is_valid height-cm、stu name 包含减号、空格等非法字符

合法与非法变量名示例:


#include <iostream>
using namespace std;

int main() {
    // 合法变量名
    int age = 18;
    int _score = 90;
    int stuName = 85;
    // 非法变量名(以下代码会报错)
    // int 123age = 75; // 以数字开头
    // int int = 60;    // 使用关键字
    // int stu-name = 88;// 包含非法字符(减号)
    
    cout << "年龄:" << age << endl;
    return 0;
}
            

四、注意事项

五、总结

常量和变量是 C++ 编程的基础,掌握其定义、分类和使用规则,是编写正确、规范 C++ 代码的第一步。后续教程将深入讲解变量类型、类型转换等进阶内容。


返回顶部