GESP 一级 · GESP 202412 C++ 一级 第 9 题

选择题 · 答案 C

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

题目

下面 C++ 代码执行后输出的是( )。

int tnt = 0;
for (i = 0; i < 100; i++)
    tnt += i % 10;
cout << tnt;
答案:C

解题思维

答案C。逐行追踪代码:从main开始,记录每个变量的值变化。注意循环的起止条件和累加过程。

常见错误

逐行模拟时建议画表格记录变量值的变化过程,特别是循环体中的变化。

详细解析(节选)

1. 🎯 考纲定位

GESP一级「基本编程概念」模块,考点是循环控制+取模运算。命题人把 tnt 初始值放在循环外、循环体里只写 i%10 的累加,就是要卡住"把 tnt 当成计数器"的惯性错误。

2. 🧠 解题思维

看到 tnt+=i%10 先识别:i 每次增加 1,i%10 呈 0,1,2,3,4,5,6,7,8,9 循环,周期 10。把 100 次分成 10 个周期,每个周期累加 0~9 的和是 45,10 个周期就是 450。通法是识别循环体里的运算是否有周期性,用"周期和×周期数"替代逐次累加。

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