2024-10-11 10:40:12 +02:00
|
|
|
|
# 第一章:概述
|
2024-10-08 05:44:30 +02:00
|
|
|
|
|
2024-10-11 10:40:12 +02:00
|
|
|
|
## 1.1 介绍
|
2024-10-08 05:44:30 +02:00
|
|
|
|
|
2024-10-11 10:40:12 +02:00
|
|
|
|
* [库函数](/C标准库参考手册.pdf)并非 C 语言本身的组成部分,而是 C 语言编译系统为方便用户使用而提供的公共函数。
|
2024-10-08 05:44:30 +02:00
|
|
|
|
|
2024-10-11 10:40:12 +02:00
|
|
|
|
> [!CAUTION]
|
|
|
|
|
>
|
|
|
|
|
> 不同的编译系统提供的函数数量和函数名、函数功能都不尽相同, 使用时要小心,必要时需要查一下库函数手册。
|
2024-10-08 05:44:30 +02:00
|
|
|
|
|
2024-10-11 10:40:12 +02:00
|
|
|
|
* C 标准库的头文件,如下所示:
|
2024-10-08 05:44:30 +02:00
|
|
|
|
|
2024-10-11 10:40:12 +02:00
|
|
|
|
![](./assets/1.png)
|
2024-10-08 05:44:30 +02:00
|
|
|
|
|
2024-10-11 10:40:12 +02:00
|
|
|
|
## 1.2 常见的头文件和库函数
|
2024-10-08 05:44:30 +02:00
|
|
|
|
|
2024-10-11 10:40:12 +02:00
|
|
|
|
* 我们完全没必要记住所有的 C 语言头文件和库函数(也记不住),只需要熟悉常用的头文件和库函数。
|
2024-10-08 05:44:30 +02:00
|
|
|
|
|
2024-10-11 10:40:12 +02:00
|
|
|
|
| 头文件 | 功能说明 | 常用函数和宏 |
|
|
|
|
|
| :------------ | :--------------------------------------------------------- | :----------------------------------------------------------- |
|
|
|
|
|
| **stdio.h** | 标准输入输出库 | `printf`, `scanf`, `fprintf`,`fscanf`,`fopen`, `fclose`,`fgets`, `fputs` |
|
|
|
|
|
| **stdlib.h** | 标准库,提供内存分配、程序控制、类型转换、随机数生成等功能 | `malloc`, `free`, `exit`, `atoi`, `atof`,`rand`,`srand` |
|
|
|
|
|
| **string.h** | 字符串处理库 | `strlen`, `strcpy`, `strncpy`, `strcat`, `strcmp`,`strstr`, `memset`, `memcpy` |
|
|
|
|
|
| **math.h** | 数学库 | `sin`, `cos`, `tan`, `exp`, `log`, `sqrt`, `pow` |
|
|
|
|
|
| **time.h** | 时间和日期库 | `time`, `clock`, `difftime`, `mktime`, `strftime`, `localtime`,`gmtime` |
|
|
|
|
|
| **ctype.h** | 字符处理库 | `isalnum`, `isalpha`, `isdigit`, `islower`, `isupper`, `tolower`, `toupper` |
|
|
|
|
|
| **stdbool.h** | 布尔类型库 | `bool`, `true`, `false` |
|
|
|
|
|
| **assert.h** | 断言库 | `assert` |
|