C语言符号、指令表
- 格式:doc
- 大小:112.00 KB
- 文档页数:8
编译指令://—单行注解;/*多行注解*/基本数据类型(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等于0e l s e d++;//否则就将d加1i f(t i c k s==0){//如果t i c k s等于0t i c k s=1000;//t i c k s设置成1000c 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;}f o r循环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++)指针的运算1.针变量前面加上*号就是取得指针所指向位置的内容。
例:i n t x[5]={1,2,3,4,5};i n t*p;p=x;//指针p存放数组x的开始地址*p=10;//相当于设置x[0]等于102.变量前面加上&符号,可以取得一个变量的位置。
例:i n t x,y;i n t*p;p=&x;//指针p存放x的地址,相当于p是指向x 的指针*p=1;//相当于设置x等于13.&符号也可以加在数组的前面例: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 mm o v r7,#1m o r e:m o v r3,#48d 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 Is e r b S Kc 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 r1级优先级左结合() 圆括号[] 下标运算符-> 指向结构体成员运算符. 结构体成员运算符2级优先级右结合! 逻辑非运算符~ 按位取反运算符++ 自增运算符-- 自减运算符- 负号运算符(类型) 类型转换运算符* 指针运算符& 地址与运算符sizeof 长度运算符3级优先级左结合* 乘法运算符/ 除法运算符% 取余运算符4级优先级左结合+ 加法运算符- 减法运算符5级优先级左结合<< 左移运算符>> 右移运算符6级优先级左结合<、<=、>、>= 关系运算符7级优先级左结合!= 不等于运算符8级优先级左结合& 按位与运算符9级优先级左结合^ 按位异或运算符10级优先级左结合| 按位或运算符11级优先级左结合&& 逻辑与运算符12级优先级左结合|| 逻辑或运算符13级优先级右结合? : 条件运算符14级优先级右结合=+ =- =*=/ =% =>= < <=&= ^= |= 全为赋值运算符15级优先级左结合,逗号运算符。