教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

C语言符号、指令表

来源:网络收集 时间:2026-09-05
导读: 编译指令 ://—单行注解;/*多行注解*/ 基本数据类型 (int,float,double,char,void) 用户自定义数据类型格式 typedef struct{ 数据类型 变量序列1; 数据类型 变量序列1; ... }自定义数据类型的名称; 保留字 _at_,alien,bdata,break,bit,case,char,code

编译指令

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

基本数据类型 (int,float,double,char,void)

用户自定义数据类型格式

typedef struct{

数据类型 变量序列1; 数据类型 变量序列1; ...

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

保留字

_at_,alien,bdata,break,bit,case,char,code,compact,const,continue,data,

default,do,double,far,else,enum,extern,float,for,goto,if,funcused,idata,int, inline,interrupt,large,long,pdata,_priority_,reentrant,return,sbit,sfr,sfr16, short,sigend,sizeof,small,static,struct,switchc_task_,typedef,using,union, unsigned,void,volatile,while,xdata

常量表示法

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

比较运算

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

逻辑运算

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

位逻辑运算

假设a等于5----------------------------------------------------控制命令---------------------------------------------------

if语句

if(条件) 语句1; else 语句2;

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

else d++; //否则就将d加1

if(ticks==0) { //如果ticks等于0

ticks=1000; //ticks 设置成1000 counter[0]++; //counter[0]加1

}

嵌套if语句

例:if(counter[0]==10) {

counter[1]++; counter[0]=0;

if(counter[1]==10) { counter[2]++; counter[1]=0; } }

switch语句

switch (变量) {

case 常量1:语句1; break; case 常量2:语句2; break; case 常量3:语句3; break; ......

default ; 语句n; }

for循环

for (初值,条件,变化值) 语句;

例:for(i=0;i<10;i++) x=x+i; for(i=1;i<10,i++)

for(j=1;j<10,j++)

printf(“%d %d”,i,j); 无穷循环: for( ; ; );

while循环

while (条件) 语句;

例:while (ch!=! A ) ch=getche(); 无穷循环: while(1);

do/while循环 do { 语句; ...

} while(条件);

例:do {

ch=getche();

} while (ch!=”A”);

goto语句

loop1:

x++;

if(x<100) goto loop1;

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

指针的定义

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

例: char *p;

int *x;

指针与数组

例: char filename[80];

char *p;

p=filename; //指针p存放filename的开始地址

int x[5]={1,2,3,4,5}; int *p,sum,i;

p=x; //指针p存放数组x的开始地址 for(i=0;i<5;i++)

sum=sum+p[i]; //p[i]相当于x[i]

指针的运算

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

例:int x[5]={1,2,3,4,5};

int *p;

p=x; //指针p存放数组x的开始地址 *p=10; //相当于设置x[0]等于10 2.变量前面加上&符号,可以取得一个变量的位置。 例:int x,y; int *p;

p=&x; //指针p存放x的地址,相当于p是指向x 的指针 *p=1; //相当于设置x等于1 3.&符号也可以加在数组的前面 例:int x[5]; int *p;

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

函数

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

函数的主体 }

例:void delay (void) { //不返回任何数据的函数

unsigned char i,j; //没有任何参数的函数 for(i=0,i<255,i++)

for(j=0,j<255,j++); }

main() { ...

delay(); //调用函数 }

例:unsigned char sum(unsigned chat a,unsigned chat b)

{

unsigned chat x;

check_GLCD_busyflag(); //函数中可以调用另一个函数 x=a+b;

return x; //return会返回x的数据 }

中断服务函数

void 中断服务程序的名称(void) interrupt 中断号码 using 寄存器组号码 {

中断服务子程序主体 }

中断号码

#define IE0_VECTOR 0 //0x03

#define TF0_VECTOR 1 //0x0B #define IE1_VECTOR 2 //0x13 #define TF1_VECTOR 3 //0x1B #define SIO_VECTOR 4 //0x23 对于S51有定时器2

#define TF2_VECTOR 5 //0x2B

例:static void xint0_isr(void) interrupt IE0_VECTOR(或0) using 1

{

unsigned char i,j=0xFF; for(i=0,i<16,i++) {

j++;

P1=j; //将数值输出到P1口 delay_4isr(); } }

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

在C中加入汇编语言

例:void delay100us()

{

#pragma asm

mov r7,#1 more: mov r3,#48 djnz r3,$

djnz r7,more #pragma endasm }

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

宏的定义

%*define (macro名称) (macro的指令)

例:%*define (write_1) (

setb DI serb SK clr SK )

#define 宏的名称 宏的指令

例:#define uchar unsigned char

…… 此处隐藏:1470字,全部文档内容请下载后查看。喜欢就下载吧 ……
C语言符号、指令表.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/91131.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)