C预处理器定义符号常量。
格式:
#define NAME value
请注意格式,首先是 #define ,接着是符号常量名,然后是符号常量的值
末尾不用添加 ;
因为这是一种由预处理器处理的替换机制。
另外,还有一个命名约定,即在名称前带c_或者_k前缀来表示符号常量。(如:c_level)。
符号常量的命名规则与变量相同。可以使用大小写字母、数字、下划线,首字符不能以数字开头。
#include <stdio.h>
#define PI 3.14159
int main(void)
{
float area, circum, radius;
printf("What is the radius of your pizza?\n");
scanf("%f",&radius);
area = PI * radius * radius;
circum = 2.0 * PI * radius;
printf("Your basic pizza parametets are as follows:\n");
printf("circumference = %1.2f,area=%1.2f\n",circum,area);
return 0;
}
printf()语句中的%1.2f表示,结果是四舍五入的两位小数。
#define 指令还可以定义字符和字符串常量。字符使用单引号,字符串使用双引号。
#define BEEP '\a'
#define APPLE 'A'
#define PIZZA "What is the radius of your pizza?"
C90标准新增加了 const 关键字,用于限定一个变量为 只读 。
const int MONTHS = 12;//MONTHS值不可更改,为12
这使得MONTHS成为一个只读值。也就是说,可以在计算中使用MONTHS,可以打印MONTHS,但就是不能更改MONTHS的值。
const 比 #define 更灵活。