函数与常用库函数速查
一句话目标:会用别人写好的库函数(不必自己造轮子),并理解为什么用库函数前要
#include对应头文件。
函数的定义、调用、参数传递见 GESP2.1简单函数。本篇补齐 库函数 这一块。
第一部分:函数原型与头文件
问题引入:如何求一个数的平方根?—— 用库函数
sqrt()。
使用库函数前,编译器要先知道它的原型(长什么样、收什么参数、返回什么)。两种方式:
- 自己在源码里写出原型(麻烦,不推荐);
- 包含对应头文件(推荐)—— 头文件里已经写好了所有原型。
#include <cmath> // 里面有 sqrt 的原型
cout << sqrt(16); // 4所以”用某个库函数前先 include 它的头文件”,本质就是把原型引进来。
第二部分:数学函数 <cmath>
#include <cmath>| 函数 | 作用 | 例子 |
|---|---|---|
sqrt(x) | 平方根 | sqrt(16) → 4 |
pow(x, y) | x 的 y 次方 | pow(2, 10) → 1024 |
abs(x) | 绝对值 | abs(-5) → 5 |
ceil(x) | 向上取整 | ceil(3.1) → 4 |
floor(x) | 向下取整 | floor(3.9) → 3 |
round(x) | 四舍五入 | round(3.5) → 4 |
第三部分:字符函数 <cctype>
处理单个字符的判断与转换,返回真/假或转换后的字符:
#include <cctype>| 函数 | 功能 |
|---|---|
isalpha(ch) | 是否字母 |
isdigit(ch) | 是否数字(0-9) |
isalnum(ch) | 是否字母或数字 |
islower(ch) | 是否小写字母 |
isupper(ch) | 是否大写字母 |
tolower(ch) | 转成小写 |
toupper(ch) | 转成大写 |
char c = 'A';
if (isupper(c)) c = tolower(c); // c 变成 'a'处理字符串、统计字母数字、大小写转换时极常用。
第四部分:常用工具函数 <algorithm>
#include <algorithm>| 函数 | 作用 |
|---|---|
max(x, y) | 返回较大者 |
min(x, y) | 返回较小者 |
swap(a, b) | 交换 a、b 的值 |
sort(...) | 排序(见 sort函数) |
int big = max(a, b);
swap(x, y); // 比手写 temp 交换更省事
swap一行搞定交换,比 手写 temp 交换更简洁。
第五部分:查文档的好习惯
记不住所有函数很正常。学会查手册:
- C++ 参考手册:
https://cplusplus.com/reference或https://en.cppreference.com/ - AI 工具(ChatGPT / Kimi / 豆包等)也能快速给出用法。
重要的不是背下来,而是知道有这么个函数、会查、会用。
小结
- 用库函数前
#include对应头文件(引入原型)。 <cmath>:sqrt / pow / abs / ceil / floor / round。<cctype>:isalpha / isdigit / islower / isupper / tolower / toupper。<algorithm>:max / min / swap / sort。- 记不住就查手册,会查会用比死记强。
课后小练
- 输入一个数,输出它的平方根(保留两位小数)和它的绝对值。
- 输入一个字符,判断它是字母、数字还是其他;若是字母,输出它的大小写转换。
- 洛谷 B2109 及 cmath / cctype 相关基础题。