-
C
语言对比汇编的好处
简单来说,
C
语言对汇编语言进行了抽象,具有如下优点:更
符合人
类思维习惯,开发效率高、时间短;模块化;可移植性好;提供数学
函数并支持浮点运算;程序可读性和可维护性强。
C
语言当然也有缺点,比如实时性通常要比汇编差。在编写汇编的时
< br>候可以清楚的知道每一条指令究竟要多少个机器周期,
但是在
C
中掌
控准确的时间稍微困难一些。
1
、
C51
关键字
C51
包含
ANSI
C
关键字的同时,也有针对
51
单片<
/p>
机扩展的一些关键字。
C51
的扩展关键
字从某种程度上体现了
C51
语
言与标
准
C
语言的不同。例如可重入函数、存储模式等等都是标准
p>
C
中不存在的问题。
ANSI C
关键字(
32
个关键字)
?
?
?
?
?
?
auto:
自动变量
double:
双精度类型
int:
声明整型类型
struct:
声明结构体类型
break:
跳出当前循环
,是从分号处跳出;
else:
条件语句否定分支(与
if
连用)
注意
if
语句后不能
用分号
?
long:
声明长整型类型
?
?
?
?
?
?
?
switch
:
用于开关语句
?
case:
开关语句分支
??
enum:
声明枚举类型
register:
声明寄存器变量
typedef:
用以给数据类型取别名(当然还有其他作用)
char:
声明字符型类型
extern:
声明变量是在其他文件正声明(也可以看做是
引用变
量)
??
?
?
?
?
?
?
?
?
return:
子程序返回语句(可以带参数,也看不带参数)
??
union:
声明联合数据类型
const:
声明只读变量
float:
声明浮点型类型
short:
声明短整型类型
unsigned:
声明无符号类型类型
continue:
结束当前循环,开始下一轮循环
?
for:
一种循环语句,
for <
/p>
的结构是
for(
起始数据;条件;循<
/p>
环
)
例如
for
(i=1;i<=10;i++) sum=sum+i;
意思就是当
< br>i=1
且
i
《
< br>=10
时,做
sum
的运算;<
/p>
?
?
signed:
生命有符号类型类型
void:
声明函数无返回值或无参数,声明无类型指针(基本上
就这三个
作用)
?
default:
开关语句中的“其他”分支
?
?
?
?
?
?
?
?
goto:
无条件跳转语句
????
sizeof:
计算数据类型长度
??
volatile:
说明变量在程序执行中可被隐含地改变
?
do:
循环语句的循环体
while:
循环语句的循环条件
static:
声明静态变量
if:
条件语句
9
种控制语句:
1
、
if
()?
else
条件语句
2
、
for()
?循环语句
3
、
while()
?循环语句
4
< br>、
do
?
while()
循环语句
5
、
con
tinue
结束本次
循环语句
中止执行
switch
或循环语句
多分支
选择语句
转向语句
从函数返回语句
C51
扩展关键字
_
at_
alien
bdata
bit
code
compact
data
为变量定义存储空间绝对地址
声明与
PL/M51
兼容的函数
可位寻址的内部
RAM
位类型
八位等于一个字节,
1B=8bit
,1kB=1024B,
ROM
<
/p>
使用外部分页
RAM
的存储模式
直接寻址的内部
RAM
idata
间接寻址的内部
RAM
interrupt
中断服务函数
large
pdata
使用外部
RAM
的存储模式
分页寻址的外部
RAM
_priority_
RTX51
的任务优先级
reentrant
可重入函数
sbit
sfr
sfr16
small
_task_
using
xdata
声明可位寻址的特殊功能位
8
位的特殊功能寄存器
16
位的特殊功能寄存器
内部
RAM
的存储模式
实时任务函数
选择工作寄存器组
外部
RAM
2
、
C51
运算符
C51
的运算符与
C
语言几乎无异(至今没有发现区别)。
算术运算符
+
-
加
,
一元取正
减
,
一元取负
*
/
%
- -
+ +
乘
除
取模
自减
1
自加
1
逻辑运算符
&&
||
!
逻辑与
逻辑或
逻辑非
关系运算符
>
>=
<
<=
= =
!=
大于
大于等于
小于
小于等于
等于
不等于
?
位运算符号
&
按位与
|
按位或
^
按位异或
-
按位取反
>>
右移
<<
左移
复合运算符
算术运算符与位运算符可
以组成符合运算符,例如:
其它运算符
?
expr1?
expr2:expr3
sizeof
计算字节数
*
指针操作
&
求址
[]
下表运算符
->
成员访问运算符
.
成员访问运算符
3
< br>、
C51
变量
+=
、
-=
等等。