在 C++ 编程语言中,字面量 是表示固定值的基本元素。这些值可以包括数字、字符、字符串等。它们通常作为赋值操作中的右操作数出现。
例如:
#include
using namespace std;
int main() {
// 将整数值赋给整型变量
int val = 22;
cout << val << endl;
cout << 22 << endl;
// 赋一个新值
val = 6;
cout << val << endl;
cout << 22;
return 0;
}
输出:
22
22
6
22
解释: 在上面的例子中,我们首先将值 22 赋给了变量 val。这个值就是一个整型字面量。在程序的后续部分中,val 的值可能会改变,但无论在哪里使用,整型字面量 22 将始终代表自然数 22。
C++ 支持各种类型的字面量来表示不同数据类型的值。在本文中,我们将讨论关于 C++ 字面量及其用法的所有必要信息。
!<a href="https://media.geeksforgeeks.org/wp-content/uploads/20260103122853223088/cliterals.webp">cliterals
C++ 中字面量的类型
根据它们所表示的信息类型,C++ 中的字面量主要分为五种类型:
1. 整型字面量
C++ 中的整型字面量是表示没有小数或小数部分的整数(即整数)的值。它们可以是正数或负数,并且可以具有不同的基数,如十进制、八进制或十六进制。在 C++ 中,整型字面量可以根据其基数分为各种类型。
1. 十进制字面量 (无前缀): 十进制字面量表示以 10 为基数的整数,没有任何前缀。
#include
using namespace std;
int main() {
int dec= 42;
cout << dec << endl;
return 0;
}
输出:
42
2. 八进制字面量 (前缀:0): 八进制字面量表示以 8 为基数的整数,前面带有前缀 0。
#include
using namespace std;
int main() {
int oct= 052;
cout << oct << endl;
return 0;
}
输出:
42
3. 十六进制字面量 (前缀:0x 或 0X): 十六进制字面量表示以 16 为基数的整数,前面带有 0x 或 0X 前缀。
#include
using namespace std;
int main() {
int hex= 0x2A;
cout << hex << endl;
return 0;
}
输出:
42
4. 二进制字面量 (前缀:0b 或 0B): 二进制字面量表示以 2 为基数的整数,可以使用 0b 或 0B 作为前缀。
#include
using namespace std;
int main() {
int bin= 0b101010;
cout << bin << endl;
return 0;
}
输出:
42
5. 长整型字面量 (后缀:l 或 L): 长整型字面量可以带有后缀 l 或 L,以表明它是 long int 类型。
#include
using namespace std;
int main() {
long int lint= 42L;
cout << lint << endl;
return 0;
}
输出:
42
6. 无符号整型字面量 (后缀:u 或 U): 无符号整型字面量可以带有后缀 u 或 U,以表明它是 unsigned int 类型。
#include
using namespace std;
int main() {
unsigned int uint= 42U;
cout << uint << endl;
return 0;
}
输出:
42
7. 长长整型字面量 (后缀:ll 或 LL): 长长整型字面量可以带有后缀 ll 或 LL,以表明它是 long long int 类型。
#include
using namespace std;
int main() {
long long int llint= 42LL;
cout << llint << endl;
return 0;
}
输出:
42
2. 浮点型字面量
C++ 中的浮点型字面量是表示带有小数部分的数值。它们可以是单精度或双精度值。
与整型字面量类似,浮点型字面量也可以通过使用后缀 d 和 f 分别定义为 double 或 float 类型。默认情况下,如果未指定,C++ 编译器会将所有小数视为 double 类型。
1. 浮点数字面量 (后缀:f 或 F): 我们可以通过在小数值后添加 f 或 F 作为后缀来指定浮点数字面量。
#include
using namespace std;
int main() {
float f = 3.14f;
cout << f << endl;
return 0;
}
输出:
3.14
2. 双精度浮点数字面量 (后缀:d 或 D): 双精度浮点数字面量是小数值的默认字面量,但也可以手动指定。
#include
using namespace std;
int main() {
double d = 3.14;
cout << d << endl;
return 0;
}