3.5 C51的常量类型
常量也是C51中常用的数据形式。与变量的表示相比,常量的表示要相对简单,但是同样要注意表示的规范,否则会导致程序出错。C51中的常量有整型常量、浮点型常量、字符型常量和转义字符4种类型。下面分别对其进行介绍。
3.5.1 整型常量
整型数据包括整型变量和整型常量两种,整型变量的定义前面已经作了详细的介绍。整型常量及整型常数可以表示十进制、八进制、十六进制的整数值。根据表示的数的进制不同进行区分,整型常量的表示如表3.4所示。
说明整型常量表示十六进制数时,其中的引导符0是必须有的,字母X既可用大写也可用小写,含义相同。
在整型常量后添加一个字母“L”或“l”时,表示该数为长整型数。例如23L、0713L、0Xfd4l等。整型常量在不加特别说明时总是正值。如果需要的是负值,则必须将负号“-”放置于常量表达式的最前面,例如-0x56、-09。整型常量在程序中的使用,示例如下。
include<stdio.h>//头文件
void main()//主函数
{
int a,b,c;//定义变量
a=12;//十进制常量赋值给a
b=012;//八进制常量赋值给b
c=0x12;//十六进制常量赋值给c
printf(“a=%d,b=%d,c=%d\n”,a,b,c);//输出十进制数据
printf(“a=%o,b=%o,c=%o\n”,a,b,c);//输出八进制数据
printf(“a=%x,b=%x,c=%x\n”,a,b,c);//输出十六进制数据
}
这段程序可在KeilµVision3集成开发环境中运行,执行结果如下。
a=12,b=10,c=18
a=14,b=12,c=22
a=c,b=a,c=12
在该程序中,先声明了整型变量a、b和c。接着分别将十进制常量赋值给a,将八进制常量赋值给b,将十六进制常量赋值给c。最后,分别按照十进制、八进制和十六进制的格式输出。
提示C51中的printf函数中通过格式控制符控制整型变量输出的进制,%d按十进制格式输出,%o按八进制格式输出,%x按十六进制格式输出。