某一系列数据的规律是从第 3 个数值开始是前两个数之和。下面的代码求第 $N$ 个数的值,$N$ 限定为大于 $2$。( )
int start1; // 第1个数
int start2; // 第2个数
int N; //求N个数的值
int tmp;
cin >> start1 >> start2 >> N;
for (int i = 2; i < N; i++){
tmp = start1 + start2;
start1 = start2;
start2 = tmp;
}
cout << start2;答案A。for循环每次迭代后执行更新表达式(如i++)。循环体执行次数由初始值、条件和更新共同决定。
循环变量的初值、终值和步长共同决定循环次数。for(i=0;i<n;i++)执行n次。
【考点】循环控制|数组(迭代)|递推
GESP 二级「循环结构」与「递推」交叉考查。命题人刻意用「斐波那契式递推」这个经典模型,卡住的是学生对循环边界与迭代次数的直觉——很多人看到「第 N 项」就下意识想 for(0..N),却忽略起始索引与目标项的偏移关系。