3.1.1 常量
常量是指不可改变的量,C语言中的数值都可以用常量来表示。由于常量的字面值就表征了其数值大小,因此也称为文字常量。常量可以表示各种数据类型的值,其数据类型也可以从其字面形式直接获知。比如,'1' 就是一个常量,其值为其字面值1,而数据类型为整型。下面是几种不同数据类型的常量的示例:
234 -93LL 037 '\037' 32e3 73.43 'e'
以上常量中:
· 234的值为整数234,类型为int型。int型可以存储整数。
· -93LL的值为负整数-93,类型为long long int型。
· 037表示一个八进制整数,类型为int型。
· '\037'表示一个ASCII码字符,其值形式可见范例3-1相应语句的执行结果,该常量的类型为char型。
· 32e3的值为32000(可能存在误差),类型为double型。
· 73.43的值为浮点数73.43,类型为double型。
· 'e'表示一个字符'e',类型为char型。
注意:上面出现的int、long long int、double和char都是数据类型名,在第4章中会详细讨论这几种数据类型的使用。
下面的范例展示了各种不同类型的常量的值。
【范例3-1】显示常量的值和类型,实现方法如示例代码3-1所示。
示例代码3-1
01 #include <stdio.h> 02 03 int main(void) { 04 /* 使用printf函数输出各种常量的值 */ 05 printf("234 = %d\n", 234); /* 输出234的值 */ 06 printf("-93 = %lld\n", -93LL); /* 输出-93LL的值 */ 07 printf("037 = %d\n", 037); /* 输出037的值 */ 08 printf("\\037 = %c\n", '\037'); /* 输出'\037'的值 */ 09 printf("32e3 = %lf\n", 32e3); /* 输出32e3的值 */ 10 printf("73.43 = %lf\n", 73.43); /* 输出73.43的值 */ 11 printf("'e' = %c\n", 'e'); /* 输出'e'的值 */ 12 13 return 0; 14 }
【运行结果】运行程序后,输出结果如图3-1所示。
【代码解析】本程序的功能为使用printf函数打印各个常量的值,以验证之前对这些数值的讨论。可以看到每个不同类型的常量在printf函数中要替换的内容也是不一样的,比如,int型常量要替换的是%d,long long int型常量要替换的是%lld,double型常量要替换的是%lf,char型常量要替换的是%c。需要注意的是:在图3-1第3行中,31是037由八进制转换为十进制的结果。
图3-1 常量的值和类型
提示:printf函数实现了C语言中的格式化输出功能,可以向屏幕输出格式化的字符串,在本章第3.3.1节将讨论该函数的使用。