GESP 客观题评测系统
2023-09-Level-2
2023-09-Level-2
试卷解析总览,可直接查看每题答案与解析。
第 1 题(单选题)
我国第一台大型通用电子计算机使用的逻辑部件是()。
正确答案D
解析详情
【答案】D 【考点】计算机基础 【解析】我国第一台大型通用电子计算机(103机)于1958年研制成功,使用的逻辑部件是电子管。 【易错点】
第 2 题(单选题)
下列流程图的输出结果是()?

正确答案B
解析详情
【答案】B 【考点】流程图与输入输出 【解析】流程图中首先给 x 赋值 5,y 赋值 12,最后输出 y 和 x,因此输出结果为 12 5。 【易错点】
第 3 题(单选题)
如果要找出整数 a、b 中较大一个,通常要用下面哪种程序结构?()。
正确答案C
解析详情
【答案】C 【考点】程序控制结构 【解析】比较两个数的大小通常需要进行逻辑判断,属于分支结构(如 if 语句)。 【易错点】
第 4 题(单选题)
以下不是C++关键字的是()。
正确答案B
解析详情
【答案】B 【考点】C++关键字 【解析】cout 是标准库中的对象,不是关键字;continue、break 和 goto 都是 C++ 的关键字。 【易错点】
第 5 题(单选题)
C++ 表达式 int(-123.123 / 10) 的值是()。
正确答案D
解析详情
【答案】D 【考点】算术运算与类型转换 【解析】-123.123 / 10 = -12.3123。强制类型转换为 int 时向零取整,结果为 -12。 【易错点】
第 6 题(单选题)
以下C++代码实现从大到小的顺序输出 N 的所有因子。例如,输入 N = 18 时输出 18 9 6 3 2 1,横线处应填入()。
int N = 0;
cin >> N;
for (_____) // 此处填写代码
if (!(N % i))
cout << i << ' ';正确答案C
解析详情
【答案】C 【考点】循环结构 with 因子运算 【解析】要从大到小输出因子,循环变量 i 应从 N 开始递减至 1。选项 C 符合题意。
第 7 题(单选题)
如下图所示,输出 N 行 N 列的矩阵,对角线为 1,横线处应填入()。
请输入行列数量:9
1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0
0 0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 1int N = 0;
cout << "请输入行列数量:";
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;
}正确答案D
解析详情
【答案】D 【考点】双层循环与矩阵处理 【解析】矩阵对角线的特点是行下标和列下标相等,即 i == j。
第 8 题(单选题)
下面C++代码用于判断N是否为质数(素数),约定输入N为大于等于2的正整数,请在横线处填入合适的代码()。
int N = 0, i = 0;
cout << "请输入一个大于等于2的正整数";
cin >> N;
for (i = 2; i < N; i++) {
if (N % i == 0) {
cout << "非质数";
____; // 此处填写代码
}
}
if (i == N)
cout << "是质数";正确答案A
解析详情
【答案】A 【考点】循环控制结构 【解析】一旦找到一个能整除 N 的因子,就说明 N 不是质数,应使用 break 跳出循环。
第 9 题(单选题)
下面C++代码执行后的输出是()。
int N = 9;
for (int i = 2; i < N; i++)
if (N % i)
cout << "1#";
cout << "0" << endl;正确答案D
解析详情
【答案】D 【考点】循环与条件判断 【解析】i 从 2 到 8 遍历。当 N%i 不为 0 时输出 "1#"。对于 N=9,i=2, 4, 5, 6, 7, 8 时 N%i 均不为 0(共 6 次),i=3 时 N%3=0 不输出。最后输出 "0"。
第 10 题(单选题)
下面 C++ 代码执行后的输出是()。
int cnt = 0;
for (int i = 1; i < 9; i++)
for (int j = 1; j < i; j += 2)
cnt += 1;
cout << cnt;正确答案A
解析详情
【答案】A 【考点】嵌套循环 【解析】外层循环 i 从 1 到 8。内层循环 j 从 1 开始,每次加 2,且 j < i。通过逐层计算可得总次数为 16。
第 11 题(单选题)
下面 C++ 代码执行后的输出是()。
int cnt = 0;
for (int i = 1; i < 13; i += 3)
for (int j = 1; j < i; j += 2)
if (i * j % 2 == 0)
break;
else
cnt += 1;
cout << cnt;正确答案B
解析详情
【答案】B 【考点】循环控制与条件分支 【解析】分析双层循环及 if (i * j % 2 == 0) break 的逻辑,cnt 最终累加值为 3。
第 12 题(单选题)
下面 C++ 代码执行后的输出是()。
int x = 1;
while (x < 100) {
if (!(x % 3))
cout << x << ",";
else if (x / 10)
break;
x += 2;
}
cout << x;正确答案B
解析详情
【答案】B 【考点】while 循环与控制流 【解析】x 初始为 1,每次加 2。x=3, 9 时输出并带逗号;x=11 时满足 x/10 条件跳出循环并输出 11。
第 13 题(单选题)
下面图形每一行从字母A开始,以ABC方式重复。行数为输入的整数。请在C++代码段横线处填入合适代码()。
请输入字母行数:7
A
AB
ABC
ABCA
ABCAB
ABCABC
ABCABCAint N = 0;
cout << "请输入行列数量:";
cin >> N;
for (int i = 1; i < N + 1; i++) {
for (int j = 0; j < i; j++) {
cout << _____; // 此处填写代码
}
cout << endl;
}正确答案D
解析详情
【答案】D 【考点】字符运算与循环嵌套 【解析】图形要求字母 A-C 循环,使用 j % 3 取得余数,并通过 (char)('A' + j % 3) 实现字符循环输出。 【易错点】
第 14 题(单选题)
输入行数,约定1 ≤ lineCount ≤ 9,输出以下图形。应在C++代码横线处填入()。
输入行数量:9
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 5 6 5 4 3 2 1
1 2 3 4 5 6 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1int lineCount = 0;
cout << "请输入行数量:";
cin >> lineCount;
for (int i = 0; i < lineCount; i++) {
for (int j = 0; j < ___; j++) // 此处填写代码
cout << ' ';
for (int j = 1; j < i + 1; j++)
cout << j << " ";
for (int j = i + 1; j > 0; j--)
cout << j << " ";
cout << endl;
}正确答案A
解析详情
【答案】A 【考点】循环嵌套与图形规律 【解析】观察图形,每行起始空格数随行号 i 增加而减少。当 i=0 时需要最多的空格,当 i=lineCount-1 时空格为 0。代入选项可知 (lineCount - i - 1) * 2 符合规律。 【易错点】
第 15 题(单选题)
某班级人数不知,连续输入成绩直到输入负数停止,输入结束后求出平均成绩。在以下C++代码横线处应填入是()。
double totalScore = 0; // 总分
int studCount = 0; // 总人数
while (____) { // 此处填写代码
cin >> score;
if (score < 0)
break;
totalScore += score;
studCount += 1;
}
cout << "平均分=" << totalScore / studCount;正确答案A
解析详情
【答案】A 【考点】while 循环控制 【解析】由于循环退出的逻辑在循环体内部通过 break 实现,while 条件应始终为真。在 C++ 中,布尔字面量为 true。 【易错点】
判断题(每题 2 分)
第 1 题(判断题)
我们常说的互联网(Internet)是一个覆盖全球的广域网络,它不属于任何一个国家。
正确答案正确
解析详情
【答案】✓ 【考点】计算机网络基础 【解析】互联网是覆盖全球的广域网,不属于任何单一国家。
第 2 题(判断题)
神威·太湖之光超级计算机是中国自主研制的超级计算机,在全球超级计算机TOP500排行榜中多次荣膺榜首。
正确答案正确
解析详情
【答案】✓ 【考点】计算机常识 【解析】神威·太湖之光是中国自主研制的超算,曾多次在 TOP500 排行榜位列第一。
第 3 题(判断题)
C++表达式 7.8 / 2 的值为 3.9,类型为 float。
正确答案错误
解析详情
【答案】✗ 【考点】数据类型与运算 【解析】7.8 / 2 的值为 3.9,但在 C++ 中,带小数点的常量默认为 double 类型。
第 4 题(判断题)
C++表达式 (2 * 3) || (2 + 5) 的值为 67。
正确答案错误
解析详情
【答案】✗ 【考点】逻辑运算 【解析】(2 * 3) || (2 + 5) 即 6 || 7,逻辑或运算的结果为布尔值 true (1),不是 67。
第 5 题(判断题)
如果 m 和 n 为 int 类型变量,则执行 for (m = 0, n = 1; n < 9; n = ((m = 3 * n, m + 1), m = 1);之后 n 的值为偶数。
正确答案正确
解析详情
【答案】✓ 【考点】循环与逗号表达式 【解析】分析循环更新部分 n = ((m = 3 * n, m + 1), m = 1),由于逗号表达式最后取 m=1,最终 n 的值为偶数。
第 6 题(判断题)
如果 a 为 int 类型的变量,则表达式 (a >= 5 && a <= 10) 与 (5 <= a <= 10) 的值总是相同的。
正确答案错误
解析详情
【答案】✗ 【考点】逻辑表达式 【解析】5 <= a <= 10 在 C++ 中会被解析为 (5 <= a) <= 10,其结果恒为真,与数学范围判断不等价。
第 7 题(判断题)
下面C++代码执行后的输出为 10。
int cnt = 0;
for (int i = 1; i < 10; i++) {
cnt += 1;
i += 1;
}
cout << cnt;正确答案错误
解析详情
【答案】✗ 【考点】循环控制 【解析】循环体内 i += 1 加上循环头的 i++,i 每次增加 2。执行 5 次后 i=11 退出,cnt 为 5。
第 8 题(判断题)
执行以下C++代码后的输出为 0。
int rst = 0;
for (int i = -100; i < 100; i += 2)
rst += i;
cout << rst;正确答案错误
解析详情
【答案】✗ 【考点】算术运算与循环 【解析】循环计算 -100, -98, ..., 98 之和,由于缺少 100 来抵消 -100,结果为 -100。
第 9 题(判断题)
执行以下C++代码后的输出为 30。
int rst = 0;
for (int i = 0; i < 10; i += 2)
rst += i;
cout << rst;正确答案错误
解析详情
【答案】✗ 【考点】算术运算与循环 【解析】循环计算 0, 2, 4, 6, 8 之和,结果为 20。
第 10 题(判断题)
C++是一种高级程序设计语言。
正确答案正确
解析详情
【答案】✓ 【考点】计算机语言基础 【解析】C++ 是典型的高级程序设计语言。