亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C 语言常量与字面量完全指南:类型、用法与最佳实践

常量指程序执行期间不得修改的固定值,也称为 字面量。

常量可以是基本数据类型中的任意一种:整数常量、浮点常量、字符常量、字符串字面量。也有枚举常量。

常量像普通变量一样处理,只是定义后值不能修改。

整数字面量

整数字面量可以是十进制、八进制或十六进制常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,无前缀表示十进制。

整数字面量也可以有后缀,由 U 和 L 组合表示 unsigned 和 long。后缀大小写不敏感,顺序任意。

整数字面量示例:

212 /* 合法 */
215u /* 合法 */
0xFeeL /* 合法 */
078 /* 非法:8 非八进制数字 */
032UU /* 非法:不能重复后缀 */

其他各类整数字面量示例:

85 /* 十进制 */
0213 /* 八进制 */
0x4b /* 十六进制 */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */

浮点字面量

浮点字面量包含整数部分、小数点、小数部分、指数部分。可用十进制或指数形式表示。

十进制形式必须包含小数点、指数或两者;指数形式必须包含整数部分、小数部分或两者。有符号指数用 e 或 E 引入。

浮点字面量示例:

3.14159 /* 合法 */
314159E-5L /* 合法 */
510E /* 非法:指数不完整 */
210f /* 非法:无小数点或指数 */
.e55 /* 非法:缺少整数或小数部分 */

字符常量

字符字面量用单引号括起,如 'x' 可存入 char 类型简单变量。

字符字面量可以是普通字符(如 'x')、转义序列(如 '\t')或通用字符(如 '\u02C0')。

C 中某些字符前加反斜杠有特殊含义,如换行 (\n)、制表 (\t)。

演示几个转义序列字符的示例:

在线演示
#include <stdio.h>
int main() {
    printf("Hello\tWorld\n\n");
    return 0;
}

编译执行产生以下结果:

Hello World

字符串字面量

字符串字面量用双引号 "" 括起。字符串包含类似字符字面量的字符:普通字符、转义序列、通用字符。

可用字符串字面量将长行拆分为多行,用空白分隔。

字符串字面量示例,三种形式完全相同:

"hello, dear"
"hello, \ dear"
"hello, " "d" "ear"

定义常量

C 语言定义常量有两种简单方式:

#define 预处理器

使用 #define 定义常量的形式:

#define identifier value

详细示例:

在线演示
#include <stdio.h>
#define LENGTH 10
#define WIDTH 5
#define NEWLINE '\n'
int main() {
    int area;
    area = LENGTH * WIDTH;
    printf("area 的值 : %d", area);
    printf("%c", NEWLINE);
    return 0;
}

编译执行产生以下结果:

area 的值 : 50

const 关键字

可用 const 前缀声明带特定类型的常量:

const type variable = value;

详细示例:

在线演示
#include <stdio.h>
int main() {
    const int LENGTH = 10;
    const int WIDTH = 5;
    const char NEWLINE = '\n';
    int area;
    area = LENGTH * WIDTH;
    printf("area 的值 : %d", area);
    printf("%c", NEWLINE);
    return 0;
}

编译执行产生以下结果:

area 的值 : 50

注意:良好编程习惯是用大写字母定义常量。

C语言

  1. 交流电路中电阻、电感、电容综合总结
  2. C#关键字与标识符:规则、完整列表与最佳实践
  3. C# 类与对象:面向对象编程的基石
  4. 掌握 C# 抽象类与抽象方法:实战指南
  5. 理解 C# 分部类与分部方法
  6. 掌握 C# sealed 类与方法:用法、示例与代码安全性能提升
  7. 掌握 C++ 变量、字面量与常量:核心概念与实战指南
  8. C 语言关键字与标识符完全指南
  9. C 语言变量、常量与字面量完全指南
  10. C 语言变量、数据类型与常量实战指南
  11. C 语言输入输出完全掌握:标准 I/O 与格式化控制
  12. C++常量与字面量完全手册:类型、语法与最佳实践