- C++ 基础
- C++ 首页
- C++ 概述
- C++ 环境设置
- C++ 基本语法
- C++ 注释
- C++ Hello World
- C++ 省略命名空间
- C++ 常量/字面量
- C++ 关键字
- C++ 标识符
- C++ 数据类型
- C++ 数值数据类型
- C++ 字符数据类型
- C++ 布尔数据类型
- C++ 变量类型
- C++ 变量作用域
- C++ 多个变量
- C++ 基本输入/输出
- C++ 修饰符类型
- C++ 存储类
- C++ 运算符
- C++ 数字
- C++ 枚举
- C++ 引用
- C++ 日期和时间
- C++ 控制语句
- C++ 决策
- C++ if 语句
- C++ if else 语句
- C++ 嵌套 if 语句
- C++ switch 语句
- C++ 嵌套 switch 语句
- C++ 循环类型
- C++ while 循环
- C++ for 循环
- C++ do while 循环
- C++ foreach 循环
- C++ 嵌套循环
- C++ break 语句
- C++ continue 语句
- C++ goto 语句
- C++ 构造函数
- C++ 构造函数和析构函数
- C++ 复制构造函数
C++ 常量/字面量
常量是指程序不能更改的固定值,它们被称为字面量。
常量可以是任何基本数据类型,可以分为整数字面量、浮点字面量、字符、字符串和布尔值。
同样,常量就像普通的变量一样,只是它们的值在定义后不能修改。
整数字面量
整数字面量可以是十进制、八进制或十六进制常量。前缀指定基数或基:十六进制为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
浮点字面量
浮点字面量包含整数部分、小数点、小数部分和指数部分。您可以使用十进制形式或指数形式表示浮点字面量。
使用十进制形式表示时,必须包含小数点、指数或两者;使用指数形式表示时,必须包含整数部分、小数部分或两者。带符号的指数由e或E引入。
以下是一些浮点字面量的示例:
3.14159 // Legal 314159E-5L // Legal 510E // Illegal: incomplete exponent 210f // Illegal: no decimal or exponent .e55 // Illegal: missing integer or fraction
布尔字面量
有两个布尔字面量,它们是标准 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 . . . | 一位或多位十六进制数 |
示例
以下示例显示了一些转义序列字符:
#include <iostream> using namespace std; int main() { cout << "Hello\tWorld\n\n"; return 0; }
编译并运行上述代码后,将产生以下结果:
Hello World
字符串字面量
字符串字面量用双引号括起来。字符串包含的字符类似于字符字面量:普通字符、转义序列和通用字符。
您可以使用字符串字面量将长行分成多行,并使用空格分隔它们。
以下是一些字符串字面量的示例。这三种形式都是相同的字符串。
"hello, dear" "hello, \ dear" "hello, " "d" "ear"
定义常量
在 C++ 中,有两种简单的方法可以定义常量:
使用#define预处理器。
使用const关键字。
#define 预处理器
以下是使用 #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
const 关键字
您可以使用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
请注意,良好的编程习惯是将常量定义为大写。