当前位置:文档之家› C语言符号、指令表

C语言符号、指令表

编译指令

://—单行注解;/*多行注解*/

基本数据类型(i n t,f l o a t,d o u b l e,c h a r,v o i d)

用户自定义数据类型格式

t y p e d e f s t r u c t{

数据类型变量序列1;

数据类型变量序列1;

...

}自定义数据类型的名称;

保留字

_a t_,a l i e n,b d a t a,b r e a k,b i t,c a s e,c h a r,c o d e,c o m p a c t,c o n s t,c o n t i n u e,d a t a,

d e f a u l t,d o,d o u b l e,f a r,e l s e,e n u m,e x t e r n,f l o a t,f o r,g o t o,i f,f u n c u s e d,i d a t a,i n t, i n l i n e,i n t e r r u p t,l a r g e,l o n g,p d a t a,_p r i o r i t y_,r e e n t r a n t,r e t u r n,s b i t,s f r,s f r16, s h o r t,s i g e n d,s i z e o f,s m a l l,s t a t i c,s t r u c t,s w i t c h c_t a s k_,t y p e d e f,u s i n g,u n i o n, u n s i g n e d,v o i d,v o l a t i l e,w h i l e,x d a t a

常量表示法

-----------------------------------------------------运算符----------------------------------------------------- 算术运算

比较运算

比较运算结果是个布尔值既。假设a等于8

逻辑运算

逻辑运算结果是个布尔值既。假设a等于8

位逻辑运算

假设a等于5

----------------------------------------------------控制命令--------------------------------------------------- i f语句

i f(条件)语句1;

e l s e语句2;

例:i f(d==4)d=0;//如果d等于4就设置d等于0

e l s e d++;//否则就将d加1

i f(t i c k s==0){//如果t i c k s等于0

t i c k s=1000;//t i c k s设置成1000

c o u n t e r[0]++;//c o u n t e r[0]加1

}

嵌套i f语句

例:i f(c o u n t e r[0]==10){

c o u n t e r[1]++;

c o u n t e r[0]=0;

i f(c o u n t e r[1]==10){

c o u n t e r[2]++;

c o u n t e r[1]=0;

}

}

s w i t c h语句

s w i t c h(变量){

c a s e常量1:语句1;b r e a k;

c a s e常量2:语句2;b r e a k;

c a s e常量3:语句3;b r e a k;

......

d e f a u l t;语句n;

}

f o r(初值,条件,变化值)语句;

例:f o r(i=0;i<10;i++)x=x+i;

f o r(i=1;i<10,i++)

f o r(j=1;j<10,j++)

p r i n t f(“%d%d”,i,j);

无穷循环:

f o r(;;);

w h i l e循环

w h i l e(条件)语句;

例:w h i l e(c h!=!?A?)c h=g e t c h e();

无穷循环:

w h i l e(1);

d o/w h i l e循环

d o{

语句;

...

}w h i l e(条件);

例:d o{

c h=g e t c h e();

}w h i l e(c h!=”A”);

g o t o语句

l o o p1:

x++;

i f(x<100)g o t o l o o p1;

----------------------------------------------------指针和函数------------------------------------------------

指针的定义

数据类型*指针变量的名字;

例:c h a r*p;

i n t*x;

指针与数组

例:c h a r f i l e n a m e[80];

c h a r*p;

p=f i l e n a m e;//指针p存放f i l e n a m e的开始地址

i n t x[5]={1,2,3,4,5};

i n t*p,s u m,i;

p=x;//指针p存放数组x的开始地址

f o r(i=0;i<5;i++)

s u m=s u m+p[i];//p[i]相当于x[i]

1.针变量前面加上*号就是取得指针所指向位置的内容。

例:i n t x[5]={1,2,3,4,5};

i n t*p;

p=x;//指针p存放数组x的开始地址

*p=10;//相当于设置x[0]等于10

2.变量前面加上&符号,可以取得一个变量的位置。

例:i n t x,y;

i n t*p;

p=&x;//指针p存放x的地址,相当于p是指向x 的指针

*p=1;//相当于设置x等于1

3.&符号也可以加在数组的前面

例:i n t x[5];

i n t*p;

p=&x[2];//指针p存放x[2]的地址,相当于p是指向x[2]的指针

*p=50;//相当于设置x[2]等于50

函数

函数类型函数名称(参数序列);

参数说明

{

函数的主体

}

例:v o i d d e l a y(v o i d){//不返回任何数据的函数

u n s i g n e d c h a r i,j;//没有任何参数的函数

f o r(i=0,i<255,i++)

f o r(j=0,j<255,j++);

}

m a i n()

{

...

d e l a y();//调用函数

}

例:u n s i g n e d c h a r s u m(u n s i g n e d c h a t a,u n s i g n e d c h a t b)

{

u n s i g n e d c h a t x;

c h e c k_G L C D_b u s y f l a g();//函数中可以调用另一个函数

x=a+b;

r e t u r n x;//r e t u r n会返回x的数据

}

中断服务函数

v o i d中断服务程序的名称(v o i d)i n t e r r u p t中断号码u s i n g寄存器组号码

{

中断服务子程序主体

}

中断号码

#d e f i n e I E0_V E C T O R0//0x03

#d e f i n e T F0_V E C T O R1//0x0B

#d e f i n e I E1_V E C T O R2//0x13

#d e f i n e T F1_V E C T O R3//0x1B

#d e f i n e S I O_V E C T O R4//0x23

对于S51有定时器2

#d e f i n e T F2_V E C T O R5//0x2B

例:s t a t i c v o i d x i n t0_i s r(v o i d)i n t e r r u p t I E0_V E C T O R(或0)u s i n g1 {

u n s i g n e d c h a r i,j=0x F F;

f o r(i=0,i<16,i++)

{

j++;

P1=j;//将数值输出到P1口

d e l a y_4i s r();

}

}

-----------------------------------------------------汇编语言--------------------------------------------------

在C中加入汇编语言

例:v o i d d e l a y100u s()

{

#p r a g m a a s m

m o v r7,#1

m o r e:m o v r3,#48

d j n z r3,$

d j n z r7,m o r e

#p r a g m a e n d a s m

}

----------------------------------------------------宏(macro)----------------------------------------------

宏的定义

%*d e f i n e(m a c r o名称)(m a c r o的指令)

例:%*d e f i n e(w r i t e_1)(

s e t b D I

s e r b S K

c l r S K

)

#d e f i n e宏的名称宏的指令

例:#d e f i n e u c h a r u n s i g n e d c h a r

相关主题
文本预览
相关文档 最新文档