C 语言对比汇编的好处 简单来说,C语言对汇编语言进行了抽象,具有如下优点: 更符合人类思维习惯,开发效率高、时间短。 模块化。 可移植性好。 提供数学函数并支持浮点运算。 程序可读性和可维护性强。 C语言当然也有缺点,比如实时性通常要比汇编差。在编写汇编的时候可以清楚的知道每一条指令究竟要多少个机器周期,但是在 C中掌控准确的时间稍微困难一些。 C51包含 ANSI C关键字的同时,也有针对51单片机扩展的一些关键字。C51的扩展关键字从某种程度上体现了C51语言与标准 C语言的不同。例如可重入函数、存储模式等等都是标准 C中不存在的问题。 ANSI C 关键字 auto: 自动变量 double: 双精度类型 int: 声明整型类型 struct: 声明结构体类型 break: 跳出当前循环 else: 条件语句否定分支(与 if 连用) long: 声明长整型类型 switch :用于开关语句? case: 开关语句分支?? enum: 声明枚举类型 register: 声明寄存器变量 typedef: 用以给数据类型取别名(当然还有其他作用) char: 声明字符型类型 extern: 声明变量是在其他文件正声明(也可以看做是引用变量)?? return: 子程序返回语句(可以带参数,也看不带参数)?? union: 声明联合数据类型 const: 声明只读变量 float: 声明浮点型类型 short: 声明短整型类型 unsigned: 声明无符号类型类型 continue: 结束当前循环,开始下一轮循环? for: 一种循环语句(可意会不可言传) signed: 生命有符号类型类型 void: 声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) default: 开关语句中的“其他”分支? goto: 无条件跳转语句???? sizeof: 计算数据类型长度?? volatile: 说明变量在程序执行中可被隐含地改变? do: 循环语句的循环体 while: 循环语句的循环条件 static: 声明静态变量 if: 条件语句 C 51 扩展关键字 _at_ 为变量定义存储空间绝对地址 alien 声明与 PL/M51兼容的函数 bdata 可位寻址的内部 RAM bit 位类型 code ROM compact 使用外部分页 RAM的存储模式 data 直接寻址的内部 RAM idata 间接寻址的内部 RAM interrupt 中断服务函数 large 使用外部 RAM的存储模式 pdata 分页寻址的外部 ...