GESP Level 2 · 2024-12

客观题逐题讲义

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

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

一、单选题逐题讲评

单选题 · 1

第 1 题(单选题)

#
审题基础语法

2024年10月8日,诺贝尔物理学奖“意外地”颁给了两位计算机科学家约翰·霍普菲尔德(John J. Hopfield)和杰弗里·辛顿(Geoffrey E. Hinton)。这两位科学家的主要研究方向是()。

A.天体物理
B.流体力学
C.人工智能
D.量子理论
展开:答案、思考步骤与易错点
正确答案C

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 2

第 2 题(单选题)

#
审题基础语法

计算机系统中存储的基本单位用 B 来表示,它代表的是(),比如某个照片大小为 3MB。

A.Byte
B.Block
C.Bulk
D.Bit
展开:答案、思考步骤与易错点
正确答案A

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 3

第 3 题(单选题)

#
审题基础语法

C++语句 cout << (3 + 3 % 3 * 2 - 1) 执行后输出的值是()。

A.-1
B.4
C.56
D.2
展开:答案、思考步骤与易错点
正确答案D

知识点讲解

基础语法与审题

先这样想

先确定除法的商和余数分别代表什么,再代入小样例检查。

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 4

第 4 题(单选题)

#
审题基础语法

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

for (int i=0; i<10; i++)
    printf("%d",i);
A.123456789
B.0123456789
C.12345678910
D.012345678910
展开:答案、思考步骤与易错点
正确答案B

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 5

第 5 题(单选题)

#
审题基础语法

下面C++代码的相关说法中,正确的是()。

int tnt;
for (int i=0; i<10; i++)
    tnt += i;
cout << tnt;
A.上述代码执行后其输出相当于求1-10的和(包含10)
B.上述代码执行后其输出相当于求1-10的和(不包含10)
C.上述代码执行后其输出相当于求0-10的和(不包含10)
D.上述代码执行后将输出不确定的值
展开:答案、思考步骤与易错点
正确答案D

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 6

第 6 题(单选题)

#
审题基础语法

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

int i;
for (i=1; i<10; i++)
    if (i % 2)
        continue;
    else
        break;
cout << i;
A.1
B.2
C.9
D.10
展开:答案、思考步骤与易错点
正确答案B

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 7

第 7 题(单选题)

#
审题基础语法

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

for (i=0; i<10; i++) {
    if (i % 3)
        continue;
    printf("0#");
}
if(i>=10)
    printf("1#");
A.0#0#0#0#0#0#0#1#
B.0#0#0#0#0#0#1#
C.0#0#0#0#1#
D.0#0#0#0#
展开:答案、思考步骤与易错点
正确答案C

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 8

第 8 题(单选题)

#
审题基础语法

下面C++代码用于输出0-100之前(包含100)能被7整除但不能被3整除的数,横线处不能填入的代码是()。

for (i=0; i<100; i++)
    if(_____)
        cout << i << endl;
A.i % 7 == 0 && i % 3 != 0
B.!(i % 7) && i % 3 != 0
C.i % 7 && i % 3
D.i % 7 == 0 && !(i % 3 == 0)
展开:答案、思考步骤与易错点
正确答案C

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 9

第 9 题(单选题)

#
审题基础语法

下面C++代码用于求正整数各位数字之和,横线处不应填入代码是()。

int tnt, N;
printf("请输入正整数:");
cin >> N;
tnt = 0;
while (N != 0){
    _____
    N /= 10;
}
cout << tnt;
A.tnt = tnt + N % 10
B.tnt += N % 10
C.tnt = N % 10 + tnt
D.tnt = N % 10
展开:答案、思考步骤与易错点
正确答案D

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 10

第 10 题(单选题)

#
审题基础语法

下图的 C++ 程序执行后的输出是()。

for (i=0; i<5; i++)
    for (j=0; j<i; j++)
        cout << j;
A.0010120123
B.01012012301234
C.001012012301234
D.01012012301234012345
展开:答案、思考步骤与易错点
正确答案A

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 11

第 11 题(单选题)

#
审题基础语法

下面C++代码用于实现图示的九九乘法表。相关说法错误的是()。

/*
1*1=1
1*2=2 2*2=4
...
*/

for (int Hang=1; Hang<10; Hang++) {
    for (int Lie=1; Lie<Hang+1; Lie++) {
        if (Lie * Hang > 9)
            printf("%d%d=%d ", Lie, Hang, Lie*Hang);
        else
            printf("%d%d=%d ", Lie, Hang, Lie*Hang);
        // L2
    }

    printf("\n"); // L1
}
A.将L1注释的 printf("\n") 移到L2注释所在行,效果相同
B.将L1注释的 printf("\n") 修改为 print("%c", '\n') 效果相同
C.将 Lie * Hang > 9 修改为 Lie * Hang >= 10 效果相同
D.将 Lie * Hang > 9 修改为 Hang * Lie > 9 效果相同
展开:答案、思考步骤与易错点
正确答案A

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 12

第 12 题(单选题)

#
审题基础语法

在数学中N!表示N的阶乘,即1到N的乘积,如 3!=1*2*3。下面的C++用于求1-N的阶乘之和,如N为3,则是 1!+2!+3!。下面代码段补充选项后用于实现上述功能,其中不能实现阶乘和的选项是( )。

int N;
cin >> N;
int tnt=0, nowNum = 1; // tnt保存求和之值,当前N的阶乘
for (int i=1; i < N + 1; i++) {
    // 基于上一个计算出当前数的阶乘
    // 从1到i每个数阶乘之和
}
cout << tnt;
A.nowNum *= i; tnt += nowNum;
B.nowNum = nowNum * i; tnt = tnt + nowNum;
C.nowNum *= i; tnt = nowNum + tnt;
D.nowNum = nowNum + i; tnt *= nowNum;
展开:答案、思考步骤与易错点
正确答案D

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 13

第 13 题(单选题)

#
审题基础语法

下面C++代码用于输出N and M之间(可以包括N and M)的孪生素数。孪生素数是指间隔为2的两个数均为素数,如11和13分别是素数,且间隔为2。isPrime(N)用于判断N是否为素数的函数。为完成上述功能,横线处应填上的代码是()。

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

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 14

第 14 题(单选题)

#
审题基础语法

下面C++代码实现输出如下图形,横线应填入的代码是()。

高度:5
*
***
*****
*****
*****
int height;
cout << "高度:";
cin >> height;
for (i=0; i<height; i++) {
    //打印每行前面的空格
    for (j = 0; j < ___; j++)
        cout << " ";
    //打印每行的星号
    for (k = 0; k < ___; k++)
        cout << "*";
    //输出一行后,换行
    cout << endl;
}
A.1: height - i 2: 2 * i
B.1: height 2: 2 * i
C.1: height - i 2: 2 * i + 1
D.1: height - i - 1 2: 2 * i + 1
展开:答案、思考步骤与易错点
正确答案D

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

单选题 · 15

第 15 题(单选题)

#
审题基础语法

下面 C++ 代码执行后的输出是 30,则横线处不能填入()。

int a = 10, b = 20, c = 30;
cout << << endl;
A.max(max(a, b), c)
B.min ⁡ ( 𝑎 + 𝑏 , 𝑐 ) min(a+b,c)
C.𝑎 + 𝑏 + 𝑐 a+b+c ​
D.( 𝑎 + 𝑏 + 𝑐 ) / 2 (a+b+c)/2
展开:答案、思考步骤与易错点
正确答案C

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

输出题不要只算值,还要看格式控制、空格、换行和输出语句的位置。

易错点

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

二、判断题逐题讲评

判断题 · 1

第 1 题(判断题)

#
审题基础语法

在Windows的资源管理器中为已有文件A建立副本的操作是Ctrl+C,然后Ctrl+V。()

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

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

判断题 · 2

第 2 题(判断题)

#
审题基础语法

在C++代码中,假设N为正整数,则cout << (N - N / 10 * 10) 将获得N的个位数。()

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

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

判断题 · 3

第 3 题(判断题)

#
审题基础语法

在C++语句 cout << (10 <= N <= 12) 中,假设N为12,则其输出为1。()

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

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

输出题不要只算值,还要看格式控制、空格、换行和输出语句的位置。

易错点

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

判断题 · 4

第 4 题(判断题)

#
审题基础语法

如果C++表达式 int(sqrt(N))*int(sqrt(N)) == N 的值为True,则说明N为完全平方数,如4、9、25等。()

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

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

判断题 · 5

第 5 题(判断题)

#
审题基础语法

下面C++代码执行后将输出 2 ∗ 3 = 6 2∗3=6。()

int a = 2, b = 3;
printf("%%a*%%b=%d", a*b);
判断本题结论:先独立判断,再展开答案。正确答案是 错误
展开:答案、思考步骤与易错点
正确答案错误

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

判断题 · 6

第 6 题(判断题)

#
审题基础语法

以下 C++ 代码 because of 循环变量为将导致错误,即不能作为变量名称,不符合 C++ 变量命名规范。()

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

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

判断题 · 7

第 7 题(判断题)

#
审题基础语法

下面C++代码执行后因为有break,将输出0。()

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

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

判断题 · 8

第 8 题(判断题)

#
审题基础语法

下面的C++代码执行后将输出18行“OK”。()

int i, j;
for (i = 8; i > 2; i == 2)
    for (j = 0; j < i; j++)
        printf("OK\n");
判断本题结论:先独立判断,再展开答案。正确答案是 正确
展开:答案、思考步骤与易错点
正确答案正确

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

判断题 · 9

第 9 题(判断题)

#
审题基础语法

将下面C++代码中的 i = 1 调整为 i = 0 的输出结果相同。()

int i;
int cnt = 0;
for (i = 1; i < 5; i++)
    if(i % 2) cnt += 1;
cout << cnt;
判断本题结论:先独立判断,再展开答案。正确答案是 正确
展开:答案、思考步骤与易错点
正确答案正确

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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

判断题 · 10

第 10 题(判断题)

#
审题基础语法

下面两段C++代码都是用于求1-10的和,其运行结果相同。通常说来,for循环都可以用while循环实现。()

int tnt;
int i;
tnt = 0;
for (i = 1; i < 10 + 1; i++)
    tnt += i;
cout << tnt << endl;

int tnt;
int i;
tnt = 0;
i = 1;
while (i <= 10){
    tnt += i;
    i += 1;
}
cout << tnt << endl;
判断本题结论:先独立判断,再展开答案。正确答案是 正确
展开:答案、思考步骤与易错点
正确答案正确

知识点讲解

基础语法与审题

先这样想

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

分步推导

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

计算 / 追踪提示

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

易错点

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