第二章:变量和常量-2常量

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关键字定义符号常量。
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享