多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
#### 6. 常量 常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做**字面量**。 **整数常量:** 整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。 整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。 下面列举几个整数常量的实例: ~~~ 212 // 合法的 215u // 合法的 0xFeeL // 合法的 078 // 非法的:8 不是八进制的数字 032UU // 非法的:不能重复后缀 85 // 十进制 0213 // 八进制 0x4b // 十六进制 30 // 整数 30u // 无符号整数 30l // 长整数 30ul // 无符号长整数 复制代码 ~~~ **浮点常量:** 浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。 当使用小数形式表示时,必须包含整数部分、小数部分,或同时包含两者。当使用指数形式表示时, 必须包含小数点、指数,或同时包含两者。带符号的指数是用 e 或 E 引入的。 下面列举几个浮点常量的实例: ~~~ 3.14159 // 合法的 314159E-5L // 合法的 510E // 非法的:不完整的指数 210f // 非法的:没有小数或指数 .e55 // 非法的:缺少整数或分数 复制代码 ~~~ **布尔常量:** 布尔常量共有两个,它们都是标准的 C++ 关键字: * **true** 值代表真。 * **false** 值代表假。 我们不应把 true 的值看成 1,把 false 的值看成 0。 **字符常量:** 字符常量是括在单引号中。如果常量以 L(仅当大写时)开头,则表示它是一个宽字符常量(例如 L'x'),此时它必须存储在 **wchar\_t** 类型的变量中。否则,它就是一个窄字符常量(例如 'x'),此时它可以存储在 **char** 类型的简单变量中。 字符常量可以是一个普通的字符(例如 'x')、一个转义序列(例如 '\\t'),或一个通用的字符(例如 '\\u02C0')。 在 C++ 中,有一些特定的字符,当它们前面有反斜杠时,它们就具有特殊的含义,被用来表示如换行符(\\n)或制表符(\\t)等。下表列出了一些这样的转义序列码: | 转义序列 | 含义 | | --- | --- | | \\ | \\ 字符 | | ' | ' 字符 | | " | " 字符 | | ? | ? 字符 | | \\a | 警报铃声 | | \\b | 退格键 | | \\f | 换页符 | | \\n | 换行符 | | \\r | 回车 | | \\t | 水平制表符 | | \\v | 垂直制表符 | | \\ooo | 一到三位的八进制数 | | \\xhh . . . | 一个或多个数字的十六进制数 | ~~~ void test5() { //字符常量 println("字符常量", "\tC\n+\n+\n"); } 复制代码 ~~~ 输出: > 字符常量 C + + **字符串常量:** 字符串字面值或常量是括在双引号 "" 中的。一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。 您可以使用空格做分隔符,把一个很长的字符串常量进行分行。 下面的实例显示了一些字符串常量。下面这三种形式所显示的字符串是相同的。 ~~~ "hello, World" "hello, \ World" "hello, " "W" "orld" 复制代码 ~~~ **定义常量:** 在 C++ 中,有两种简单的定义常量的方式: * 使用 **#define** 预处理器。 * 使用 **const** 关键字。 ~~~ //定义常量 const,#define #define NAME "DevYK" #define Blog "https://www.devyk.top" const string _NAME = "DevYK", _Blog = "https://www.devyk.top"; void test5() { //打印定义的常量 println("#define 定义常量:", NAME "\t" Blog); //const 定义的常量 const int length = 10, width = 20, height = 30; cout << "const 定义的常量\t" << _NAME << "\t" + _Blog << endl; println("const 定义常量\t", "求 width * height * length = ", length * width * height); } 复制代码 ~~~ 输出: > define 定义常量:DevYK [www.devyk.top](https://www.devyk.top) const 定义的常量 DevYK [www.devyk.top](https://www.devyk.top) const 定义常量 求 width \* height \* length = 6000