如下 C++ 代码执行时,下列说法正确的是( )。
int N, i;
cin >> N;
for (i = 2; i < N; i++)
if (N % i == 0) {
cout << "1#";
break;
} else
cout << "0#";答案B。if-else可以嵌套,if子句和else子句都可以嵌套if-else。else与最近的未匹配if结合。
else与最近的未匹配且未加花括号的if结合。建议用花括号明确层次。
【考点】循环控制|条件判断|输入输出
GESP 一级 C++ 第 3 章"循环结构"核心考点。命题人专门设计这道题卡住两类考生:一类是把 i < N 误读成 i <= N 导致边界判断全错;另一类是认为"素数就该输出 1#",没看清循环里只有 N % i == 0 才输出 1#。