#include <stdio.h>标准输入输出
表格
| 函数 | 作用 |
|---|---|
printf() |
格式化输出到屏幕 |
scanf() |
格式化读取键盘输入 |
getchar() |
读取单个字符 |
putchar() |
输出单个字符 |
gets() |
读取字符串(不安全,废弃) |
fgets() |
安全读取字符串 |
puts() |
输出字符串,自动换行 |
fopen() |
打开文件 |
fclose() |
关闭文件 |
fprintf() |
写入文件 |
fscanf() |
读文件 |
2. #include <stdlib.h> 通用工具、内存、随机数
表格
| 函数 | 作用 |
|---|---|
malloc(size_t n) |
动态分配内存 |
free(void *p) |
释放动态内存 |
calloc() |
分配并初始化为 0 的内存 |
realloc() |
重新调整内存大小 |
rand() |
生成随机整数 0,RAND_MAX |
srand() |
设置随机数种子 |
atoi() |
字符串转 int |
atof() |
字符串转 double |
exit() |
直接结束程序 |
3. #include <string.h> 字符串处理
表格
| 函数 | 作用 |
|---|---|
strlen(s) |
获取字符串长度(不含 '\0') |
strcpy(dst,src) |
字符串拷贝(不安全) |
strncpy() |
限定长度拷贝 |
strcat(a,b) |
字符串拼接 |
strncat() |
限定长度拼接 |
strcmp(a,b) |
字符串比较,相等返回 0 |
strncmp() |
比较前 n 个字符 |
strchr(s,c) |
查找字符 c 第一次出现位置 |
strstr(s1,s2) |
查找子串 s2 在 s1 中的位置 |
memcpy() |
内存块拷贝(内存复制,不管字符串) |
memset() |
内存块批量赋值,常用于初始化数组 |
4. #include <math.h> 数学函数
⚠️编译时 Linux/gcc 需要加 -lm
| 函数 | 作用 |
|---|---|
|sqrt(x)| 平方根 |
|pow(a,b)|a 的 b 次方 |
|fabs(x)|double 浮点数绝对值 |
|abs(x)|int 整数绝对值 (stdlib.h)|
|sin(),cos(),tan()| 三角函数,参数是弧度|
|log(x)| 自然对数 ln|
|log10(x)| 以 10 为底对数 |
|ceil(x)| 向上取整 |
|floor(x)| 向下取整 |
|round(x)| 四舍五入 |
5. #include <ctype.h> 字符判断
返回非 0 代表条件成立,0 代表不成立
| 函数 | 作用 |
|---|---|
isalpha(c) |
是否字母 a-z A‑Z |
isdigit(c) |
是否数字字符 '0'~'9' |
isalnum(c) |
是否字母或数字 |
islower(c) |
是否小写字母 |
isupper(c) |
是否大写字母 |
tolower(c) |
转小写 |
toupper(c) |
转大写 |
6. #include <time.h> 时间日期
| 函数 | 作用 |
|---|---|
time(&t) |
获取系统时间戳(秒) |
clock() |
获取程序运行时钟,用于计时 |
localtime() |
时间戳转本地时间结构体 |
7. #include <stdbool.h> C99
bool类型,宏true、false
8. #include <limits.h>
各种整型最大最小值:INT_MAX、INT_MIN、LONG_MAX