GESP Level 2 · 2023-12

客观题逐题讲义

15 道单选 + 10 道判断。每题按“题干 → 自己想 → 答案 → 知识点 → 分步推导 → 易错点”组织,适合课堂讲评和课后复习。

25客观题总数
15单选题
10判断题
50总分

一、单选题逐题讲评

单选题 · 1

第 1 题(单选题)

#
审题基础语法

以下不可以做为C++变量的是()。

A.FiveStar
B.fiveStar
C.5Star
D.Star5
展开:答案、思考步骤与易错点
正确答案C

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

讲评时可以先让学生口头说出排除理由,再打开解析核对。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 2

第 2 题(单选题)

#
审题基础语法

在C++中,与for(int i = 10; i < 20; i += 2) cout << i; 输出结果相同的是()。

A.for(int i = 10; i < 19; i += 2) cout << i;
B.for(int i = 11; i < 19; i += 2) cout << i;
C.for(int i = 10; i < 21; i += 2) cout << i;
D.以上均不对
展开:答案、思考步骤与易错点
正确答案A

知识点讲解

基础语法与审题

先这样想

先列变量每轮变化,再看输出语句是否真的执行。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 3

第 3 题(单选题)

#
审题基础语法

以下C++代码实现从小到大的顺序输出能整除N的数(N的因子),例如N=18时输出1236918,横线处应填入( )。

cin >> N;
for ( ___)
    if (N % i == 0)
        cout << i << " " ;
A.int i = 0; i < N; i++
B.int i = 1; i < N; i++
C.int i = 0; i < N+1; i++
D.int i = 1; i < N+1; i++
展开:答案、思考步骤与易错点
正确答案D

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 4

第 4 题(单选题)

#
审题基础语法

下面C++代码用于判断输入的整数是否为对称数,如1221、12321是对称数,但123、972不是对称数。下面对该题对应代码的说法,正确的是()。

cin >> N;
newNum = 0;
while(N) {
    newNum = newNum * 10 + N % 10;
    N = N / 10;
}
if(newNum == N)
    cout << N << "为对称数";
A.代码没有语法错误,如果N为对称数,第8行将能正确输出。
B.代码没有语法错误,但如果N为负数,将导致死循环。
C.代码存在语法错误,程序不能被执行。
D.代码没有语法错误,但不能达到预期目标,因为循环结束N总为0。
展开:答案、思考步骤与易错点
正确答案D

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 5

第 5 题(单选题)

#
审题基础语法

下面C++代码用于判断N(大于等于2的正整数)是否为质数(素数)。下面对如下代码的说法,正确的是()。

cin >> N;
for(i = 2; i < N / 2; i++)
    if(N % i == 0) {
        cout << N << "不是质数";
        break;
    }
if(i >= N / 2)
    cout << N << "是质数";
A.代码能正确判断N是否为质数。
B.代码总是不能判断N是否质数。
C.删除第5行 break,将能正确判断N是否质数。
D.代码存在漏洞,边界存在问题,应将第2行和第7行的N / 2改为N / 2 + 1。
展开:答案、思考步骤与易错点
正确答案D

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 6

第 6 题(单选题)

#
审题基础语法

下面C++代码执行后的输出是()。

N = 4;
for (int i = 0; i < N; i++) {
    for (int j = 1; j < i; j++)
        if (i * j % 2 == 0)
            cout << i << "#";
    continue;
}
cout << "0";
A.2#3#0
B.1#2#0
C.1#0#
D.2#3#
展开:答案、思考步骤与易错点
正确答案A

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 7

第 7 题(单选题)

#
审题基础语法

下面 C++ 代码执行后的输出 is()。

cnt = 0;
for (i = 1; i < 10; i++)
    for (j = 1; j < i; j += 2)
        if (i * j % 2 == 0) {
            cnt++;
            break;
        }
if (i >= 10) cout << cnt << "#";
cout << cnt;
A.θ
B.8#8
C.4
D.4#4
展开:答案、思考步骤与易错点
正确答案D

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 8

第 8 题(单选题)

#
审题基础语法

下面C++代码执行后的输出是()。

N=100;
while (N > 0)
    if (N % 2)
        break;
    else if (N % 3 == 0)
        N -= 5;
    else
        N -= 20;
cout << N;
A.100
B.95
C.55
D.0
展开:答案、思考步骤与易错点
正确答案C

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 9

第 9 题(单选题)

#
审题基础语法

下面C++代码执行后的输出是()。

x = 1;
while (x < 100) {
    if (x % 3 != 0)
        cout << x << ",";
    else if (x / 10)
        break;
    else
        x += 5;
    x += 2;
}
cout << x;
A.1
B.1,3
C.15,17
D.1,10,12
展开:答案、思考步骤与易错点
正确答案D

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 10

第 10 题(单选题)

#
审题基础语法

下面 C++ 代码执行后的输出是()。

cnt = 0;
for (i=0; i<5; i++)
    for (j=0; j<i; j++)
        cnt += 1;
cout << cnt;
A.5
B.10
C.20
D.30
展开:答案、思考步骤与易错点
正确答案B

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 11

第 11 题(单选题)

#
审题基础语法

以下C++代码用于输出1-100(含)的整数平方数(完全平方数),如16是4的平方,横线处应填写()。

for (i=1; i < 100+1; i++)
    if ( ___)
        cout << i << "";
A.int(sqrt(i)) * int(sqrt(i)) = i
B.int(sqrt(i)) == sqrt(i)
C.int(sqrt(i)) * int(sqrt(i)) == i
D.int(sqrt(i)) == sqrt(i)
展开:答案、思考步骤与易错点
正确答案C

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 12

第 12 题(单选题)

#
审题基础语法

下面的 C++ 代码用于实现如下左图所示的效果,应在以下右图 C++ 代码中填入()。

0
01
012
0123
01234
012345
0123456
01234567
012345678
0123456789
01234567890
012345678901
A.与第8行下面填入一行:cout << nowNum;
B.与第2行下面填入一行:cout << endl;
C.与第7行下面填入一行:cout << nowNum;
D.与第9行下面填入一行:cout << endl;
展开:答案、思考步骤与易错点
正确答案D

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

讲评时可以先让学生口头说出排除理由,再打开解析核对。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 13

第 13 题(单选题)

#
审题基础语法

某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。()

A.麦克风
B.扬声器
C.油量表
D.传感器
展开:答案、思考步骤与易错点
正确答案C

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

讲评时可以先让学生口头说出排除理由,再打开解析核对。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 14

第 14 题(单选题)

#
审题基础语法

现代计算机是指电子计算机,它所基于的是()体系结构。

A.艾伦·图灵
B.冯·诺依曼
C.阿塔纳索夫
D.埃克特·莫克利
展开:答案、思考步骤与易错点
正确答案B

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

讲评时可以先让学生口头说出排除理由,再打开解析核对。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

单选题 · 15

第 15 题(单选题)

#
审题基础语法

输入一个正整数N,想找出它所有相邻的因数对,比如,输入12,因数对有(1,2)、(2,3)、(3,4)。下面哪段代码找不到所有的因数对?()

A.for(i=1;i<N;i++) if(!(N%i) &&!(N%(i+1))) printf("%d,%d)\n", i, i+1);
B.for(i=2;i<N;i++) if(!(N%i) &&!(N%(i+1))) printf("%d,%d)\n", i, i+1);
C.for(i=2;i<N/2;i++) if(!(N%(i-1)) &&!(N%i)) printf("%d,%d)\n", i-1, i);
D.for(i=1;i<N/2;i++) if(!(N%i) &&!(N%(i+1))) printf("%d,%d)\n", i, i+1);
展开:答案、思考步骤与易错点
正确答案B

知识点讲解

基础语法与审题

先这样想

先圈关键词,再排除与题意不匹配的选项。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

讲评时可以先让学生口头说出排除理由,再打开解析核对。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

二、判断题逐题讲评

判断题 · 1

第 1 题(判断题)

#
审题基础语法

C++表达式 -7/2 的值为整数 -3。()

判断本题结论:先独立判断,再展开答案。正确答案是 正确
展开:答案、思考步骤与易错点
正确答案正确

知识点讲解

基础语法与审题

先这样想

把题干拆成两半:事实是否正确,结论是否被事实支持。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

计算时分清 `/` 是商,`%` 是余数;如果题目要求第 N 个位置,常要先改成从 0 开始的下标。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

判断题 · 2

第 2 题(判断题)

#
审题基础语法

C++表达式 2*int('9')*2 的值为36。()

判断本题结论:先独立判断,再展开答案。正确答案是 错误
展开:答案、思考步骤与易错点
正确答案错误

知识点讲解

基础语法与审题

先这样想

把题干拆成两半:事实是否正确,结论是否被事实支持。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

讲评时可以先让学生口头说出排除理由,再打开解析核对。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

判断题 · 3

第 3 题(判断题)

#
审题基础语法

C++ 表达式 3+2 && 5-5 的值为 false。()

判断本题结论:先独立判断,再展开答案。正确答案是 正确
展开:答案、思考步骤与易错点
正确答案正确

知识点讲解

基础语法与审题

先这样想

把题干拆成两半:事实是否正确,结论是否被事实支持。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

讲评时可以先让学生口头说出排除理由,再打开解析核对。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

判断题 · 4

第 4 题(判断题)

#
审题基础语法

在C++代码中,执行 srand(θ) 后连续两次执行 rand() 的结果相等。()

判断本题结论:先独立判断,再展开答案。正确答案是 错误
展开:答案、思考步骤与易错点
正确答案错误

知识点讲解

基础语法与审题

先这样想

把题干拆成两半:事实是否正确,结论是否被事实支持。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

讲评时可以先让学生口头说出排除理由,再打开解析核对。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

判断题 · 5

第 5 题(判断题)

#
审题基础语法

C++代码中 while(1){...} 的判断条件不是逻辑值,将导致语法错误。()

判断本题结论:先独立判断,再展开答案。正确答案是 错误
展开:答案、思考步骤与易错点
正确答案错误

知识点讲解

基础语法与审题

先这样想

先列变量每轮变化,再看输出语句是否真的执行。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

判断题 · 6

第 6 题(判断题)

#
审题基础语法

执行以下C++代码后将输出0。()

Sum = 0;
for (i = -500; i < 500; i++)
    Sum += i;
cout << Sum;
判断本题结论:先独立判断,再展开答案。正确答案是 错误
展开:答案、思考步骤与易错点
正确答案错误

知识点讲解

基础语法与审题

先这样想

把题干拆成两半:事实是否正确,结论是否被事实支持。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

判断题 · 7

第 7 题(判断题)

#
审题基础语法

在C++代码中,运算符只能处理相同的数据类型,不同类型之间必须转换为相同的数据类型。()

判断本题结论:先独立判断,再展开答案。正确答案是 错误
展开:答案、思考步骤与易错点
正确答案错误

知识点讲解

基础语法与审题

先这样想

把题干拆成两半:事实是否正确,结论是否被事实支持。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

讲评时可以先让学生口头说出排除理由,再打开解析核对。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

判断题 · 8

第 8 题(判断题)

#
审题基础语法

在 C++ 代码中,虽然变量都有数据类型,但同一个变量也可以先后用不同类型的值赋值。()

判断本题结论:先独立判断,再展开答案。正确答案是 正确
展开:答案、思考步骤与易错点
正确答案正确

知识点讲解

基础语法与审题

先这样想

把题干拆成两半:事实是否正确,结论是否被事实支持。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

讲评时可以先让学生口头说出排除理由,再打开解析核对。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

判断题 · 9

第 9 题(判断题)

#
审题基础语法

小杨最近在准备考GESP,他用的Dev C++来练习和运行程序,所以Dev C++也是一个小型操作系统。()

判断本题结论:先独立判断,再展开答案。正确答案是 错误
展开:答案、思考步骤与易错点
正确答案错误

知识点讲解

基础语法与审题

先这样想

把题干拆成两半:事实是否正确,结论是否被事实支持。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

讲评时可以先让学生口头说出排除理由,再打开解析核对。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。

判断题 · 10

第 10 题(判断题)

#
审题基础语法

任何一个 while 循环都可以转化为等价的 for 循环()。

判断本题结论:先独立判断,再展开答案。正确答案是 正确
展开:答案、思考步骤与易错点
正确答案正确

知识点讲解

基础语法与审题

先这样想

先列变量每轮变化,再看输出语句是否真的执行。

分步推导

  1. 先根据题干关键词定位知识点。
  2. 再逐项核对选项或判断题结论。

计算 / 追踪提示

建议在草稿纸画三列:当前变量、条件真假、本轮输出。遇到 continue 直接跳到下一轮,遇到 break 只跳出当前循环。

易错点

不要只凭直觉选答案,要回到代码执行顺序和题干条件。