Cplusplus 简明教程
C++ Constants/Literals
常量指程序可能不会更改的固定值,它们被称为 literals 。
常量可以是任何基本数据类型,可以分为整数、浮点数、字符、字符串和布尔值。
同样,常量与普通变量一样,只是它们的数值在定义后不可修改。
Integer Literals
整数常量可以是十进制、八进制或十六进制常量。前缀指定基数或基数:十六进制的 0x 或 0X、八进制的 0,不指定基数则表示十进制。
整数文本还可以有一个后缀,它是 U 和 L 的组合,分别代表无符号和长。后缀可以是大写或小写,并且可以按任何顺序排列。
以下是整数文本的一些示例:
212 // Legal
215u // Legal
0xFeeL // Legal
078 // Illegal: 8 is not an octal digit
032UU // Illegal: cannot repeat a suffix
以下是一些不同类型整数文本的其他示例:
85 // decimal
0213 // octal
0x4b // hexadecimal
30 // int
30u // unsigned int
30l // long
30ul // unsigned long
Floating-point Literals
浮点文本具有整数部分、小数点、小数部分和指数部分。你可以以十进制形式或指数形式表示浮点数文本。
在使用十进制形式表示时,必须同时包含小数点和指数,而在使用指数形式表示时,必须包含整数部分和小数部分。带符号的指数由 e 或 E 引入。
以下是浮点数文本的一些示例:
3.14159 // Legal
314159E-5L // Legal
510E // Illegal: incomplete exponent
210f // Illegal: no decimal or exponent
.e55 // Illegal: missing integer or fraction
Boolean Literals
有两个布尔文本,它们是标准 C++ 关键字的一部分:
-
一个值 true 表示 true。
-
一个值 false 表示 false。
你不应该认为 true 的值等于 1,而 false 的值等于 0。
Character Literals
字符文本用单引号引起来。如果文本以 L(仅大写)开头,则它是一个宽字符文本(例如,L’x'),并且应存储在 wchar_t 类型变量中。否则,它是一个窄字符文本(例如,'x'),并且可以存储在 char 类型的简单变量中。
字符文本可以是普通字符(例如,'x')、转义序列(例如,'\t')或通用字符(例如,'\u02C0')。
C++ 中的某些字符在它们前面加上反斜杠时将具有特殊含义,并且用于表示换行符(\n)或制表符(\t)。在这里,你有这样一些转义序列代码的列表:
Escape sequence |
Meaning |
|\ character |
\' |
' character |
\" |
" character |
\? |
? character |
\a |
Alert or bell |
\b |
Backspace |
\f |
Form feed |
\n |
Newline |
\r |
Carriage return |
\t |
Horizontal tab |
\v |
Vertical tab |
\ooo |
一个到三个数字的八进制数 |
\xhh . . . |
以下是显示一些转义序列字符的示例:
#include <iostream>
using namespace std;
int main() {
cout << "Hello\tWorld\n\n";
return 0;
}
编译并执行上述代码后,将产生以下结果 −
Hello World
String Literals
字符串文本用双引号引起来。字符串包含与字符文本类似的字符:普通字符、转义序列和通用字符。
你可以使用字符串文本将长行拆分为多行,并使用空格分隔它们。
以下是字符串文本的一些示例。所有这三种形式都是相同的字符串。
"hello, dear"
"hello, \
dear"
"hello, " "d" "ear"
The
以下是使用 #define 预处理程序来定义常量的形式:
#define identifier value
以下示例对此进行了详细说明:
#include <iostream>
using namespace std;
#define LENGTH 10
#define WIDTH 5
#define NEWLINE '\n'
int main() {
int area;
area = LENGTH * WIDTH;
cout << area;
cout << NEWLINE;
return 0;
}
编译并执行上述代码后,将产生以下结果 −
50
The const Keyword
您可以使用 const 前缀来声明具有特定类型的常量,如下所示:
const type variable = value;
以下示例对此进行了详细说明:
#include <iostream>
using namespace std;
int main() {
const int LENGTH = 10;
const int WIDTH = 5;
const char NEWLINE = '\n';
int area;
area = LENGTH * WIDTH;
cout << area;
cout << NEWLINE;
return 0;
}
编译并执行上述代码后,将产生以下结果 −
50
请注意,以大写字母定义常量是一种良好的编程实践。