GESP 二级 · GESP 202606 C++ 二级 第 12 题

选择题 · 答案 B · 考点:循环控制

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

题目

如下数字图形在通过执行后续的 C++ 代码时,输入 $10$ 来输出。横线处应填入的代码是( )。

$1$ $1$ $1$ $1$ $1$ $1$ $1$ $1$ $1$ $1$ $1$ $1$ $0$ $0$ $0$ $0$ $0$ $0$ $0$ $1$ $1$ $0$ $1$ $0$ $0$ $0$ $0$ $0$ $0$ $1$ $1$ $0$ $0$ $1$ $0$ $0$ $0$ $0$ $0$ $1$ $1$ $0$ $0$ $0$ $1$ $0$ $0$ $0$ $0$ $1$ $1$ $0$ $0$ $0$ $0$ $1$ $0$ $0$ $0$ $1$ $1$ $0$ $0$ $0$ $0$ $0$ $1$ $0$ $0$ $1$ $1$ $0$ $0$ $0$ $0$ $0$ $0$ $1$ $0$ $1$ $1$ $0$ $0$ $0$ $0$ $0$ $0$ $0$ $1$ $1$ $1$ $1$ $1$ $1$ $1$ $1$ $1$ $1$ $1$ $1$

int N;
cin >> N;
for (int i = 1; i < N + 1; i++) {
    for (int j = 1; j < N + 1; j++)
        if (________)
            cout << "1 ";
        else
            cout << "0 ";
    cout << endl;
}
答案:B

考点

循环控制

解题思维

答案B。考点: 循环结构——for/while的执行与嵌套。

常见错误

关键提醒:C++中的^是异或运算符,不是乘方!2^5=7而非32。这是最高频的错误。

详细解析(节选)

【考点】循环控制|条件表达式|逻辑运算

考纲定位 本题属于 GESP 二级《算法与程序设计》模块"循环与条件判断"的典型题型,考查核心能力是:将几何图案(边框 + 对角线)抽象为对循环变量 i、j 的布尔条件。命题人卡住的是大量考生对循环起止值(从 1 开始)和逻辑连接词(or 与 and)的混淆。

解题思维 观察图形:第一/十行全 1 → i==1 或 i==N;第一/十列全 1 → j==1 或 j==N;主对角线全 1 → i==j。其余位置均为 0。因此条件应为这五条线的并集:i==j or i==1 or j==1 or i==N or j==N。选项 B 完全吻合——它用五个 OR 分支精确对应五类"1"的位置。

陷阱拆解

最阴险的是:图形里对角线也是 1,若只写边框条件(i==1 or i==N or j==1 or j==N)会漏掉对角线,导致输出错位;反之若只写 i==j 则只剩对角线。命题人用"边框 + 对角线"双重特征,专门剔除只背结论的考生。

反命题思维 若把题目改为"只保留边框,对角线为 0",则条件应删去 i==j,答案就变成 i==1 or i==N or j==1 or j==N。下次遇到类似题先问:这 1 到底是哪几条线?是并集还是交集?并集用 or,交集用 and。

同考点真题

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