📜  C-常量和字面量(1)

📅  最后修改于: 2023-12-03 14:40:00.472000             🧑  作者: Mango

C常量和字面量

在C语言中,常量和字面量指的是不可改变的数据值。它们可以直接在代码中使用,而不需要先定义一个变量。

常量

C语言中的常量通常指的是“符号常量”,这些常量在程序执行时不会改变值。C语言中的符号常量可以使用#define预处理指令定义,例如:

#include <stdio.h>

#define PI 3.14159

int main() {
   double radius, area;

   printf("请输入一个圆的半径:");
   scanf("%lf", &radius);

   area = PI * radius * radius;

   printf("圆的面积是:%lf\n", area);

   return 0;
}

在上面的例子中,PI是一个常量,它的值被定义为3.14159。在声明半径变量之后,该常量被用来计算圆的面积。在程序执行时,常量PI的值不会改变。

除了使用#define来定义常量,C语言还提供了另一种定义常量的方法——const关键字。例如:

#include <stdio.h>

int main() {
   const double PI = 3.14159;
   double radius, area;

   printf("请输入一个圆的半径:");
   scanf("%lf", &radius);

   area = PI * radius * radius;

   printf("圆的面积是:%lf\n", area);

   return 0;
}

在上面的例子中,PI是一个用const关键字定义的常量,它的值也被定义为3.14159。在声明半径变量之后,该常量被用来计算圆的面积。在程序执行时,常量PI的值也不会改变。

字面量

C语言中的字面量指的是一种特殊的常量,它们在代码中用特定的格式来表示不同的数据类型。例如:

  • 整型字面量:使用基数前缀(0表示八进制,0x表示十六进制),例如:017、0x1F。
  • 浮点型字面量:使用小数点来表示,例如:3.14、1.618e-9。
  • 字符型字面量:用单引号括起来,例如:'A'、'2'。
  • 字符串型字面量:用双引号括起来,例如:"hello"。
#include <stdio.h>

int main() {
   int octal = 017;
   int hex = 0x1F;
   double pi = 3.14;
   char ch = 'A';
   char *str = "hello";

   printf("octal=%d, hex=%d, pi=%lf, ch=%c, str=%s\n", octal, hex, pi, ch, str);

   return 0;
}

在上面的例子中,我们使用了不同类型的字面量来定义变量。octal和hex是整型变量,它们分别被赋值为八进制数017和十六进制数0x1F。pi是浮点型变量,它被赋值为3.14。ch是字符型变量,它被赋值为大写字母'A'。str是指向字符串的指针,它被赋值为字符串"hello"的地址。最后,我们使用printf函数将这些变量的值打印出来。

总之,常量和字面量是C语言中非常重要的概念。它们可以用来表示不同类型的数据,同时也能为程序提供可读性、可维护性和可重用性。