C++ 竞赛入门
定义
函数定义
本节学会什么
- 写出函数的返回类型、名称、参数和函数体
- 使用
void表示函数不返回值 - 让函数只负责一个清晰的小任务
为什么需要它
函数不是一段随意搬走的代码。它需要说明“调用者给我什么”和“我交还什么”。这个约定越清楚,主程序越容易组合和测试。
最小可运行示例
#include <iostream>
int maximum(int a, int b) {
if (a > b) {
return a;
}
return b;
}
void print_line() {
std::cout << "-----\n";
}
int main() {
print_line();
std::cout << maximum(3, 5) << '\n';
return 0;
}
maximum 有两个 int 参数并返回一个 int;print_line 只完成输出,所以返回类型是 void,调用后不能把它当作数值使用。
关键过程与易错点
- 参数只在函数内部可见。
int maximum(int a, int b)中的a、b是该函数自己的变量。 - 非
void函数的每条可能路径都要return一个值;否则结果不确定。 - 调用时实参按顺序与参数匹配:
maximum(3, 5)把3给a,把5给b。 - 函数可以没有参数,例如
void print_line(),但()不能省略。
动手检查
写 int absolute_value(int x),当 x 小于零时返回 -x,否则返回 x。输入 -7、0、9 分别测试。
再写一个无返回值的函数输出一行提示文字,确认它只能作为一条语句调用。
立即练习
| 难度 | 题目 | 题解 | 训练目标 |
|---|---|---|---|
| 基础 | 洛谷 P5735:距离函数 | 题解 | 定义参数和返回类型都明确的函数。 |
| 巩固 | 洛谷 P5736:深基7.例2:质数筛 | 题解 | 把“判断一个数是否为质数”封装成 bool 函数。 |