跳到主要内容

C++ 变量、字面量和常量

提示
  1. 变量存储数据:在编程中,变量是用来存储数据的容器,需要有唯一的名字(标识符)。
  2. 字面量表示固定值:字面量用于表示代码中的固定值,如整数、浮点数、字符等,不能被重新赋予不同的值。
  3. 常量值不可改变:使用const关键字或#define预处理指令可以创建不可改变的常量,如const int LIGHT_SPEED = 299792458;

C++ 变量

在编程中,变量是用来存储数据的容器(存储区域)。

为了表示存储区域,每个变量应该有一个唯一的名称(标识符)。例如,

int age = 14;

这里,age 是 int 数据类型的变量,我们已经给它赋了一个整数值 14。

注意: int 数据类型表明变量只能存储整数。类似地,如果我们需要存储小数和指数,可以使用 double 数据类型。

我们将在下一个教程中详细学习所有数据类型。

变量的值可以改变,因此得名 变量

int age = 14; // age 现在是 14
age = 17; // age 现在是 17

命名变量的规则

  • 变量名只能包含字母、数字和下划线 _
  • 变量名不能以数字开头。
  • 建议变量名以小写字母开头。例如,name 比 Name 更好。
  • 变量名不能是关键字。例如,int 是用来表示整数的关键字。
  • 变量名可以以下划线开头。然而,这不被认为是一个好习惯。

注意: 我们应该尽量给变量取有意义的名字。例如,first_name 是比 fn 更好的变量名。

C++ 字面量

字面量是用于表示固定值的数据。它们可以直接在代码中使用。例如:12.5'c' 等。

这里,12.5'c' 是字面量。为什么?你不能给这些术语赋予不同的值。

下面是 C++ 编程中不同字面量的列表。

1. 整数

整数是一个数字字面量(与数字相关联),没有任何小数或指数部分。C 编程中有三种类型的整数字面量:

  • 十进制(基数 10)
  • 八进制(基数 8)
  • 十六进制(基数 16)

例如:

十进制:0, -9, 22
八进制:021, 077, 033
十六进制:0x7f, 0x2a, 0x521

在 C++ 编程中,八进制以 0 开头,十六进制以 0x 开头。

2. 浮点数字面量

浮点数字面量是具有分数形式或指数形式的数字字面量。例如:

-2.0

0.0000234

-0.22E-5

注意: E-5 = 10^-5

3. 字符

通过将单个字符放在单引号内,创建字符字面量。例如:'a''m''F''2''}' 等。

4. 转义序列

有时,需要使用无法键入或在 C++ 编程中具有特殊含义的字符。例如,换行(enter)、制表符、问号等。

为了使用这些字符,使用了转义序列。

转义序列字符
\b退格键
\f换页
\n换行
\r回车
\t水平制表符
\v垂直制表符
\\反斜杠
\'单引号
\"双引号
\?问号
\0空字符

5. 字符串字面量

字符串字面量是用双引号括起来的字符序列。例如:

| "good"| 字符串常量 | | ""| 空字符串常量 | | " "| 有六个空白的字符串常量 | | "x"| 有单个字符的字符串常量 | | "Earth is round\n"| 打印带换行符的字符串 |

我们将在 C++ 字符串教程中详细了解字符串。

C++ 常量

在 C++ 中,我们可以创建无法更改值的变量。为此,我们使用 const 关键字。这里有一个例子:

const int LIGHT_SPEED = 299792458;
LIGHT_SPEED = 2500 // 错误!LIGHT_SPEED 是常量。

这里,我们使用了关键字 const 来声明一个名为 LIGHT_SPEED 的常量。如果我们尝试更改 LIGHT_SPEED 的值,我们将会收到一个错误。

也可以使用 #define 预处理器指令来创建常量。我们将在 C++ 宏教程中详细了解它。