# C 变量，常量和字面值

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

#### 在本教程中，您将学习变量和命名变量的规则。 您还将学习 C 编程中的不同字面值以及如何创建常量。

## 变量

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

为了指示存储区域，应该为每个变量赋予唯一的名称（[标识符](/c-programming/c-keywords-identifier "C Identifiers")）。 变量名称只是存储位置的符号表示。 例如：

```c
int playerScore = 95;
```

在此，`playerScore`是`int`类型的变量。 在此，为变量分配一个整数值`95`。

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

```c
char ch = 'a';
// some code
ch = 'l';
```

* * *

### 变量命名规则

1.  变量名称只能包含字母（大写和小写字母），数字和下划线。
2.  变量的第一个字母应该是字母或下划线。
3.  对于变量名称（标识符）可以使用多长时间没有规定。 但是，如果变量名超过 31 个字符，则在某些编译器中可能会遇到问题。

**注意**：您应始终尝试为变量赋予有意义的名称。 例如：`firstName`是比`fn`更好的变量名。

C 是一种强类型语言。 这意味着变量类型一旦声明就无法更改。 例如：

```c
int number = 5;      // integer variable
number = 5.5;        // error
double number;       // error
```

在此，`number`变量的类型是`int`。 您不能为该变量分配浮点（十进制）值 5.5 。 同样，您不能将变量的数据类型重新定义为`double`。 顺便说一句，要将十进制值存储在 C 中，您需要将其类型声明为`double`或`float`。

访问此页面以了解有关[变量可以存储](/c-programming/c-data-types "C data types")的不同类型数据的更多信息。

* * *

## 字面值

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

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

* * *

### 1.整数

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

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

例如：

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

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

* * *

### 2.浮点字面值

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

```c
-2.0
0.0000234
-0.22E-5
```

**注意**： `E-5 = 10<sup>-5</sup>`

* * *

### 3.字符

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

* * *

### 4.转义序列

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

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

转义序列

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

* * *

例如：`\n`用于换行符。 反斜杠`\`导致编译器无法正常处理字符。

* * *

### 5.字符串字面值

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

```c
"good"                  //string constant
""                     //null string constant
"      "               //string constant of six white space
"x"                    //string constant having a single character.
"Earth is round\n"         //prints string with a newline
```

* * *

## 常量

如果要定义一个不能更改其值的变量，则可以使用`const`关键字。 这将创建一个常数。 例如，

```c
const double PI = 3.14;
```

注意，我们添加了关键字`const`。

在此，`PI`是符号常数。 其值不能更改。

```c
const double PI = 3.14;
PI = 2.9; //Error
```

* * *

您也可以使用`#define`预处理器指令定义常量。 我们将在 [C 宏](/c-programming/c-preprocessor-macros "C Macros")教程中对其进行了解。