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

<<

左移

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

展开阅读全文

c语言用于提示的指令,C语言指令、符号表.doc相关推荐

  1. c语言程序运算绪论,计算机C语言程序设计ch01_绪论上.ppt

    高级语言程序设计 主讲 兰书梅邮箱 lansm 助课 张晶邮箱 zhangjing99 教学安排 主讲 作业 实验 考试 主讲 64学时全书内容习题课2到3次作业 课后及习题集必作选作实验 8次实验3 ...

  2. C 语言编程 — 宏定义与预处理器指令

    目录 文章目录 目录 前文列表 宏 预处理器 预处理器指令 预处理器指令示例 预处理器指令运算符 宏定义 简单宏定义 带参数的宏定义 符号吞噬问题 使用 do{}while(0) 结构 预定义的宏 常 ...

  3. 最严谨的计算机语言p,用于PLC的华P语言编译器设计及实现.pdf

    2009年10月 沈阳理工大学学报 V01.28No.5 OFSHENYANGUGONGUNIVERSITYOct.2 第28卷第5期 TRANSACTIONS 0 09 文章编号:1003-1251 ...

  4. c语言中条件编译相关的预编译指令

     一. 内容概述 本文主要介绍c语言中条件编译相关的预编译指令,包括#define.#undef.#ifdef.#ifndef.#if.#elif.#else.#endif.defined. 二. ...

  5. neon 指令 c语言,NEON初步使用

    前言 指令集并行是CPU的优化加速的一个方向,在ARM芯片主要是利用NEON指令集实现指令集并行 NEON简介 NEON就是高级SIMD,单指令多数据,适用于图像.音频等数据处理.ARMv6就叫SIM ...

  6. 机器人按照给定的指令c语言,【高训工控】专业课堂第二十四期——工业机器人调试基础:程序的构造与组成...

    原标题:[高训工控]专业课堂第二十四期--工业机器人调试基础:程序的构造与组成 大家好,欢迎来到[高训工控]专业课堂第二十四期,本期为大家带来--工业机器人调试基础:程序的构造与组成 在之前的文章中有 ...

  7. c#网页自动化脚本语言,c# – 创建用于创建网页的脚本语言

    我正在创建一个用于创建网页的脚本语言,但不知道从哪里开始. 我有一个看起来像这样的文件: mylanguagename(main) { OnLoad(protected) { Display(img, ...

  8. c语言指令保留字,C语言命令令、符号表

    C语言命令令.符号表 C语言命令令.符号表 编译指令 ://-单行注解:/*多行注解*/ 基本数据类型(int,float,double,char,void) 用户自定义数据类型格式 t y p e ...

  9. 易语言制作提示类对话框

    又是新的一周!今天分享的是如何使用易语言制作提示类对话框. 第一步 创建Windows窗口程序并绘制组件 在该窗口中,我们需要绘制一个标签,如图所示: 第二步 添加菜单 我们需要添加一个名为" ...

最新文章

  1. C#生成CHM文件(外篇使用hha.dll)
  2. php 3个循环,For循环只发布数组的前3个元素 - PHP(For loop is only posting first 3 elements of array - PHP)...
  3. [20170603]12c Top Frequency histogram.txt
  4. bzoj4551: [Tjoi2016Heoi2016]树(树链剖分)
  5. 计算机类专业综合理论模拟试卷1,山东省2011年高等职业教育对口招生计算机类专业理论综合模拟试题(一)...
  6. 调用webservice时提示对操作的回复消息正文进行反序列化时出错
  7. TensorFlow——在web.py、Django环境下TensorFlow(Keras、tf.keras)加载和使用多模型失败解决方案
  8. JavaScript进阶5-学习笔记
  9. cli能记日志web不能php,ThinkPHP6.0日志变化
  10. java中地图查询比较慢,在java中缓慢的地图
  11. 编程军规 —— Java 篇
  12. SQL:MySQL中建立一个新的数据表
  13. HTML5 Form Data 对象的使用
  14. 通达信版弘历软件指标_弘历指标源码:弘历软件主要功能是什么?选股精不精准?...
  15. 软件运行 计算机硬件环境,软件运行环境该怎么写
  16. 抽象类和接口的区别(之二)
  17. 光盘自动播放 html,插入dvd光盘直接播放 禁用dvd菜单制作刻录dvd光盘 光盘直接放在DVD中就可以自动播放...
  18. 重启linux没有网络配置文件,Linux 网络配置 修改DNS配置文件/etc/resolv.conf后,重启网络,DNS配置丢失...
  19. 计算机问卷调查数据分析报告,调查问卷分析报告怎么写
  20. 淘宝怎么寄东西到日本?如何在日本购买国内淘宝上的物品呢?

热门文章

  1. 表格视图,文本视图和Web视图
  2. 小老弟,来爬取携程的民宿酒店数据啦(附带源码)
  3. java mybtis关联查询,7.MyBatis 关联查询(一对一)
  4. webService简单入门实战(一)
  5. cation,validation,qualification有何区别
  6. js设计模式——3.观察者模式
  7. 用keepalived配置高可用集群
  8. TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流
  9. Java历程-初学篇 Day02变量,数据类型和运算符
  10. ClientAbortException 异常