C 语言常用头文件及里面核心函数

  1. #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

相关推荐
张张123y11 分钟前
DSH 插件调试避坑:client.js 设置面板、热重载与高频报错排查表
开发语言·javascript·人工智能·开源·ecmascript·后端开发·ai agent
Navigator_Z2 小时前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
冻柠檬飞冰走茶3 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
FRing033 小时前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2
雪落漂泊3 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
波力海苔夹心脆6754 小时前
C# WPF 资源字典详解:ResourceDictionary、MergedDictionaries 与自定义控件案例
开发语言·c#·wpf·入门教程·resource·资源字典
不会算法的笨小孩5 小时前
异常的使用以及会出现的问题
开发语言·c++·c++11·异常
Hhy_11077 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
starzy19907 小时前
深入理解Scala函数定义:从方法到函数的类型跨越
开发语言·scala
starzy19907 小时前
深入理解Scala递归函数:从栈溢出到尾调用优化
开发语言·scala