GESP 客观题评测系统
2023-09-Level-1
2023-09-Level-1
试卷解析总览,可直接查看每题答案与解析。
第 1 题(单选题)
我们通常说的“内存”属于计算机中的()。
正确答案C
解析详情
【答案】C
【考点】计算机基础、存储设备
【解析】 内存(RAM)是计算机中的内部存储设备,用于暂时存放 CPU 运算数据以及与硬盘等外部存储器交换的数据。
第 2 题(单选题)
以下C++不可以作为变量的名称的是()。
正确答案D
解析详情
【答案】D
【考点】C++ 变量命名规则
【解析】 C++ 变量名不能包含空格。选项 D “red star” 中间有空格,不符合命名规则。
第 3 题(单选题)
C++表达式 2 - 1 && 2 % 10 的值是()。
正确答案B
解析详情
【答案】B
【考点】运算符优先级、逻辑运算、算术运算
【解析】 1. `2 - 1` 为 1(真)。 2. `2 % 10` 为 2(真)。 3. `1 && 2` 为真,在 C++ 中逻辑表达式的值为 1。因此结果为 1。
第 4 题(单选题)
下面C++代码段执行后的输出是()。
int a = 3, b = 4;
cout << "a+b=" << a+b;正确答案C
解析详情
【答案】C
【考点】输出语句、表达式求值
【解析】 `"a+b="` 是字符串字面量,原样输出。`a+b` 是表达式求值,3+4=7。因此输出 `a+b=7`。
第 5 题(单选题)
在C++语言中,int类型的变量x、y、z的值分别为2、4、6,以下表达式的值为真的是()。
正确答案D
解析详情
【答案】D
【考点】逻辑运算、关系运算、运算符优先级
【解析】 x=2, y=4, z=6。 A. `2 > 4 || 2 > 6` -> `假 || 假` -> 假。 B. `2 != 6 - 4` -> `2 != 2` -> 假。 C. `6 > 4 + 2` -> `6 > 6` -> 假。 D. `x < y || !x < z`:`2 < 4` 为真,`真 || ...` 整个表达式即为真。注意 `!x < z`:`!2` 为 0,`0 < 6` 为真。整体为真。
第 6 题(单选题)
对 int 类型的变量 a、b、c,下列语句不符合C++语法是()。
正确答案B
解析详情
【答案】B
【考点】算术运算、取模运算、逗号表达式
【解析】 在 C++ 中,取模运算符 `%` 要求操作数必须是整数。2.5 是浮点数,因此 `c % 2.5` 不符合语法。
第 7 题(单选题)
下面C++代码执行后的输出是()。
int m = 14;
int n = 12;
if (m % 2 == 0 && n % 2 == 0)
cout << "都是偶数";
else if (m % 2 == 1 && n % 2 == 1)
cout << "都是奇数";
else
cout << "不都是偶数或奇数";正确答案A
解析详情
【答案】A
【考点】分支结构、逻辑运算
【解析】 代码中 m=14, n=12,均为偶数。if 条件 `m % 2 == 0 && n % 2 == 0` 为真,输出“都是偶数”。
第 8 题(单选题)
下面C++代码执行后的输出是()。
int m = 14;
int n = 12;
if (m % 2 && n % 2)
cout << "都是偶数";
else if (m % 2 == 1 && n % 2 == 1)
cout << "都是奇数";
else
cout << "不都是偶数或奇数";正确答案C
解析详情
【答案】C
【考点】分支结构、逻辑运算
【解析】 代码中 m=14, n=12,均为偶数。在 C++ 中,0 为假,非 0 为真。`m % 2` 为 0,`n % 2` 为 0。`if (m % 2 && n % 2)` 即 `if (0 && 0)`,为假。接着进入 `else if (m % 2 == 1 && n % 2 == 1)`,即 `else if (0 == 1 && 0 == 1)`,也为假。最后执行 `else` 分支,输出“不都是偶数或奇数”。
第 9 题(单选题)
下面C++代码执行后的输出是()。
int m = 7;
if (m / 5 || m / 3)
cout << 0;
else if (m / 3)
cout << 1;
else if (m / 5)
cout << 2;
else
cout << 3;正确答案A
解析详情
【答案】A
【考点】分支结构、整数除法、逻辑运算
【解析】 代码中 m=7。`m / 5` 为 1,`m / 3` 为 2。在 C++ 中,非 0 为真。`if (m / 5 || m / 3)` 即 `if (1 || 2)`,结果为真。执行该分支下的 `cout << 0;`,输出 0。
第 10 题(单选题)
下面 C++ 代码段执行后的输出是()。
int cnt = 0;
for (int i = 1; i <= 5; i++)
cnt = cnt + 1;
cout << cnt;正确答案C
解析详情
【答案】C 【考点】循环结构、赋值运算 【解析】循环执行 5 次(i 从 1 到 5),每次 cnt 加 1,最终 cnt 为 5。
第 11 题(单选题)
下面 C++ 代码执行后的输出是()。
int tnt = 0;
for (int i = 1; i < 5; i += 2)
tnt = tnt + i;
cout << tnt;正确答案B
解析详情
【答案】B 【考点】循环结构、算术运算 【解析】i 取值 1 和 3(1 < 5, 3 < 5, 5 不小于 5)。tnt = 0 + 1 + 3 = 4。
第 12 题(单选题)
下面 C++ 代码执行后的输出是()。
int n = 5;
int cnt = 1;
while (n >= 0) {
cnt += 1;
n -= 2;
}
cout << cnt;正确答案B
解析详情
【答案】B 【考点】循环结构、算术运算 【解析】循环过程: 1. n=5, cnt=2, n=3 2. n=3, cnt=3, n=1 3. n=1, cnt=4, n=-1 4. n=-1 不满足条件,循环结束。最终 cnt 为 4。
第 13 题(单选题)
下面 C++ 代码用于求正整数的所有因数,即输出所有能整除一个正整数的数。如,输入 10,则输出为 1、2、5、10;输入12,则输出为1、2、3、4、6、12;输入17,则输出为1、17。在横线处应填入代码是()。
int n = 0;
cout << "请输入一个正整数:";
cin >> n;
for (_____) // 此处填写代码
if (n % i == 0)
cout << i << endl;正确答案D
解析详情
【答案】D 【考点】循环结构、因数概念 【解析】求因数需要检查从 1 到 n 的所有整数。D 选项 `i < n + 1` 涵盖了 n,且 `i++` 是正确的递增方式。
第 14 题(单选题)
在下列代码的横线处填写(),可以使得输出是正整数 1234 各位数字的平方和。
int n = 1234, s = 0;
for ( ; n ; n /= 10)
s += _____;
cout << s << endl;正确答案D
解析详情
【答案】D 【考点】循环结构、取模运算 【解析】要得到各位数字,使用 `n % 10` 取最后一位。平方和即累加 `(n % 10) * (n % 10)`。
第 15 题(单选题)
执行以下 C++ 语言程序后,输出结果是()。
int n = 5, s = 1;
for ( ; n = 0; n--)
s *= n;
cout << s << endl;正确答案A
解析详情
【答案】A 【考点】循环结构、赋值表达式 【解析】循环条件 `n = 0` 是赋值表达式,其值为 0(假),导致循环体不执行。s 保持初始值 1。
判断题(每题 2 分)
第 1 题(判断题)
早期计算机内存不够大,可以将字库固化在一个包含只读存储器的扩展卡中插入计算机主板帮助处理汉字。
正确答案正确
解析详情
【答案】✓ 【考点】计算机历史、存储设备 【解析】早期计算机确实使用汉字字库卡(如联想汉卡)来辅助处理汉字。
第 2 题(判断题)
神威·太湖之光超级计算机是中国自主研制的超级计算机,在全球超级计算机TOP500排行榜中多次荣膺榜首。
正确答案正确
解析详情
【答案】✓ 【考点】计算机常识、国产超级计算机 【解析】神威·太湖之光曾多次位居全球超级计算机 TOP500 排行榜榜首。
第 3 题(判断题)
C++表达式 int(3.14) 的值为 3。
正确答案正确
解析详情
【答案】✓ 【考点】类型转换 【解析】int(3.14) 对浮点数进行向零取整,结果为 3。
第 4 题(判断题)
C++语句 cout << (2, 3, "23") 的输出为 2, 3, 23。
正确答案错误
解析详情
【答案】✗ 【考点】逗号运算符、输出流 【解析】逗号运算符的结果是最后一个表达式的值。cout << (2, 3, "23") 实际输出的是 "23"。
第 5 题(判断题)
C++的循环语句 for (int i = 0; i < 10; i += 2) 表示 i 从 0 开始到 10 结束但不包含 10,间隔为 2。
正确答案正确
解析详情
【答案】✓ 【考点】循环结构 【解析】for (int i = 0; i < 10; i += 2) 中 i 从 0 开始,每次加 2,依次为 0, 2, 4, 6, 8,不包含 10。
第 6 题(判断题)
C++表达式 ('1' + '1') 的值为 '2'。
正确答案错误
解析详情
【答案】✗ 【考点】字符运算 【解析】'1' 的 ASCII 码是 49,'1' + '1' 的值是 49 + 49 = 98,即字符 'b',而不是字符 '2'(ASCII 码 50)。
第 7 题(判断题)
在C++语言中,do-while 循环不可能导致死循环,但 while 有可能。
正确答案错误
解析详情
【答案】✗ 【考点】循环结构 【解析】do-while 循环同样可以产生死循环,例如 do {} while (true);。
第 8 题(判断题)
在下面的C++代码中,由于循环中的 continue 是无条件被执行,因此将导致死循环。
for (int i = 1; i < 10; i++) continue;正确答案错误
解析详情
【答案】✗ 【考点】循环结构 【解析】该循环中 i 会从 1 增加到 10,当 i 等于 10 时循环终止,不会导致死循环。
第 9 题(判断题)
在C++代码中,不可以将变量命名为cout,因为cout是C++的关键字。
正确答案错误
解析详情
【答案】✗ 【考点】变量命名规则 【解析】cout 不是 C++ 的关键字,而是 std 命名空间中的一个预定义对象。虽然不推荐,但在特定作用域下可以将其定义为变量。
第 10 题(判断题)
C++ 是一种高级程序设计语言。
正确答案正确
解析详情
【答案】✓ 【考点】计算机常识 【解析】C++ 属于高级程序设计语言。