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 参数并返回一个 intprint_line 只完成输出,所以返回类型是 void,调用后不能把它当作数值使用。

关键过程与易错点

  • 参数只在函数内部可见。int maximum(int a, int b) 中的 ab 是该函数自己的变量。
  • void 函数的每条可能路径都要 return 一个值;否则结果不确定。
  • 调用时实参按顺序与参数匹配:maximum(3, 5)3a,把 5b
  • 函数可以没有参数,例如 void print_line(),但 () 不能省略。

动手检查

int absolute_value(int x),当 x 小于零时返回 -x,否则返回 x。输入 -709 分别测试。

再写一个无返回值的函数输出一行提示文字,确认它只能作为一条语句调用。

立即练习

难度 题目 题解 训练目标
基础 洛谷 P5735:距离函数 题解 定义参数和返回类型都明确的函数。
巩固 洛谷 P5736:深基7.例2:质数筛 题解 把“判断一个数是否为质数”封装成 bool 函数。