C语言基础符号指令表.docx
《C语言基础符号指令表.docx》由会员分享,可在线阅读,更多相关《C语言基础符号指令表.docx(15页珍藏版)》请在冰豆网上搜索。
![C语言基础符号指令表.docx](https://file1.bdocx.com/fileroot1/2023-4/17/fb9d3a3c-cafa-45af-8135-2d331cf96561/fb9d3a3c-cafa-45af-8135-2d331cf965611.gif)
C语言基础符号指令表
auto:
声明自动变量一般不使用
double:
声明双精度变量或函数
int:
声明整型变量或函数
struct:
声明结构体变量或函数
break:
跳出当前循环
else:
条件语句否定分支(与if连用)
long:
声明长整型变量或函数
switch:
用于开关语句
case:
开关语句分支
enum:
声明枚举类型
register:
声明积存器变量
typedef:
用以给数据类型取别名(当然还有其他作用)
char:
声明字符型变量或函数
extern:
声明变量是在其他文件正声明(也可以看做是引用变量)
return:
子程序返回语句(可以带参数,也看不带参数)
union:
声明联合数据类型
const:
声明只读变量
float:
声明浮点型变量或函数
short:
声明短整型变量或函数
unsigned:
声明无符号类型变量或函数
continue:
结束当前循环,开始下一轮循环
for:
一种循环语句(可意会不可言传)
signed:
生命有符号类型变量或函数
void:
声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
default:
开关语句中的“其他”分支
goto:
无条件跳转语句
sizeof:
计算数据类型长度
volatile:
说明变量在程序执行中可被隐含地改变
do:
循环语句的循环体
while:
循环语句的循环条件
static:
声明静态变量
if:
条件语句
编译指令
编译指令
说明
#include
包含另一个文件
#define
定义一个宏(macro)或是常量
#undef
取消一个宏常量的定义
#asm和#endasm
在程序中加入汇编语言的程序
#ifdef、#ifndef、#else、#endif
用于条件式的编译
注解:
变量前面加上*号就是取得指针所指向位置的内容。
例:
intx[5]={1,2,3,4,5};
int*p;
p=x;量前面加上&符号,可以取得一个变量的位置。
例:
intx,y;
int*p;
p=&x;符号也可以加在数组的前面
例:
intx[5];
int*p;
p=&x[2];.
delay();算术运算符
用于各类数值运算,包括加减乘除求余自增自减共七种运算
{(+),(-),(*),(/),(%),(++),(--)}。
2.关系运算符
用于比较运算,包括大于(>),小于(<),等于(==),大于等于(>=),
小于等于(<=),不等于(!
=)共六种。
3.逻辑运算符
用于逻辑运算,包括与(&&)或(||)非(!
)三种.
4.位操作运算符
参与运算的量,按二进制位进行运算,包括:
位与(&),位或(|),位非(~),为异或(^),左移(<<),右移(>>)共六种。
5.赋值运算符
用于赋值运算,分为:
简单赋值(=)
复合算术赋值(+=,-=,*=,/=,%=)
复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
6.条件运算符
这是一个三目运算符,用于条件求值(:
)。
7.逗号运算符
用于把若干表达式组合成一个表达式(,)。
8.指针运算符
用于取内容(*)和取地址(&)两种运算。
9.求字节数运算符
用于计算数据类型所占用的字节数(sizeof)。
10.特殊运算符
有括号(),下标[],成员(→,.)
的数据类型
基本类型,构造类型,指针类型,空类型
2.基本类型的分类及特点
类型说明符字节数值范围
字符型char1C字符集
基本整型int2-32768~32767
短整型shortint2-32768~32767
长整型longint4-8~7
无符号型unsigned20~65535
无符号长整型unsignedlong40~95
单精度实型float43/4E-38~3/4E+38
双精度实型double81/7E-308~1/7E+308
3.常量后缀
L或l长整型
U或u无符号数
F或f浮点数
4.常量类型
整数,长整数,无符号数,浮点数,字符,字符串,符号常数,转义字符。
5.数据类型转换
a自动转换
在不同类型数据的混合运算中,由系统自动实现转换,由少字节类型向多字节类型转换。
不同类型的量相互赋值时也由系统自动进行转换,把赋值号右边的类型转换为左边的类型。
b强制转换
由强制转换运算符完成转换。
6.运算符优先级和结合性
一般而言,单目运算符优先级较高,赋值运算符优先级低。
算术运算符优先级较高,关系和逻辑运算符优先级较低。
多数运算符具有左结合性,单目运算符、三目运算符、赋值
7.表达式
表达式是由运算符连接常量、变量、函数所组成的式子。
每个表达式都有一个值和类型。
表达式求值按运算符的优先级和结合性所规定的顺序进行。
表示输出类型的格式字符格式字符意义
d以十进制形式输出带符号整数(正数不输出符号)
o以八进制形式输出无符号整数(不输出前缀O)
x以十六进制形式输出无符号整数(不输出前缀OX)
u以十进制形式输出无符号整数
f以小数形式输出单、双精度实数
e以指数形式输出单、双精度实数
g以%f%e中较短的输出宽度输出单、双精度实数
c输出单个字符
s输出字符串
标志字符为-、+、#、空格四种,其意义下表所示:
标志格式字符标志意义
-结果左对齐,右边填空格
+输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号
#对c,s,d,u类无影响;对o类,在输出时加前
缀o对x类,在输出时加前缀0x;对e,g,f类当结果有小数时才给出小数点
格式字符串
格式字符串的一般形式为:
%[*][输入数据宽度][长度]类型其中有方括号[]的项为任选项。
各项的意义如下:
1.类型
表示输入数据的类型,其格式符和意义下表所示。
格式字符意义
d输入十进制整数
o输入八进制整数
x输入十六进制整数
u输入无符号十进制整数
f或e输入实型数(用小数形式或指数形式)
c输入单个字符
s输入字符串
转义字符
转义字符是一种特殊的字符常量。
转义字符以反斜线”\”开头,后跟一个或几个字符。
转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。
例如,在前面各例题printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。
转义字符主要用来表示那些用一般字符不便于表示的控制代码。
常用的转义字符及其含义
转义字符转义字符的意义
\n回车换行
\t横向跳到下一制表位置
\v竖向跳格
\b退格
\r回车
\f走纸换页
\\反斜线符”\”
\’单引号符
\a鸣铃
\ddd1~3位八进制数所代表的字符
\xhh1~2位十六进制数所代表的字符
广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。
表中的\ddd和\xhh正是为此而提出的。
ddd和hh分别为八进制和十六进制的ASCII代码。
如\101表示字quot;A”,\102表示字母”B”,\134表示反斜线,\XOA表示换行等。
转义字符的使用
在C语言中,对变量的存储类型说明有以下四种:
auto自动变量
register寄存器变量
extern外部变量
static静态变量
自动变量和寄存器变量属于动态存储方式,外部变量和静态变量属于静态存储方式。
在介绍了变量的存储类型之后,可以知道对一个变量的说明不仅应说明其数据类型,还应说明其存储类型。
因此变量说明的完整形式应为:
存储类型说明符数据类型说明符变量名,变量名…;例如:
staticinta,b;说明a,b为静态类型变量
autocharc1,c2;说明c1,c2为自动字符变量
staticinta[5]={1,2,3,4,5};说明a为静整型数组
externintx,y;说明x,y为外部整型变量
与指针有关的各种说明和意义见下表。
int*p;p为指向整型量的指针变量
int*p[n];p为指针数组,由n个指向整型量的指针元素组成。
int(*p)[n];p为指向整型二维数组的指针变量,二维数组的列数为n
int*p()p为返回指针值的函数,该指针指向整型量
int(*p)()p为指向函数的指针,该函数返回整型量
int**pp为一个指向另一指针的指针变量,该指针指向一个整型量。
指针变量的赋值
p可以有以下两种方式:
(1)指针变量初始化的方法inta;
int*p=&a;
(2)赋值语句的方法inta;
int*p;
p=&a;
(1)取地址运算符&
(2)取内容运算符*A.
基本数据类型(5个)
void:
声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果
char:
字符型类型数据,属于整型数据的一种
int:
整型数据,通常为编译器指定的机器字长
float:
单精度浮点型数据,属于浮点数据的一种
double:
双精度浮点型数据,属于浮点数据的一种
B.类型修饰关键字(4个)
short:
修饰int,短整型数据,可省略被修饰的int。
long:
修饰int,长整形数据,可省略被修饰的int。
signed:
修饰整型数据,有符号数据类型
unsigned:
修饰整型数据,无符号数据类型
C.复杂类型关键字(5个)
struct:
结构体声明
union:
共用体声明
enum:
枚举声明
typedef:
声明类型别名
sizeof:
得到特定类型或特定类型变量的大小
D.存储级别关键字(6个)
auto:
指定为自动变量,由编译器自动分配及释放。
通常在栈上分配
static:
指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部
register:
指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数
extern:
指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
const:
与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变)
volatile:
与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值
2流程控制关键字
A.跳转结构(4个)
return:
用在函数体中,返回特定值(或者是void值,即不返回值)
continue:
结束当前循环,开始下一轮循环
break:
跳出当前循环或switch结构
goto:
无条件跳转语句
B.分支结构(5个)
if:
条件语句,后面不需要放分号
else:
条件语句否定分支(与if连用)
switch:
开关语句(多重分支语句)
case:
开关语句中的分支标记
default:
开关语句中的“其他”分治,可选。
C.循环结构(3个)
for:
for循环结构,for(1;2;3)4;的执行顺序为1->2->4->3->2...循环,其中2为循环条件。
在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次,也可能一次也不计算。
循环体可能多次执行,也可能一次都不执行。
do:
do循环结构,do1while
(2);的执行顺序是1->2->1...循环,2为循环条件
while:
while循环结构,while
(1)2;的执行顺序是1->2->1...循环,1为循环条件
4]以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环
1级优先级左结合
()圆括号
[]下标运算符
->指向结构体成员运算符
.结构体成员运算符
2级优先级右结合
!
逻辑非运算符
~按位取反运算符
++前缀增量运算符
--前缀增量运算符
+正号运算符
-负号运算符
(类型)类型转换运算符
*指针运算符
&地址与运算符
sizeof长度运算符
3级优先级左结合
*乘法运算符
/除法运算符
%取余运算符
4级优先级左结合
+加法运算符
-减法运算符
5级优先级左结合
<<左移运算符
>>右移运算符
6级优先级左结合
<、<=、>、>=关系运算符
7级优先级左结合
==等于运算符
!
=不等于运算符
8级优先级左结合
&按位与运算符
9级优先级左结合
^按位异或运算符
10级优先级左结合
|按位或运算符
11级优先级左结合
&&逻辑与运算符
12级优先级左结合
||逻辑或运算符
13级优先级右结合
:
条件运算符
14级优先级右结合
=+=-=*=/=%=&=^=|=<<=>>=全为赋值运算符
15级优先级左结合
,逗号运算符