GESP 二级 · GESP 202412 C++ 二级 第 4 题

选择题 · 答案 B

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

题目

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

for (int i=0; i<10; i++)
    printf("%d",i);
答案:B

解题思维

答案B。追踪程序输出时注意整数除法截断和循环条件的边界值。变量初始值对结果影响很大。

常见错误

整数除法截断容易忽略!if(n%i==0)中%是取余运算不是除法。

详细解析(节选)

【考点】for循环|循环变量|输出格式

🎯 考纲定位 本题考查GESP二级"循环结构"模块的基础应用。命题人放这道题,卡住的是90%考生对循环起始值的模糊认知——很多人看到"for循环"就默认从1开始,这是训练欠佳的典型表现。

🧠 解题思维 三步锁定:1)循环变量初值i=0,这是C++语法规定,不是1;2)条件i<10,边界是9;3)printf("%d",i)每次输出一位数字,无分隔符。关键观察:0-9共10个数,必须全选。推理链条清晰:for从0递增至9,循环体执行10次,每次输出当前i值,拼接成连续数字串。

🪤 陷阱拆解 A选项缺0:命题人利用"数字序列默认从1开始"的思维定势;C/D选项把10当成数字输出:偷换循环终止条件,把i<10误读为i≤10;所有错误选项都只错一处,让你有"差不多"的侥幸感。如果你只背"for循环从1开始"这种伪结论,必然选A;连printf输出格式都不细看,就会选C或D。

🔄 反命题思维 把i=0改成i=1,答案变A;改成i≤10,答案变D。刷到类似题先问:循环初值真的是1吗?边界含不含?输出有空格吗?这三问能筛掉90%的坑。

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