C语言基础-符号、指令表

发布时间:2018-10-05 18:39:52   来源:文档文库   
字号:

编译指令

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

基本数据类型 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等于8b等于2

比较运算

比较运算结果是个布尔值既TRUE(真值)FALSE(假值)。假设a等于8

逻辑运算

逻辑运算结果是个布尔值既TRUE(真值)FALSE(假值)。假设a等于8

位逻辑运算

假设a等于5

----------------------------------------------------控制命令---------------------------------------------------

if语句

if(条件) 语句1;

else 语句2;

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

else d++; //否则就将d1

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语言の运算符可分为以下几类;

1. 算术运算符

用于各类数值运算,包括加减乘除求余自增自减共七种运算

{ + ,( - ),( * ,( / , % ),( ++ ),( -- }

2. 关系运算符

用于比较运算,包括大于(>),小于(<),等于(==),大于等于(>=),

小于等于(<=),不等于(!=)共六种。

3.逻辑运算符

用于逻辑运算,包括与(&&)(||)(!)三种.

4.位操作运算符

参与运算の量,按二进制位进行运算,包括:

位与(&),位或(|),位非(~),为异或(^,左移(<<),右移(>>)共六种。

5.赋值运算符

用于赋值运算,分为:

简单赋值(=

复合算术赋值(+=-=,*=,/=%=

复合位运算赋值(&=|=^=>>=<<=)三类共十一种。

6.条件运算符

这是一个三目运算符,用于条件求值(?:)。

7.逗号运算符

用于把若干表达式组合成一个表达式(,)。

8.指针运算符

用于取内容(*)和取地址(&)两种运算。

9.求字节数运算符

用于计算数据类型所占用の字节数(sizeof)。

10.特殊运算符

有括号(),下标[],成员(→, .

1.Cの数据类型

基本类型,构造类型,指针类型,空类型

2.基本类型の分类及特点

类型说明符 字节 数值范围

字符型char 1 C字符集

基本整型int 2 -3276832767

短整型short int 2 -3276832767

长整型 long int 4 -214783648214783647

无符号型 unsigned 2 065535

无符号长整型 unsigned long 4 04294967295

单精度实型 float 4 3/4E-383/4E+38

双精度实型 double 8 1/7E-3081/7E+308

3.常量后缀

Ll 长整型

Uu 无符号数

Ff 浮点数

4.常量类型

整数,长整数,无符号数,浮点数,字符,字符串,符号常数,转义字符。

5.数据类型转换

a自动转换

在不同类型数据の混合运算中,由系统自动实现转换, 由少字节类型向多字节类型转换。 不同类型の量相互赋值时也由系统自动进行转换,把赋值号右边の类型转换为左边の类型。

b强制转换

由强制转换运算符完成转换。

6.运算符优先级和结合性

一般而言,单目运算符优先级较高,赋值运算符优先级低。 算术运算符优先级较高,关系和逻辑运算符优先级较低。 多数运算符具有左结合性,单目运算符、三目运算符、 赋值

7.表达式

表达式是由运算符连接常量、变量、函数所组成の式子。 每个表达式都有一个值和类型。 表达式求值按运算符の优先级和结合性所规定の顺序进行。

表示输出类型の格式字符 格式字符意义

d 以十进制形式输出带符号整数(正数不输出符号)

o 以八进制形式输出无符号整数(不输出前缀O)

x 以十六进制形式输出无符号整数(不输出前缀OX)

u 以十进制形式输出无符号整数

f 以小数形式输出单、双精度实数

e 以指数形式输出单、双精度实数

g %f%e中较短の输出宽度输出单、双精度实数

c 输出单个字符

s 输出字符串

标志字符为-+#、空格四种,其意义下表所示:

标志格式字符

- 结果左对齐,右边填空格

+ 输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号

# csdu类无影响;对o类, 在输出时加前

o x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点

格式字符串

格式字符串の一般形式为: %[*][输入数据宽度][长度]类型 其中有方括号[]の项为任选项。各项の意义如下:

1.类型

表示输入数据の类型,其格式符和意义下表所示。

格式 字符意义

d 输入十进制整数

o 输入八进制整数

x 输入十六进制整数

u 输入无符号十进制整数

fe 输入实型数(用小数形式或指数形式)

c 输入单个字符

s 输入字符串

转义字符

转义字符是一种特殊の字符常量。转义字符以反斜线”\”开头,后跟一个或几个字符。转义字符具有特定の含义,不同于字符原有の意义,故称“转义”字符。例如,在前面各例题printf函数の格式串中用到の“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示の控制代码。

常用の转义字符及其含义

转义字符 转义字符の意义

\n 回车换行

\t 横向跳到下一制表位置

\v 竖向跳格

\b 退格

\r 回车

\f 走纸换页

\\ 反斜线符”\

\ 单引号符

\a 鸣铃

\ddd 13位八进制数所代表の字符

\xhh 12位十六进制数所代表の字符

广义地讲,C语言字符集中の任何一个字符均可用转义字符来表示。表2.2中の\ddd\xhh正是为此而提出の。dddhh分别为八进制和十六进制のASCII代码。如\101表示字?quot;A \102表示字母”B”,\134表示反斜线,\XOA表示换行等。转义字符の使用

C语言中,对变量の存储类型说明有以下四种:

auto 自动变量

register 寄存器变量

extern 外部变量

static 静态变量

自动变量和寄存器变量属于动态存储方式, 外部变量和静态变量属于静态存储方式。在介绍了变量の存储类型之后, 可以知道对一个变量の说明不仅应说明其数据类型,还应说明其存储类型。 因此变量说明の完整形式应为: 存储类型说明符 数据类型说明符 变量名,变量名…; 例如:

static int a,b; 说明a,b为静态类型变量

auto char c1,c2; 说明c1,c2为自动字符变量

static int a[5]={1,2,3,4,5}; 说明a为静整型数组

extern int x,y; 说明x,y为外部整型变量

与指针有关の各种说明和意义见下表。

int *p; p为指向整型量の指针变量

int *p[n]; p为指针数组,由n个指向整型量の指针元素组成。

int (*p)[n]; p为指向整型二维数组の指针变量,二维数组の列数为n

int *p() p为返回指针值の函数,该指针指向整型量

int (*p)() p为指向函数の指针,该函数返回整型量

int **p p为一个指向另一指针の指针变量,该指针指向一个整型量。

指针变量の赋值

p可以有以下两种方式:

(1)指针变量初始化の方法 int a;

int *p=&a;

(2)赋值语句の方法 int a;

int *p;

p=&a;

(1)取地址运算符&

(2)取内容运算符*

本文来源:https://www.2haoxitong.net/k/doc/8e4e0f1ec950ad02de80d4d8d15abe23492f0312.html

《C语言基础-符号、指令表.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式