C++ 变量、字面量和常量
预计时间: 5分钟
在本教程中,我们将借助示例了解 C++ 中的变量、文字和常量。
C++ 变量
C++语言的变量是保存数据的存储区域。
为了表示存储区域,每个变量都应该有一个唯一的标识符做为名称。例如,
int age = 14;
这里,age
是int
数据类型的变量,我们给它分配了一个整数值 14。
注意:
int
数据类型表明该变量只能保存整数。同理,我们可以使用double
数据类型存储小数和指数。
我们将在下一个教程中详细了解所有数据类型。
之所以称之为变量是因为它的值是可以更改的。
int age = 14; // age is 14
age = 17; // age is 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++语言中需要使用无法键入或具有特殊含义的字符。例如换行(回车)、制表符、问号等。
使用这些字符需要使用转义符。
转义符 | 字符 |
---|---|
\b | 退格 |
\f | 换页 |
\n | 新行 |
\r | 返回 |
\t | 水平 tab |
\v | 垂直 tab |
\\ | 反斜杠 \ |
\' | 单引号 ' |
\" | 双引号 " |
\? | 问号 ? |
\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++ 宏教程中详细了解它。
更新于2021年05月02日