C++ 变量、字面量和常量
- 变量存储数据:在编程中,变量是用来 存储数据的容器,需要有唯一的名字(标识符)。
- 字面量表示固定值:字面量用于表示代码中的固定值,如整数、浮点数、字符等,不能被重新赋予不同的值。
- 常量值不可改变:使用
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++ 字面量
字面量是用于表示固定值的数据。它们可以直接在代码中使用。例如:1
、2.5
、'c'
等。
这里,1
、2.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++ 宏教程中详细了解它。