GESP 客观题评测系统

2023-09-Level-2

2023-09-Level-2

试卷解析总览,可直接查看每题答案与解析。

单选题(每题 2 分)

1 题(单选题

我国第一台大型通用电子计算机使用的逻辑部件是()。

A.
集成电路
B.
大规模集成电路
C.
晶体管
D.
电子管

正确答案D

解析详情

【答案】D 【考点】计算机基础 【解析】我国第一台大型通用电子计算机(103机)于1958年研制成功,使用的逻辑部件是电子管。 【易错点】

2 题(单选题

下列流程图的输出结果是()?

Image
A.
5 12
B.
12 5
C.
5 5
D.
12 12

正确答案B

解析详情

【答案】B 【考点】流程图与输入输出 【解析】流程图中首先给 x 赋值 5,y 赋值 12,最后输出 y 和 x,因此输出结果为 12 5。 【易错点】

3 题(单选题

如果要找出整数 a、b 中较大一个,通常要用下面哪种程序结构?()。

A.
顺序结构
B.
循环结构
C.
分支结构
D.
跳转结构

正确答案C

解析详情

【答案】C 【考点】程序控制结构 【解析】比较两个数的大小通常需要进行逻辑判断,属于分支结构(如 if 语句)。 【易错点】

4 题(单选题

以下不是C++关键字的是()。

A.
continue
B.
cout
C.
break
D.
goto

正确答案B

解析详情

【答案】B 【考点】C++关键字 【解析】cout 是标准库中的对象,不是关键字;continue、break 和 goto 都是 C++ 的关键字。 【易错点】

5 题(单选题

C++ 表达式 int(-123.123 / 10) 的值是()。

A.
-124
B.
-123
C.
-13
D.
-12

正确答案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 << ' ';
A.
; ;
B.
int i = 1; i < N; i++
C.
int i = N; i > 0; i--
D.
int i = N; i > 1; 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 1
int 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;
}
A.
i = j
B.
j != j
C.
i >= j
D.
i == j

正确答案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.
break
B.
continue
C.
exit
D.
return

正确答案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;
A.
1#0
B.
1#
C.
1#1#1#1#1
D.
1#1#1#1#1#0

正确答案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.
16
B.
28
C.
35
D.
36

正确答案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;
A.
1
B.
3
C.
15
D.
没有输出

正确答案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;
A.
1
B.
3, 9, 11
C.
3, 6, 9, 10
D.
1, 5, 7, 11, 13, 15

正确答案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
ABCABCA
int N = 0;
cout << "请输入行列数量:";
cin >> N;
for (int i = 1; i < N + 1; i++) {
    for (int j = 0; j < i; j++) {
        cout << _____; // 此处填写代码
    }
    cout << endl;
}
A.
'A' + j / 3
B.
(char)('A' + j / 3)
C.
'A' + j % 3
D.
(char)('A' + j % 3)

正确答案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 1
int 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.
(lineCount - i - 1) * 2
B.
(lineCount - i) * 2
C.
lineCount - i - 1
D.
lineCount - i

正确答案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.
true
B.
false
C.
True
D.
False

正确答案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++ 是典型的高级程序设计语言。