在C语言编程中经常要用到各种函数、变量、常量、数组、数据类型和一些控制语句等,为了对它们进行标志,就必须使用标志符。例如,可以使用x、y作为变量的标志符;使用delay()作为函数的标志符。
注意: C语言对大小写字母敏感,如max和MAX是两个完全不同的标志符。
程序中的标志符命名应当简洁明了,含义清晰,便于阅读。例如,最好使用“max”表示最大值。
C语言规定:标志符只能是字母(A~Z,a~z)、数字(0~9)和下划线“_”组成的字符串,并且第一个字符必须是字母或下划线。
在C语言编程中,为了定义变量、表达语句功能和对一些文件预处理,还必须用到一些有特殊意义的字符串,即关键字。关键字已被软件本身使用,不能再作为标志符使用。C语言的关键字分为以下三类。
(1)类型说明符:用来定义变量、函数或其他数据结构的类型,如unsigned char、int、long等。
(2)语句定义符:用来标志一个语句的功能,如条件判断语句“if”、“while”等。
(3)预处理命令字:表示预处理命令的关键字,如程序开头的“include”。
由ANSI标准定义的关键字共32个:auto、double、int、struct、break、else、long、switch、case、enum、register、typedef、char、extern、return、union、const、float、short、unsigned、continue、for、signed、void、default、goto、sizeof、volatile、do、if、while、static。
另外,为了能够直接访问单片机的一些内部寄存器,Keil C51编译器扩充了关键字sfr。利用这种扩充关键字可以在C语言源程序中直接对8051系列单片机的特殊功能寄存器进行定义。其方法如下:
例如:
在8051系列单片机应用系统中,经常需要访问特殊功能寄存器中的某些位,Keil C51编译器为此提供了另一种扩充关键字sbit,利用它可以定义位寻址对象。定义方法如下:
例如:
作上述定义后,如果要点亮图4-1所示的发光二极管D1,编程时就可以直接使用以下命令:
图4-1 点亮发光二极管D1的硬件原理图