题目
下面 C++ 代码执行后的输出是( )。
int i, tnt = 1;
for (i = 0; i < 5; i++)
tnt *= i;
printf("%2d%2d\n", tnt, i);
答案:D
考点
循环结构
解题思维
答案D。逐行追踪代码:从main开始,记录每个变量的值变化。注意循环的起止条件和累加过程。
常见错误
逐行模拟时建议画表格记录变量值的变化过程,特别是循环体中的变化。
详细解析(节选)
【考点】循环结构|变量初始化|乘法分配律
1. 🎯 考纲定位
本题考查 循环结构 与 变量初始化,属于 GESP 一级大纲「基础语法」模块。命题人卡住的是「循环执行次数统计」这个薄弱点——一级考生常误以为循环会执行 5 次(i 从 1 到 5),却忽略了 i 初始为 0 且循环条件为 i < 5 的事实。
同考点真题
- 第 23 题· NOIP 2008 普及组初赛试题 · 答案 23看解析 →
- 第 25 题· NOIP 2008 普及组初赛试题 · 答案 5 4 10 1 6 22 -59 -6 -11 -6看解析 →
- 第 26 题· NOIP 2008 普及组初赛试题 · 答案 DBGEFCA看解析 →
- 第 27 题· NOIP 2008 普及组初赛试题 · 答案 change[i] >= 'A' && change[i] <= 'Z'change[i] <= 'Z'str[i] >= 'A' && str[i] <= 'Z'str[i] <= 'Z'str[i] = change[str[i] - 'a'];ChangeString();看解析 →
- 第 28 题· NOIP 2008 普及组初赛试题 · 答案 a[left]a[j]<valuea[j]<=valuevalue>a[j]value>=a[j]a[i]>valuea[i]>=valuea[i]=value;i+1,right,nFindKth(left,i-1,n);看解析 →