# C++ 变量，字面值和常量

> 原文： [https://www.programiz.com/cpp-programming/variables-literals](https://www.programiz.com/cpp-programming/variables-literals)

#### 在本教程中，我们将借助示例来学习 C++ 中的变量，字面值和常量。

## C++ 变量

在编程中，变量是用于保存数据的容器（存储区）。

为了指示存储区域，应该为每个变量赋予唯一的名称（标识符）。 例如，

```cpp
int age = 14; 
```

在此，`age`是`int`数据类型的变量，我们为其分配了一个整数值 14。

**注意**：数据类型`int`建议该变量只能容纳整数。 同样，如果必须存储小数和指数，则可以使用`double`数据类型。

在下一个教程中，我们将详细了解所有数据类型。

变量的值可以更改，因此称为**变量**。

```cpp
int age = 14;   // age is 14
age = 17;       // age is 17 
```

* * *

### 变量命名规则

*   变量名称只能包含字母，数字和下划线`_`。
*   变量名不能以数字开头。
*   变量名称不能以大写字母开头。
*   变量名称不能是[关键字](https://www.programiz.com/cpp-programming/keywords-identifiers)。 例如，`int`是用于表示整数的关键字。
*   变量名可以以下划线开头。 但是，这不是一个好习惯。

**注意**：我们应该尝试为变量赋予有意义的名称。 例如，`first_name`是比`fn`更好的变量名。

* * *

## C++ 字面值

字面值是用于表示固定值的数据。 它们可以直接在代码中使用。 例如：`1`，`2.5`，`'c'`等。

这里，`1`，`2.5`和`'c'`是字面值。 为什么？ 您不能为这些术语分配不同的值。

这是 C++ 编程中不同字面值的列表。

* * *

### 1.整数

整数是没有任何小数或指数部分的数字字面值（与数字关联）。 C 编程中有三种类型的整数字面值：

*   十进制（以 10 为底）
*   八进制（以 8 为底）
*   十六进制（以 16 为底）

例如：

```cpp
Decimal: 0, -9, 22 etc
Octal: 021, 077, 033 etc
Hexadecimal: 0x7f, 0x2a, 0x521 etc

```

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

* * *

### 2.浮点字面值

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

`-2.0`

`0.0000234`

`-0.22E-5`

**注意**：`E-5 = 10^-5`

* * *

### 3.字符

通过将单个字符括在单引号内来创建字符字面值。 例如：`'a'`，`'m'`，`'F'`，`'2'`，`'}'`等。

* * *

### 4.转义序列

有时，在 C++ 编程中必须使用不能键入或具有特殊含义的字符。 例如，换行符（输入），制表符，问号等。

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

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

* * *

### 5.字符串字面值

字符串字面值是用双引号引起来的一系列字符。 例如：

| `"good"` | 字符串常数 |
| `""` | 空字符串常量 |
| `" "` | 六个空格的字符串常量 |
| `"x"` | 具有单个字符的字符串常量 |
| `"Earth is round\n"` | 用换行符打印字符串 |

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

* * *

## C++ 常数

在 C++ 中，我们可以创建无法更改其值的变量。 为此，我们使用`const`关键字。 这是一个例子：

```cpp
const int LIGHT_SPEED = 299792458;
LIGHT_SPEED = 2500 // Error! LIGHT_SPEED is a constant. 
```

在这里，我们使用了关键字`const`来声明名为`LIGHT_SPEED`的常量。 如果尝试更改`LIGHT_SPEED`的值，则会出现错误。

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