深入理解 C++ 字面量

在 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++ 中的浮点型字面量是表示带有小数部分的数值。它们可以是单精度或双精度值。

与整型字面量类似,浮点型字面量也可以通过使用后缀 df 分别定义为 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;
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/50792.html
点赞
0.00 平均评分 (0% 分数) - 0