题目
下面的 C++ 代码执行后将输出 +#+#3#。( )
int i;
for (i = 0; i < 3; i++){
if (i == 2)
continue;
printf("+#");
}
cout << i << '#';
答案:A
考点
循环结构
解题思维
答案A。追踪程序输出时注意整数除法截断和循环条件的边界值。变量初始值对结果影响很大。
常见错误
整数除法截断容易忽略!if(n%i==0)中%是取余运算不是除法。
详细解析(节选)
【考点】循环结构|continue 语句|混合输出
1. 🎯 考纲定位
本题考查"循环结构与 continue 语句的交互",GESP 二级大纲"流程控制"模块核心考点。命题人卡住的是 80% 考生对 continue 的误解——很多人把它当成"跳出循环",实际它只跳过本次迭代剩余代码,循环变量仍正常自增。
同考点真题
- 第 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);看解析 →