C语言符号、指令表.doc
C语语语 言言言 符符符 号号号 控控控 制制制 命命命 令令令 表表表 编译指令 编译指令 说明 i n c l u d e 包含另一个文件 d e f i n e 定义一个宏( m a c r o)或是常量 u n d e f 取消一个宏常量的定义 a s m 和 e n d a s m 在程序中加入汇编语言的程序 i f d e f、 i f n d e f、 e l s e、 e n d i f 用于条件式的编译 注解 单行注解; /*多行注解 */ 基本数据类型 ( i n t , f l o a t , d o u b l e , c h a r, v o i d) 数据类型 类型说明 长度(位) 数据长度 b i t 位 1 0, 1 c h a r 字符 8 1 2 8 1 2 7 uns i g n e d c h a r 无符号字符 8 0 2 5 5 s i g n e d c h a r 有符号字符 8 1 2 8 1 2 7 i n t 整型 16 3 2 7 6 8 3 2 7 6 7 s h o r t i n t 短整型 16 3 2 7 6 8 3 2 7 6 7 u n s i g n e d i n t 无符号整型 16 0 6 5 5 3 5 s i g n e d i n t 有符号整型 16 3 2 7 6 8 3 2 7 6 7 l o n g i n t 长整型 32 21474836482147483647 u n s i g n e d l o n g i n t 无符号长整型 32 0 4 2 9 4 9 6 7 2 9 5 s i g n e d l o n g i n t 有符号长整形 32 21474836482147483647 f l o a t 浮点数 实数 32 0 . 1 7 5 e - 3 8 0 . 4 0 2 e 3 8 d o u b l e 双精度浮点 32 0 . 1 7 5 e - 3 8 0 . 4 0 2 e 3 8 v o i d 空 0 没任何数据 用户自定义数据类型格式 t y p e d e f s t r u c t 数据类型 变量序列 1; 数据类型 变量序列 1; 自定义数据类型的名称 ; 保留字 _at_, a l i e n , bdata, break, b i t , c a s e , c h a r, c o d e , c o m p a c t , const, c o n t i n u e , d a t a , d e f a u l t , do, d o u b l e , f a r, e l s e , e n u m , extern, float, f o r, g o t o , if, f u n c u s e d , i d a t a , i n t , inline, 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 , sbit, s f r, s f r 1 6 , short, 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 , union, unsigned, void, v o l a t i l e , w h i l e , x d a t a C语语语 言言言 符符符 号号号 控控控 制制制 命命命 令令令 表表表 常量表示法 常数 规则 范例 十进制 一般十进制格式 1234567890 二进制 开头加上 0b 0b00001110 八进制 开头加上 O O0123 十六进制 开头加上 0 x 0 xFF45 无符号整数常量 结尾加上 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 比较运算 运算符 说明 范例 执行结果 等于 a5 F 不等于 a 5 T 大 于 a5 T 大于等于 a5 T 比较运算结果是个布尔值既 T R U E(真值) 或 FA L S E(假值) 。假设 a等于 8 C语语语 言言言 符符符 号号号 控控控 制制制 命命命 令令令 表表表 逻辑运算 运算符 说明 范例 执行结果 e l s e 语句 2; 例 if d 4 d 0 ; / /如果 d 等于 4 就设置 d 等于 0 e l s e d ; / /否则就将 d 加 1 if t i c k s 0 / /如果 t i c k s 等于 0 t i c k s 1 0 0 0 ; / / t i c k s 设置成 1 0 0 0 c o u n t e r 0 ; / / c o u n t e r 0 加 1 嵌套 if 语句 例 if c o u n t e r 0 1 0 c o u n t e r 1 ; c o u n t e r 0 0 ; if c o u n t e r 1 1 0 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 ; c a s e 常量 3语句 3 ; b r e a k ; d e f a u l t ; 语句 n; C语语语 言言言 符符符 号号号 控控控 制制制 命命命 令令令 表表表 f o r 循环 f o r 初值 ,条件 ,变化值 语句 ; 例 f o r i 0 ; i 1 0 ; i x x i ; f o r i 1 ; i 1 0 , i f o r j 1 ; j 1 0 , 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 循环 do 语句 ; w h i l e 条件 ; 例 do c h g e t c h e ; w h i l e c h ”A”; g o t o 语句 l o o p 1 x ; i f x 1 0 0 g o t o l o o p 1 ; 指针和函数 指针的定义 数据类型 *指针变量的名字 ; 例 c h a r * p ; i n t * x ; 指针与数组 例 c h a r f i l e n a m e 8 0 ; 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 s u m s u m p i ; p i 相当于 x i C语语语 言言言 符符符 号号号 控控控 制制制 命命命 令令令 表表表 指针的运算 1.针变量前面加上 *号就是取得指针所指向位置的内容。 例 i n t x 5 1 , 2 , 3 , 4 , 5 ; i n t * p ; p x ; 指针 p存放数组 x的开始地址 * p 1 0 ; 相当于设置 x 0 等于 10 2.变量前面加上 i n t * p ; p 指针 p存放 x的地址,相当于 p是指向 x 的指针 * p 1 ; 相当于设置 x等于 1 3. i n t * p ; p 指针 p存放 x 2 的地址,相当于 p是指向 x 2 的指针 * p 5 0 ; 相当于设置 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 2 5 5 , i f o r j 0 , j 2 5 5 , 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 寄存器组号码 中断服务子程序主体 C语语语 言言言 符符符 号号号 控控控 制制制 命命命 令令令 表表表 中断号码 d e f i n e I E 0 _ V E C T O R 0 / / 0 x 0 3 d e f i n e T F 0 _ V E C T O R 1 / / 0 x 0 B d e f i n e I E 1 _ V E C T O R 2 / / 0 x 1 3 d e f i n e T F 1 _ V E C T O R 3 / / 0 x 1 B d e f i n e S I O _ V E C T O R 4 / / 0 x 2 3 对于 S51有定时器 2 d e f i n e T F 2 _ V E C T O R 5 / / 0 x 2 B 例 s t a t i c v o i d x i n t 0 _ i s r v o i d i n t e r r u p t I E 0 _ V E C T O R(或 0) u s i n g 1 u n s i g n e d c h a r i , j 0 x F F ; f o r i 0 , i 1 6 , i j ; P 1 j ; / /将数值输出到 P1 口 d e l a y _ 4 i s r ; -汇编语言 在 C中加入汇编语言 例 v o i d d e l a y 1 0 0 u s pr a g m a a s m m o v r 7 , 1 m o r e m o v r 3 , 4 8 d j n z r 3 , d j n z r 7 , 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 I s e r b S K c l r SK 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 r