C语言语法
(写于程序设计期中考的前一晚的突击复习,然后发现很多都不会,就记了记)
要复习:关键字,运算符优先级,
标识符
- C语言中用来对变量、符号常量、函数、数组、类型等数据对象命名的有效字符序列统称为标识符
- C语言规定标识符只能由 字母、数字 和 下划线 3种字符组成,且第一个字符必须为字母或下划线
- 合法
Sum,average,_total,day,month,Student_name,lotus_1_2_3,BASIC - 不合法
M.D.John,$123,#33,3D64,a>b
C语言中的关键字
(待补充详细说明) auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,goto,if,int,long,register,return,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile,while
常量
字面常量
12,0,-3;4.6,-1.23;'a','d'符号常量(含义清楚,一改全改)
#define PRICE 30
#define PI 3.14159
#define EPSLON 1e-6 #define MAXN 1024
转义字符常量
转义字符 | 含义 |
---|---|
响铃 | |
退格 | |
换页 | |
换行 | |
回车 | |
水平制表符 | |
垂直制表符 | |
\\ |
反斜杠 |
\' |
单引号 |
\" |
双引号 |
\0 | 空字符 |
1-3个八进制数 | |
hh为1-2个十六进制数 |
输入输出格式(待补充详细说明)
格式字符 | 输出 | 输入 |
---|---|---|
d,i | 带符号十进制整数 | 带符号十进制整数 |
u | 不带符号十进制整数 | 不带符号十进制整数 |
o | 八进制无符号整数 | 八进制无符号整数 |
x | 十六进制无符号整数(小写) | 十六进制无符号整数(小写) |
X | 十六进制无符号整数(大写) | 十六进制无符号整数(大写) |
c | 单个字符 | 单个字符 |
s | 字符串 | 字符串 |
f,F | 浮点数(小数点后有六位) | 浮点数(小数点后有六位) |
e,E | 指数形式的浮点数(小数点后有六位) | 指数形式的浮点数(小数点后有六位) |
g,G | 自动选择指数或浮点数格式(宽度较短的) | 自动选择指数或浮点数格式 |
附加格式 | 输出 | 输入 |
---|---|---|
l | 指明输出项的类型 | 修饰d,o,x,u时,表示输入长整型实数;修饰f,F,e,E时,表示输入长浮点型实数(按double型储存 |
L | 指明输出项的类型 | 修饰f,F,e,E时,表示输入长浮点型实数(按long double型储存) |
h | 指明输出项的类型 | 修饰d,i,o,x,u时,表示输入短整型实数; |
ll | 指明输出项的类型 | 修饰d,o,x,u时,表示输入长长整型实数;修饰f,F,e,E时,表示输入长长浮点型实数(按long long double型储存) |
w | 指明输出项的宽度 输出项宽度为w个字符,不足时用空格填充 | |
p | 对实数,表示输出p位小数;对字符串,表示截取的字符个数 | |
- | 左对齐输出 | |
+ | 正数也带符号输出,显示正负号 | |
# | 八进制、十六进制前缀输出和浮点数自动添加小数点(确保至少由一个数字在小数点后) | |
* | 本输入项在输入后不存储 |
库函数
(待补充详细说明) + 字符数据的输入输出
void putchar(char *c)
int getchar(void)
- 格式输入和输出 printf()
scanf()
- 字符串处理函数
strcpy(字符数组1,字符数组2) 功能:将字符数组2的内容复制到字符数组1中
strcat(字符数组1,字符数组2) 功能:将字符数组2的内容追加到字符数组1的尾部
strlen(字符数组) 功能:返回字符数组的长度
strcmp(字符数组1,字符数组2) 功能:比较两个字符数组的大小,若字符数组1大于字符数组2,则返回正数;若字符数组1小于字符数组2,则返回负数;若字符数组1等于字符数组2,则返回0
strncmp(字符数组1,字符数组2,n) 功能:比较两个字符数组的前n个字符,若字符数组1大于字符数组2,则返回正数;若字符数组1小于字符数组2,则返回负数;若字符数组1等于字符数组2,则返回0
strchr(字符数组,字符) 功能:在字符数组中查找字符,若找到,则返回该字符在字符数组中的位置;若没有找到,则返回NULL
strstr(字符数组1,字符数组2) 功能:在字符数组1中查找字符数组2,若找到,则返回字符数组2在字符数组1中的位置;若没有找到,则返回NULL
strlwr(字符数组) 功能:将字符数组中的所有大写字母转换为小写字母
strupr(字符数组) 功能:将字符数组中的所有小写字母转换为大写字母