返回试卷目录

需要电子版时点「打印 / 保存为 PDF」,在打印对话框的「目标打印机」里选择「另存为 PDF」即可下载。登录后可下载,每天 10 次

GESP C++ 编程一级 · 2026 年 6 月卷

GESP · C++ · 共 27 题 · 满分 100 分

姓名:____________日期:____________得分:____________

  1. 1.单选题2 分

    学校组织到未来农场参观,小明听讲解员介绍,在智能温室中,湿度传感器可以连续检测土壤的湿度变化,并将检测到的湿度数据实时发送给中央控制器。中央控制器根据这些数据判断是否开启灌溉系统。请问,这里的湿度传感器所发挥的作用,类似于计算机系统中的哪一类组件?(  )

    • A.处理器
    • B.存储器
    • C.输入设备
    • D.输出设备
  2. 2.单选题2 分

    在使用某集成开发环境(比如 Dev-C++)来编辑源代码文件时,程序员经常需要在编辑区中对代码进行各种修改。以下关于在编辑区中执行的操作描述不正确的(  )。

    • A.可以将变量名 count 统一修改为 number
    • B.可以连续撤销最近 2 次输入的内容
    • C.可以调整代码行的缩进(如按 Tab 键)
    • D.在注释文本中间不能混用中英文
  3. 3.单选题2 分

    有关如下 C++代码的说法,正确的是(  )。 float a = 3 + 3.5; cout << a;

    • A.代码执行将报错。如果将 a = 3 + 3.5 改为 a = 3 + 3 + 1/2 将能正常执行。
    • B.代码执行将报错。如果将 a = 3 + 3.5 改为 a = 3.0 + 3.5 将能正常执行。
    • C.代码能正常执行,将输出 6 。
    • D.代码能正常执行,将输出 6.5 。
  4. 4.单选题2 分

    下列 C++表达式与 - 2 * 2 % 4 的值不同的是(  )。

    • A.- (2 * 2) % 4
    • B.(- 2 * 2) % 4
    • C.- 2 * (2 % 4)
    • D.(2 * 2) % - 4
  5. 5.单选题2 分

    执行如下 C++代码片段,其输出是(  )。 int a = 3; int b = a; a = 4; printf("%d%d", a, b);

    • A.3 3
    • B.4 3
    • C.4 4
    • D.3 4
  6. 6.单选题2 分

    如下 C++代码执行时输入 2026-6-27 ,下列说法正确的是(  )。 int N; cin >> N; cout << N;

    • A.输入失败,不允许输入减号,没有输出
    • B.允许输入,输出 1993
    • C.允许输入并原样输出 2026-6-27
    • D.允许输入并输出 2026
  7. 7.单选题2 分

    如下 C++代码执行时,其说法错误的是(  )。 int N, M; cin >> N >> M; if (N > M) cout << "A " << (N - M); else cout << "B " << (M - N);

    • A.如果输入 4 3 ,将输出 A 1
    • B.如果输入 3 4 ,将输出 B 1
    • C.如果输入 3 3 ,将输出 A 0
    • D.如果输入 4 4 ,将输出 B 0
  8. 8.单选题2 分

    阅读如下C++代码,下列说法错误的是(  )。 int cnt = 0; for (int i = 0; i < 5; i++) cnt += 1; cout << cnt;

    • A.将 cnt += 1 修改为 cnt = cnt + 1 ,执行效果相同
    • B.将 cnt += 1 修改为 cnt = 1 + cnt ,执行效果相同
    • C.将 cnt += 1 修改为 cnt =+ 1 ,执行效果相同
    • D.将 cnt += 1 修改为 cnt = + 1 + cnt ,执行效果相同
  9. 9.单选题2 分

    如下C++代码执行后输出是 1 2 3 4 5 6 7 8 9 10 11 5 6 7 8 9 10 11 5 6 7 8 9 10 11 5 6 7 8 9 10 11 5 6 7 。横线处应该先后依次填入的运算符是(  )。 int num = 1; for (int i = 0; i < 35; i++) { printf("%d ", num); if (num ________ 10) num ________ 2; else num ________ 1; }

    • A.> /= +=
    • B.>= %= +=
    • C.> %= +=
    • D.> /= =+
  10. 10.单选题2 分

    如下 C++代码可以执行,其输出是(  )。 int i; for (i = 1; i < 5; i++) if (i % 2 == 0) { continue; cout << i << "#"; } cout << i << "END#";

    • A.5END#
    • B.5#END
    • C.1#3#4#END
    • D.1#3#4 END#
  11. 11.单选题2 分

    如下 C++代码执行时,下列说法正确的是(  )。 int N, i; cin >> N; for (i = 2; i < N; i++) if (N % i == 0) { cout << "1#"; break; } else cout << "0#";

    • A.如果输入 2 ,将输出 1# 。
    • B.如果输入 15 ,将输出 0#1# 。
    • C.如果输入 1 ,将输出 0# 。
    • D.如果输入 3 ,将输出 1# 。
  12. 12.单选题2 分

    有关如下C++代码,下列说法中错误的是(  )。 int i, tot; i = 0, tot = 0; while (0 <= i && i < 10) { tot += 1; i += 1; } cout << tot;

    • A.如果调整 0 <= i && i < 10 为 1 <= i && i < 10 ,输出同样为 45 ,因为加上 0 不影响结果。
    • B.如果将 i = 0 和 tot = 0 合并为 i = tot = 0 ,执行结果与修改前相同。
    • C.将 tot += 1 与 i += 1 交换顺序,执行结果与修改前相同。
    • D.将 i = 0 与 tot = 0 交换顺序,执行结果与修改前相同。
  13. 13.单选题2 分

    以下 C++代码可以找出千位、百位、十位和个位满足特定条件的四位数(例如各位数字的四次方和等于原数,即“四叶玫瑰数”),横线处应该填入的是(  )。 int count = 0; for (int n = 1000; n <= 9999; n++) { int a = n / 1000; int b = (n / 100) % 10; _________________________ // L1 int d = n % 10; if (a * a * a * a + b * b * b * b + c * c * c * c + d * d * d * d == n) { // 特定条件 count++; } }

    • A.int c = (n / 10) / 10;
    • B.int c = (n / 10) % 10;
    • C.int c = (n % 10) / 10;
    • D.int c = (n % 10) % 10;
  14. 14.单选题2 分

    下面的 C++代码用于计算经过 n 秒后的秒针位置(0 ~ 59),两处横线处分别应填入的代码是(  )。 int start, n, pos; cout << "当前秒数 (0-59) : "; cin >> start; cout << "经过多少秒: "; cin >> n; pos = _____________; // L1 if (____________) // L2 cout << n << "秒后回到12点方向" << endl; else cout << n << "秒后指向" << pos << "秒刻度" << endl;

    • A.(start + n) / 60 和 pos == 0
    • B.(start + n) % 60 和 pos == 0
    • C.(start + n) / 60 和 pos <= 0
    • D.(start + n) % 60 和 pos = 0
  15. 15.单选题2 分

    如果正整数 N 只能被 1 和它本身整除,则它是一个质数(或素数)。下面的C++代码用于判断正整数 N 是否为质数(素数)。若 N 是质数,输出 YES ,否则输出 NO 。横线处不应填入的代码是(  )。 int N, i; cin >> N; if (N <= 1) { cout << "NO"; return 0; } for (i = 2; ______; i++) { if (N % i == 0) { cout << "NO"; return 0; } } cout << "YES";

    • A.i < N
    • B.i <= N
    • C.i <= N / 2
    • D.i * i <= N
  16. 16.判断题2 分

    又到期末考试周,小明发现这次许多闭卷考试不仅禁止携带手机、平板电脑,还有最近比较时髦的各类 AI 眼镜(也有叫智能眼镜)也同样不允许带入考场。这些 AI 眼镜应该也是内置了操作系统并可能支持 Wi-Fi 或蓝牙连接。( )

  17. 17.判断题2 分

    如果 n 为大于 100 的整数,则 C++表达式 (n / 10) % 10 与 (n % 100) / 10 的结果相同。( )

  18. 18.判断题2 分

    下面 C++代码执行后将输出 19 。( ) int i; for (i = 0; i < 20; i += 3) if (i % 3 != 0) break; cout << i;

  19. 19.判断题2 分

    在数学中, N! 称之为 N 的阶乘,其含义是 1 到 N 之积,包括 N 。如 3! = 1 × 2 × 3 = 6 。如下 C++代码能输出 N! 的结果。( ) int N; cout << "请输入正整数: "; cin >> N; int rst = 0; for (int i = 1; i < N + 1; i++) rst *= i; cout << rst;

  20. 20.判断题2 分

    如下C++代码能实现输出正整数 N 的各位数字。( ) int N; cin >> N; while (N > 0) { cout << (N % 10) << endl; N = N / 10; }

  21. 21.判断题2 分

    将如下 C++代码中的 printf("\n") 更换为 printf("%c", '\n') ,输出效果相同。( ) for (int i = 0; i < 100; i++) { if (i % 5 == 0) printf("\n"); printf("%2d ", i); }

  22. 22.判断题2 分

    C++代码 cout << (2.5 % 2) 能够生成可执行代码,但执行时将报错,因为 % 只能适用于正整数。( )

  23. 23.判断题2 分

    下面的 C++代码执行后将输出 24 。( ) int total; for (int n = 1; n <= 4; n++) { total *= n; } cout << total;

  24. 24.判断题2 分

    如果 a 是 C++的整型变量,值为 4 ,则表达式 (a % 2 == 0) + (a / 2) 的值为 4 。( )

  25. 25.判断题2 分

    删除下面 C++代码中的 continue 后,其输出与原来相同。( ) int x = 0; while (x < 4) { x++; if (x == 2) continue; cout << x << ","; }

  26. 26.编程题25 分

    试题名称:去旅行 时间限制:1.0 s 内存限制:512.0 MB 题目描述:快暑假了,小杨同学正在计划出去旅行,前往目的地的方案多种多样,小杨同学想知道如何前往目的地最便宜。小杨同学住在 A 市,旅行目的地是 B 市,小杨同学前往目的地有三种方案: 1. 从 A 市直飞 B 市; 2. 从 A 市坐高铁到 C 市,然后坐飞机到 B 市; 3. 从 A 市坐高铁到 C 市,然后坐高铁到 B 市。 请帮小杨同学求出最便宜的出行方案的价格。 输入格式:输入包含 4 行,每行一个正整数: 第 1 行的正整数表示「从 A 市直飞 B 市」的价格; 第 2 行的正整数表示「从 A 市坐高铁到 C 市」的价格; 第 3 行的正整数表示「从 C 市坐飞机到 B 市」的价格; 第 4 行的正整数表示「从 C 市坐高铁到 B 市」的价格。 输出格式:输出一个正整数,表示 3 种方式中,最便宜的出行方案的价格。 输入样例1: 999 105 699 588 输出样例1: 693 样例解释1:方案 1. 直飞价格为 999;方案 2. 高铁转飞机价格为 105 + 699 = 804;方案 3. 高铁的价格为 105 + 588 = 693;因此最便宜的价格是 693。 输入样例2: 9 3 8 7 输出样例2: 9 样例解释2:方案 1. 直飞价格为 9;方案 2. 高铁转飞机价格为 3 + 8 = 11;方案 3. 高铁的价格为 3 + 7 = 10;因此最便宜的价格是 9。 数据范围:所有输入均为正整数,且不超过 10000。

    作答说明:按题目要求完成程序或作品;需要在线运行与自动判分时,可在站内选择「在线考试」。

  27. 27.编程题25 分

    试题名称:交税 时间限制:1.0 s 内存限制:512.0 MB 题目描述:根据国家税收相关规定,劳务报酬需要按月预交个税,预交税率如下: 1. 劳务报酬不超过 800 的,不需要预交个税; 2. 劳务报酬超过 800 的,仅超过 800 的部分按照 20%(即 0.2)税率预交个税(不超过 800 的部分不需要预交个税); 例如,月劳务报酬为 1000.0,则按照规则 2 需要预交个税 (1000.0 - 800.0) × 20% = 40.00 。 现在给定小杨同学 12 个月的月度劳务报酬,请帮小杨同学计算他这 12 个月应预交个税的总和。 输入格式:输入 12 行,每行一个浮点数,表示小杨同学 12 个月中每个月的劳务报酬。 每个浮点数恰好有一位小数。 输出格式:输出 1 行,一个浮点数,保留两位小数,表示小杨同学 12 个月应预交个税的总和。 输入样例1: 932.0 1634.3 1790.4 2172.9 378.1 283.4 2761.9 3583.5 10.1 2324.9 1111.6 3812.3 输出样例1: 2584.76 样例解释1:932.0 超过 800 的部分为 132.0,按照 20% 预交为 26.40;1634.3 预交 166.86;1790.4 预交 198.08;2172.9 预交 274.58;378.1 与 283.4 与 10.1 符合规则 1 不需要预交;2761.9 预交 392.38;3583.5 预交 556.70;2324.9 预交 304.98;1111.6 预交 62.32;3812.3 预交 602.46;总和为 2584.76。 数据范围:小杨同学每月劳务报酬收入均为正,且恰好有一位小数,且不超过 4000.0。

    作答说明:按题目要求完成程序或作品;需要在线运行与自动判分时,可在站内选择「在线考试」。