收藏 分销(赏)

C语言符号、指令表.doc

上传人:xrp****65 文档编号:5913715 上传时间:2024-11-23 格式:DOC 页数:8 大小:112KB 下载积分:10 金币
下载 相关 举报
C语言符号、指令表.doc_第1页
第1页 / 共8页
C语言符号、指令表.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
C语言符号控制命令表 编译指令 编译指令 说明 #include 包含另一个文件 #define 定义一个宏(macro)或是常量 #undef 取消一个宏常量的定义 #asm和#endasm 在程序中加入汇编语言的程序 #ifdef、#ifndef、#else、#endif 用于条件式的编译 注解://—单行注解;/*多行注解*/ 基本数据类型 (int,float,double,char,void) 数据类型 类型说明 长度(位) 数据长度 bit 位 1 0,1 char 字符 8 —128~127 unsigned char 无符号字符 8 0~255 signed char 有符号字符 8 —128~127 int 整型 16 —32768~32767 short int 短整型 16 —32768~32767 unsigned int 无符号整型 16 0~65535 signed int 有符号整型 16 —32768~32767 long int 长整型 32 —2147483648~2147483647 unsigned long int 无符号长整型 32 0~4294967295 signed long int 有符号长整形 32 —2147483648~2147483647 float 浮点数(实数) 32 0.175e-38~0.402e38 double 双精度浮点 32 0.175e-38~0.402e38 void 空 0 没任何数据 用户自定义数据类型格式 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 常量表示法 常数 规则 范例 十进制 一般十进制格式 1234567890 二进制 开头加上0b 0b00001110 八进制 开头加上O O0123 十六进制 开头加上0x 0xFF45 无符号整数常量 结尾加上U 30000U 长整数常量 结尾加上L 299L 无符号长整数常量 结尾加上UL 327800UL 浮点数的常量 结尾加上F 4.234F 字符常量 以单引号括起来 ‘a’ 字符串常量 以双引号括起来 “hello” -----------------------------------------------------运算符----------------------------------------------------- 算术运算 运算符 说明 范例 执行结果 + 加 c=a+b; c 等于10 — 减 d=a—b; d 等于6 * 乘 e=a*b; e 等于16 / 除 f=a/b; f 等于4 % 取余数 g=a%b; g 等于0 ++ 加1 c++;相当于c=c+1; c 等于11 —— 减1 d——;相当于d=d—1; d 等于5 = 等于 a=8; 设置a等于8 += 先相加在等于 e+=5;相当于e=e+5; e 等于21 —= 先相减在等于 f—=5;相当于f=f—5; f 等于—1 *= 先相乘在等于 b*=5;相当于b=b*5; b 等于0 /= 先相除在等于 a/=5;相当于a=a/5; a 等于1 %= 先取余数在等于 a%=5;相当于a=a%5; a 等于3 ※假设a等于8,b等于2 比较运算 运算符 说明 范例 执行结果 == 等于 a==5 F != 不等于 a!=5 T < 小于 a<5 F > 大于 a>5 T <= 小于等于 a<=5 F >= 大于等于 a>=5 T ※比较运算结果是个布尔值既TRUE(真值)或FALSE(假值)。假设a等于8 逻辑运算 运算符 说明 范例 执行结果 && AND (a>5)&&(a<10) T || OR (a<5)||(a>10) F ! NOT !(a>10) T ※逻辑运算结果是个布尔值既TRUE(真值)或FALSE(假值)。假设a等于8 位逻辑运算 运算符 说明 范例 执行结果 & AND a&0x01 a等于1 | OR a|0x80 a等于0x85 ~ NOT ~a a等于0xFA ^ XOR a^0xFF a等于0xFA(相同为0,不同为1) << 左移 a<<1 a等于0x0A >> 右移 a>>1 a等于0x0A ※假设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 1级优先级 左结合   () 圆括号   [] 下标运算符   -> 指向结构体成员运算符   . 结构体成员运算符 2级优先级 右结合   ! 逻辑非运算符   ~ 按位取反运算符   ++ 自增运算符   -- 自减运算符   - 负号运算符   (类型) 类型转换运算符   * 指针运算符   & 地址与运算符   sizeof 长度运算符 3级优先级 左结合   * 乘法运算符   / 除法运算符   % 取余运算符 4级优先级 左结合   + 加法运算符   - 减法运算符 5级优先级 左结合   << 左移运算符   >> 右移运算符 6级优先级 左结合   <、<=、>、>= 关系运算符 7级优先级 左结合   == 等于运算符   != 不等于运算符 8级优先级 左结合   & 按位与运算符 9级优先级 左结合   ^ 按位异或运算符 10级优先级 左结合   | 按位或运算符 11级优先级 左结合   && 逻辑与运算符 12级优先级 左结合   || 逻辑或运算符 13级优先级 右结合   ? : 条件运算符 14级优先级 右结合   =+ =- =*   =/ =% =   >= < <=   &= ^= |= 全为赋值运算符 15级优先级 左结合   , 逗号运算符
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服