C常量
目标
在本文章中,您将学习C常量,包括文字常量和符号常量。此外,您还将学习如何在C语言中定义符号常量。
介绍C常量
与变量不同,常量是一种特殊的变量,它的值是不变的。
C支持两种类型的常量:
- 文字常量
- 符号常量
每一种类型的常量都有自己的用途。
文字常量
文字常量是直接放在代码中的值,例如:
int x = 10;
char c = 'A';
复制代码
在本例中,数字10和字符“A”是文字常量。
符号常量
符号常量是有名称的常量。符号常量的一个例子是EOF,它代表文件结束符。
定义符号常量
C语言提供许多方式定义符号常量。
使用define预处理器定义符号常量
有时,您希望在代码中使用常量。例如,要计算圆的面积,你可以这样做:
circle_area = 3.14159 *radius*radius;
在这个表述中,数字3.14159是PI。它是一个文字常量。不使用文字常量,你可以使用符号常量,如下所示:
circle_area = PI *radius*radius;
PI符号常量使代码更具可读性,因为它不仅告诉你值,还告诉你它的含义。
此外,如果一个常量在多个地方使用,最好使用符号常量,因为当你想改变它的值时,你只需要在一个地方改变。
下面的例子从税前工资和个税计算出税后工资:
float salary_after = salary_before-(salary_before - 5000) * TAX;
之后,如果个税发生了变化,您只需要在它定义的地方更改它。
要定义一个符号常量,可以使用C预处理器,如下所示:
#define CONSTANT_NAME value
例如,可以如下定义PI和SALES_TAX符号常量:
#define PI 3.14159
#define TAX 0.3
复制代码
通过这样做,当编译器编译程序时,它将PI和TAX替换为3.14159和0.3。
按照惯例,常量的名称是大写的,以使其在代码中突出。
使用const关键字定义符号变量
从C-90开始,您可以使用const关键字创建一个符号常量。这种方法比使用#define预处理器更加灵活。
一旦使用const关键字的符号常量的值被初始化,它的值就不能被更改。例如:
const double PI = 3.14159;
const double TAX = 0.3;
复制代码
与#define预处理器不同,用const关键字定义的常量是有类型的。此外,该常量的作用域限定在定义它的块中。请注意,您将在后面的教程中了解关于变量作用域的更多信息。
使用C常量的例子
下面的程序演示了如何使用常量:
# include <stdio.h>
# include <stdlib.h>
#define PI 3.14159
int main ()
{
/*
用圆的半径和PI
计算圆的面积
*/
int radius = 10;
float circle_area = PI * radius * radius;
printf("圆的面积 %f\n", circle_area); //圆形的面积
/*
用税前工资和个税
计算税后工资
*/
const float TAX = 0.3;
float salary_before = 6000;
float salary_after = salary_before-(salary_before - 5000) * TAX;
printf("税后工资%f\n",salary_after);
return 0;
}
复制代码
总结
- 常量存储不能更改的值。
- C语言同时支持文字常量和符号常量。
- 使用define预处理器或const关键字定义符号常量。