【C语言】常量的 “前缀和后缀” 大通关!

举报
LuckiBit 发表于 2024/12/05 16:51:22 2024/12/05
【摘要】 在C语言中,常量的前缀和后缀用于明确指定常量的类型和进制系统。前缀主要用于区分不同进制的数字常量,而后缀则用于区分不同类型的整数和浮点数。正确使用前缀和后缀,可以提高代码的可读性和可维护性,确保编译器正确地理解和处理常量。

C 语言常量的前缀和后缀

在 C 语言中,常量(literal)用于表示固定的值,可以是整数、浮点数、字符或字符串。不同的前缀和后缀用于指定常量的类型和格式,帮助编译器理解常量的类型和范围。以下是C语言中常见的常量前缀和后缀及其详细解析。

1. 整型常量

整型常量用于表示整数值。前缀用于指定数值的进制,后缀用于指定常量的类型。

1.1 整型常量的前缀

前缀 全称 说明 示例
无前缀 - 十进制整数 123
0 Octal 八进制整数 075
0x0X Hexadecimal 十六进制整数 0x7F
0b0B Binary 二进制整数 0b1010

示例代码

#include <stdio.h>

int main() {
    int decimal = 123;   // 十进制
    int octal = 075;     // 八进制
    int hex = 0x7F;      // 十六进制
    int binary = 0b1010; // 二进制

    printf("Decimal: %d\n", decimal);
    printf("Octal: %d\n", octal);
    printf("Hex: %d\n", hex);
    printf("Binary: %d\n", binary);

    return 0;
}

输出结果

Decimal: 123
Octal: 61
Hex: 127
Binary: 10

1.2 整型常量的后缀

后缀 全称 说明 示例
Uu Unsigned 无符号整型 123U
Ll Long 长整型 123L
LLll Long Long 长长整型 123LL
UL, uL, Ul, UL Unsigned Long 无符号长整型 123UL
ULL, ull, uLL, Ull Unsigned Long Long 无符号长长整型 123ULL

示例代码

#include <stdio.h>

int main() {
    unsigned int u_decimal = 123U;     // 无符号整型
    long l_decimal = 123L;             // 长整型
    long long ll_decimal = 123LL;      // 长长整型
    unsigned long ul_decimal = 123UL;  // 无符号长整型
    unsigned long long ull_decimal = 123ULL; // 无符号长长整型

    printf("Unsigned Decimal: %u\n", u_decimal);
    printf("Long Decimal: %ld\n", l_decimal);
    printf("Long Long Decimal: %lld\n", ll_decimal);
    printf("Unsigned Long Decimal: %lu\n", ul_decimal);
    printf("Unsigned Long Long Decimal: %llu\n", ull_decimal);

    return 0;
}

输出结果

Unsigned Decimal: 123
Long Decimal: 123
Long Long Decimal: 123
Unsigned Long Decimal: 123
Unsigned Long Long Decimal: 123

2. 浮点型常量

浮点型常量用于表示带小数点的数值。后缀用于指定浮点数的精度。

2.1 浮点型常量的后缀

后缀 全称 说明 示例
Ff Float 单精度浮点型 3.14F
Ll Long Double 扩展精度浮点型 3.14L

示例代码

#include <stdio.h>

int main() {
    float f = 3.14F;    // 单精度浮点型
    double d = 3.14;    // 双精度浮点型
    long double ld = 3.14L; // 扩展精度浮点型

    printf("Float: %f\n", f);
    printf("Double: %f\n", d);
    printf("Long Double: %Lf\n", ld);

    return 0;
}

输出结果

Float: 3.140000
Double: 3.140000
Long Double: 3.140000

3. 字符型和字符串型常量

字符型常量和字符串型常量用于表示字符和字符串值。它们没有前缀和后缀。

3.1 字符型常量

字符型常量用单引号包围,表示单个字符的 ASCII 码值。

示例代码

#include <stdio.h>

int main() {
    char c = 'A';    // 字符型常量

    printf("Character: %c\n", c);
    printf("ASCII Value: %d\n", c);

    return 0;
}

输出结果

Character: A
ASCII Value: 65

3.2 字符串型常量

字符串型常量用双引号包围,表示一个字符数组,末尾自动包含一个 null 终止符 \0

示例代码

#include <stdio.h>

int main() {
    const char* str = "Hello"; // 字符串型常量

    printf("String: %s\n", str);

    return 0;
}

输出结果

String: Hello

表格总结

类型 前缀 后缀 全称 说明 示例
整型常量 无前缀 Uu Unsigned 无符号整型 123U
Ll Long 长整型 123L
LLll Long Long 长长整型 123LL
UL, uL, Ul, UL Unsigned Long 无符号长整型 123UL
ULL, ull, uLL, Ull Unsigned Long Long 无符号长长整型 123ULL
0 - Octal 八进制整数 075
0x0X - Hexadecimal 十六进制整数 0x7F
0b0B - Binary 二进制整数 0b1010
浮点型常量 - Ff Float 单精度浮点型 3.14F
- Ll Long Double 扩展精度浮点型 3.14L
字符型常量 无前缀 - - 单个字符,ASCII 码值 'A'
字符串型常量 无前缀 - - 字符数组,末尾包含 \0 终止符 "Hello"

5. 总结

在C语言中,常量的前缀和后缀用于明确指定常量的类型和进制系统。前缀主要用于区分不同进制的数字常量,而后缀则用于区分不同类型的整数和浮点数。正确使用前缀和后缀,可以提高代码的可读性和可维护性,确保编译器正确地理解和处理常量。

6. 参考文献

  • Kernighan, Brian W., and Dennis M. Ritchie. The C Programming Language. Prentice Hall, 1988.
  • Prata, Stephen. C Primer Plus. Addison-Wesley Professional, 2013.
  • ISO/IEC 9899:2018, Information technology – Programming languages – C.
  • ISO/IEC. (2024). ISO/IEC DIS 9899. Programming Languages – C.

7. 结束语

  1. 本节内容已经全部介绍完毕,希望通过这篇文章,大家对C语言中常量的前缀和后缀有了更深入的理解和认识。
  2. 感谢各位的阅读和支持,如果觉得这篇文章对你有帮助,请不要吝惜你的点赞和评论,这对我们非常重要。再次感谢大家的关注和支持
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。