新手必看 什么是c语言程序设计

标识符和关键字
(一)标识符
标识符是用来表示源程序中自定义对象名称的符号 。其中的自定义对象可以是常量、变量、数组、结构、语句标号以及函数等 。
在C51语言中,标识符可以由字母(a~z,A~Z)、数字(0~9)和下划线“_”组成,最多可支持32个字符 。
C51标识符的定义不是随意的,应遵循“简洁”和“见名知意”的原则,并需要符合一定的规则:
? 标识符的第一个字符必须是字母或者下划线,不能为数字 。由于有些编译系统专用的标识符以下划线开头,所以用户在定义标识符时一般不要以下划线开头 。
? C51的标识符区分大小写,例如“ch1”和“Ch1”表示两个不同的标识符 。
? 用户自定义的标识符不能与系统保留的关键字重复 。
(二)关键字
关键字是C51编译器保留的一些特殊标识符,具有特定的含义和用法 。单片机C51程序语言继承了ANSI C标准定义的32个关键字,如表3-1所示 。

新手必看  什么是c语言程序设计

文章插图
表3-1C51的关键字
同时C51又结合单片机硬件的特点扩展了19个关键字:
C51数据类型
表3-2列出了KeilC51编译器所支持的数据类型 。
新手必看  什么是c语言程序设计

文章插图
表3-2C51编译器所支持的数据类型
1. char字符类型
char类型的长度是一个字节,通常用于定义处理字符数据的变量或常量 。char字符类型分为无符号字符类型( char)和有符号字符类型( char),默认值为 char类型 。
char类型用字节中所有的位来表示数值,可以表达的数值范围是0~255; char类型中字节最高位表示数据的符号,“0”表示正数,“1”表示负数(负数用补码表示),所能表示的数值范围是-128~+127 。
提示
char常用于处理ASCII字符或小于等于255的整型数 。
正数的补码与原码相同,负二进制数的补码等于它的绝对值按位取反后加1 。
2. int整型
int整型长度为两个字节,用于存放一个双字节数据 。分为有符号整型数 int和无符号整型数 int,默认值为 int类型 。
int表示的数值范围是-32768~+32767,字节中最高位表示数据的符号,“0”表示正数,“1”表示负数; int表示的数值范围是0~65535 。
3. long长整型
long长整型长度为四个字节,用于存放一个四字节数据 。分有符号长整型 long和无符号长整型 long,默认值为 long类型 。
int表示的数值范围是-~+,字节中最高位表示数据的符号,“0”表示正数,“1”表示负数; long表示的数值范围是0~ 。
4. float浮点型
float浮点型在十进制中具有7位有效数字,是符合IEEE-754标准的单精度浮点型数据,占用四个字节 。浮点数的结构较复杂,单片机使用较少,这里不做详细讨论 。
5. *指针型
指针型数据本身是一个变量,在这个变量中存放着指向另一个数据的地址 。根据处理器的不同,指针型数据所占的内存单元也不尽相同,在C51中它的长度一般为1~3个字节 。
6. bit位标量
bit 位标量是C51编译器的一种扩充数据类型,利用它可定义一个位标量,但不能定义位指针,也不能定义位数组 。它的值是一个二进制位,非0即1 。
定义格式:bit 变量名=变量值 。
7. sfr特殊功能寄存器
sfr是一种扩充数据类型,占用一个内存单元,地址范围为0x80~0xFF 。
定义格式为:sfr 变量名=变量地址 。
利用它可以访问51单片机内部的所有特殊功能寄存器 。例如,用“sfr P1=0x90”这一句定P1为P1端口在片内的寄存器 。
8. sfr16 16位特殊功能寄存器