GESP 七级 · GESP 202512 C++ 七级 第 10 题

选择题 · 答案 B · 考点:函数与递归、递推

← 整套速查表 GESP 七级 全部真题

题目

下面程序的运行结果为( )。

#include <iostream>
using namespace std;
int f(int n) {
    if (n <= 2) return n * 2;
    return f(n - 1) + f(n - 2);
}
int main() {
    cout << f(5) << endl;
    return 0;
}
答案:B

考点

函数与递归递推

解题思维

模拟程序执行过程,逐行跟踪变量变化,特别关注循环边界和递归终止条件。

常见错误

模拟执行时注意:① 循环变量的起始和终止值;② 递归的边界条件;③ 数据类型转换和精度问题。

详细解析(节选)

【考点】递归|递推关系

1. 🎯 考纲定位

GESP 七级 C++ 递归章节,命题人卡住的是递归边界识别——70% 考生看到 n <= 2 就慌了,要么误判为 n < 2 漏掉 f(2),要么想当然套用斐波那契基础值 f(1)=1, f(2)=1,完全没注意到这题的边界返回值是 n*2。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断