1. 前言
在C语言中,常量是不可改变的值,即在程序中定义后,其值无法被修改,与之相对应的是变量,变量值可以在程序运行过程中变化。本文将详细介绍C语言中常量的定义规则。
2. 定义常量
2.1 字面常量
字面常量是一种最简单的常量,其值直接出现在程序中,不需要定义和存储空间。在C语言中,常见的字面常量有以下几种:
整型常量:可以是十进制、八进制、十六进制等表示方式,例如:10、010、0x10。
实型常量:可以是小数形式,例如:3.14。
字符常量:单引号中间的一个字符或者转义字符,例如:'A'、'\n'。
字符串常量:双引号中间的一串字符或者转义字符,例如:"hello world"、"C语言编程"。
例如下面的代码中各种类型的字面常量:
#include<stdio.h>
int main()
{
int a = 10; // 十进制整型常量
int b = 010; // 八进制整型常量,等价于8进制的10,对应十进制的8
int c = 0x10; // 十六进制整型常量,等价于十进制的16
float d = 3.14; // 实型常量
char e = 'A'; // 字符常量
char f[6] = "hello"; // 字符串常量
printf("%d %d %d %.2f %c %s\n", a, b, c, d, e, f);
return 0;
}
以上代码输出:
10 8 16 3.14 A hello
2.2 符号常量
在C语言中,可以使用 #define 预处理指令定义符号常量,其规则为:
#define 常量名 常量值
其中,常量名和常量值之间需要用空格分隔,常量名不能与变量名重名,并且通常使用全部大写字母来区分常量和变量。例如下面的代码定义符号常量:
#include<stdio.h>
#define PI 3.14
int main()
{
double r = 2.5;
double s = PI * r * r; // 使用宏定义的符号常量计算圆面积
printf("圆的面积为:%.2f\n", s);
return 0;
}
以上代码输出:
圆的面积为:19.63
3. const修饰符
在C语言中,还可以使用 const 关键字声明一个常量,其规则为:
const 数据类型 常量名 = 常量值;
其中,const 修饰符用于说明常量是不可更改的,变量名和数据类型的规则与变量定义相同,例如下面的代码定义 const 常量:
#include<stdio.h>
int main()
{
const double PI = 3.14;
double r = 2.5;
double s = PI * r * r; // 使用 const 定义的常量计算圆面积
printf("圆的面积为:%.2f\n", s);
return 0;
}
以上代码输出:
圆的面积为:19.63
4. 关键字enum
在C语言中,可以使用 enum 关键字定义枚举类型,并将枚举类型常量设为整型常量,其规则为:
enum 枚举类型名 {
常量名1,
常量名2,
...
};
其中,常量名需符合标识符规则,例如下面的代码定义一个枚举类型:
#include <stdio.h>
enum direction {East, West, North, South}; // 定义枚举类型
int main()
{
enum direction dir; // 声明变量为枚举类型
dir = East; // 用枚举类型常量赋值
switch (dir) // 判断枚举类型常量的值
{
case East:
printf("向东方行驶\n");
break;
case West:
printf("向西方行驶\n");
break;
case North:
printf("向北方行驶\n");
break;
case South:
printf("向南方行驶\n");
break;
default:
printf("未知方向\n");
break;
}
return 0;
}
以上代码输出:
向东方行驶
5. 总结
本文介绍了C语言中常量(字面常量、符号常量、const常量和枚举类型常量)的定义规则,以及它们的使用方法,希望对初学者学习C语言有所帮助。