林老师 · 客观题题库 · CSP-J 卷
CSP-J 卷
· 共 35 题 · 由简到难 · 建议 53 分钟
真题
复刻
试卷编号OBJ-813061
题目总数35 题 · 70 分
试卷类型客观题
考生须知:
① 本卷为客观题单卷,合计 35 题 · 70 分,全部为客观题;
② 试卷右上角设有 「提交答卷」 与 「重置考试」 按钮,提交后系统自动判分并显示答题正确情况,请确认全部作答后再行提交;
③ 试卷不显示答案,提交后方可查看每题作答与正确答案的对照;
④ 答卷进度会保留在本地缓存中,刷新或再次打开仍可继续作答;
⑤ 本卷仅供学生练习使用;请勿用于其他用途;题面有问题请联系:i64coder@163.com。
壹
客 观 题
35 QUESTIONS · 2 POINTS EACH
第 1 题
判断
未作答
早期计算机内存不够大,可以将字库固化在一个包含只读存储器的扩展卡中插入计算机主板帮助处理汉字。
(2 分)
GESP 一级 2023-09 · 判断 第1题 | 知识点 内存、Unicode与汉字编码
第 2 题
判断
未作答
神威·太湖之光超级计算机是中国自主研制的超级计算机,在全球超级计算机 TOP500 排行榜中多次荣膺榜首。
(2 分)
GESP 一级 2023-09 · 判断 第2题 | 知识点 计算机发展史、信息学常识(CCF·NOI·GESP)
第 3 题
判断
未作答
(2 分)
GESP 一级 2023-09 · 判断 第3题 | 知识点 强制类型转换、整型
第 4 题
判断
未作答
C++ 语句 cout << (2, 3, "23") 的输出为 2, 3, 23。
(2 分)
GESP 一级 2023-09 · 判断 第4题 | 知识点 运算符优先级、cin与cout
第 5 题
判断
未作答
C++ 的循环语句 for (int i = 0; i < 10; i += 2) 表示 i 从 0 开始到 10 结束但不包含 10,间隔为 2。
(2 分)
GESP 一级 2023-09 · 判断 第5题 | 知识点 for循环、关系运算
第 6 题
单选
未作答
(2 分)
CSP-J 2021 · 单选 第2题 | 知识点 计算机发展史、信息学常识(CCF·NOI·GESP)
第 7 题
单选
未作答
(2 分)
CSP-J 2024 · 单选 第10题 | 知识点 Linux与常用命令、文件与目录
第 8 题
判断
未作答
C++ 语句 cout << ((10 <= N <= 12)? "true":"false") 中,假设整型变量 N 为 12,则其输出为 true。原因是执行 10 <= N 后其值为 true,true 与 12 相比仍然是 true。( )
(2 分)
GESP 二级 2025-03 · 判断 第3题 | 知识点 关系运算、布尔型
第 9 题
判断
未作答
C++ 表达式 (sqrt(N) * sqrt(N)) == N 中的 N 如果为正整数,则表达式的值为 true,相当于开平方后平方是本身。( )
(2 分)
GESP 二级 2025-03 · 判断 第4题 | 知识点 cmath数学函数、浮点型
第 10 题
判断
未作答
下面 C++ 执行后将输出 3*2=6。( )
01int a=2, b = 3;
02a=a-b;
03b=a+b;
04a=b-a;
05printf("%d*%d=%d\n", a, b, a*b);
(2 分)
GESP 二级 2025-03 · 判断 第5题 | 知识点 算术运算、常量与变量、程序阅读与输出推断
第 11 题
判断
未作答
下面 C++ 代码执行后将输出 1。( )
01int i;
02for (i = 1; i < 10; i++){
03 break;
04 continue;
05}
06cout << i << endl;
(2 分)
GESP 二级 2025-03 · 判断 第7题 | 知识点 break与continue、for循环、程序阅读与输出推断
第 12 题
判断
未作答
下面的 C++ 代码执行后将输出 10 行 OK。( )
01for (int i = 0; i < 5; i++)
02 for(int j = 0; j < i; j++)
03 printf("OK\n");
(2 分)
GESP 二级 2025-03 · 判断 第8题 | 知识点 嵌套循环、程序阅读与输出推断
第 13 题
判断
未作答
将下面 C++ 代码中的 for 循环中的 i = 1 调整为 i = 0 的输出结果相同。( )
01int tnt = 0;
02for (int i = 1; i < 5; i++) // i=1
03 tnt += i;
04cout << tnt;
(2 分)
GESP 二级 2025-03 · 判断 第9题 | 知识点 for循环、程序阅读与输出推断
第 14 题
单选
未作答
以下关于 C++ 变量作用域的说法,错误的是( )。
(2 分)
GESP 三级 2025-09 · 单选 第10题 | 知识点 作用域、常量与变量
第 15 题
单选
未作答
关于以下代码的说法正确的是( )。
01int reversed = 0;
02while (x != 0) {
03 int digit = x % 10;
04 x /= 10;
05 reversed = reversed * 10 + digit;
06}
(2 分)
GESP 三级 2025-09 · 单选 第11题 | 知识点 程序阅读与输出推断、数据范围与溢出、while循环
第 16 题
单选
未作答
以下 C++ 代码试图查找数组中的最大值,划线处应填入( )。
01#include <iostream>
02using namespace std;
03int findMax(int arr[], int size) {
04 int maxVal = ____________; // 划线处
05 for (int i = 1; i < size; i++) {
06 if (arr[i] > maxVal) {
07 maxVal = arr[i];
08 }
09 }
10 return maxVal;
11}
(2 分)
GESP 三级 2025-09 · 单选 第12题 | 知识点 程序补全、一维数组
第 17 题
单选
未作答
(2 分)
GESP 三级 2025-09 · 单选 第13题 | 知识点 函数定义与调用、C++程序结构
第 18 题
判断
未作答
(2 分)
GESP 五级 2024-03 · 判断 第1题 | 知识点 最大公约数
第 19 题
判断
未作答
插入排序的时间复杂度是 O(NlogN)。
(2 分)
GESP 五级 2024-03 · 判断 第2题 | 知识点 插入排序、排序复杂度
第 20 题
判断
未作答
二分查找要求被搜索的序列是有序的,否则无法保证正确性。
(2 分)
GESP 五级 2024-03 · 判断 第3题 | 知识点 二分查找
第 21 题
判断
未作答
分治算法的典型应用之一是归并排序,其时间复杂度为 O(NlogN)。
(2 分)
GESP 五级 2024-03 · 判断 第6题 | 知识点 归并排序、分治、排序复杂度
第 22 题
单选
未作答
5 个小朋友并排站成一列,其中有两个小朋友是双胞胎,如果要求这两个双胞胎必须相邻,则有( )种不同排列方法。
(2 分)
CSP-J 2020 · 单选 第10题 | 知识点 捆绑法、排列
第 23 题
单选
未作答
一个班级有 10 个男生和 12 个女生。如果要选出一个 3 人的小组,并且小组中必须至少包含 1 个女生,那么有多少种可能的组合?( )
(2 分)
CSP-J 2023 · 单选 第14题 | 知识点 组合、容斥原理
第 24 题
单选
未作答
假设有序表中有 1000 个元素,则用二分法查找元素 X 最多需要比较( )次。
(2 分)
CSP-J 2024 · 单选 第9题 | 知识点 剪枝、排序稳定性
第 25 题
判断
未作答
在下面 C++ 代码中,由于删除了变量 ptr,因此 ptr 所对应的数据也随之删除,故执行下述代码时,将报错。
01int* ptr = new int(10);
02cout << *ptr << endl;
03delete ptr;
04cout << ptr << endl;
(2 分)
GESP 五级 2024-06 · 判断 第10题 | 知识点 指针、程序阅读与输出推断
第 26 题
单选
未作答
有若干根木头,长度存于 wood。每切一刀可以把一段木头分成两段。函数 check(wood, K, x) 返回:用不超过 K 刀,能否使所有木段长度都不超过 x。下面代码使用二分答案查找最小可行的 x,横线处应填( )。
01int binary_cut(vector<int>& wood, int K) {
02 int l = 1;
03 int r = 0;
04 for (int len : wood) r = max(r, len);
05 while (l < r) {
06 int mid = l + (r - l) / 2;
07 if (check(wood, K, mid))
08 ________________; // 在此处填入代码
09 else l = mid + 1;
10 }
11 return l;
12}
(2 分)
GESP 五级 2026-06 · 单选 第10题 | 知识点 二分答案、程序补全
第 27 题
单选
未作答
下面代码段实现了快速排序的划分操作(以首元素为基准),横线处代码应填入( )。
01int partition(vector<int>& arr, int low, int high) {
02 int pivot = arr[low];
03 int i = low, j = high;
04 while (i < j) {
05 while (i < j && arr[j] >= pivot) j--;
06 while (i < j && arr[i] <= pivot) i++;
07 if (i < j) swap(arr[i], arr[j]);
08 }
09 ________________; // 在此处填入代码
10 return i;
11}
(2 分)
GESP 五级 2026-06 · 单选 第11题 | 知识点 快速排序、程序补全
第 28 题
单选
未作答
(2 分)
GESP 六级 2024-09 · 单选 第1题 | 知识点 类与对象、C++程序结构
第 29 题
单选
未作答
有6个元素,按照6,5,4,3,2,1的顺序进入栈S,下列( )的出栈序列是不能出现的( )。
(2 分)
GESP 六级 2024-09 · 单选 第3题 | 知识点 栈、栈的应用
第 30 题
单选
未作答
下面代码判断队列的第一个元素是否等于a,并删除该元素,横向上应填写( )。
01#include <iostream>
02#include <queue>
03using namespace std;
04
05bool is_front_equal(std::queue<int>& q, int a) {
06 bool is_equal = false;
07 if (!q.empty()) {
08 ____________ // 在此处填入代码
09 }
10 return is_equal;
11}
(2 分)
GESP 六级 2024-09 · 单选 第5题 | 知识点 队列、程序补全
第 31 题
单选
未作答
假设字母表{a,b,c,d,e}在字符串出现的频率分别为10%,15%,30%,16%,29%。若使用哈夫曼编码方式对字母进行二进制编码,则字符abcde分别对应的一组哈夫曼编码的长度分别为( )。
编者注:官方原题此处写作abcdef,但题目只给出了字母a至e及其五项频率;本题按题意修正为abcde。
(2 分)
GESP 六级 2024-09 · 单选 第6题 | 知识点 哈夫曼编码、哈夫曼树
第 32 题
单选
未作答
以下C++代码实现 n 位的格雷码,则横线上应填写( )。
01#include <iostream>
02#include <vector>
03#include <string>
04using namespace std;
05// 生成 n 位的格雷码
06vector<string> generate_graycode(int n) {
07 vector<string> graycode_list;
08 if (n <= 0) {
09 return graycode_list;
10 }
11
12 // 初始1位格雷码
13 graycode_list.push_back("0");
14 graycode_list.push_back("1");
15
16 // 迭代生成 n 位的格雷码
17 for (int i = 2; i <= n; i++) {
18 int current_size = graycode_list.size();
19
20 for (int j = current_size - 1; j >= 0; j--) {
21 graycode_list.push_back("1" + graycode_list[j]);
22 }
23
24 for (int j = 0; j < current_size; j++) {
25 ____________ // 在此处填入代码
26 }
27 }
28
29 return graycode_list;
30}
(2 分)
GESP 六级 2024-09 · 单选 第7题 | 知识点 二进制、位异或、程序补全
第 33 题
单选
未作答
下列选项中,哪个可能是下图的深度优先遍历序列( )。

(2 分)
GESP 七级 2024-03 · 单选 第10题 | 知识点 图的DFS遍历、深度优先搜索、图的基本概念
第 34 题
判断
未作答
要判断⽆向图的连通性,在深度优先搜索和⼴度优先搜索中选择,深度优先的平均时间复杂度更低。
(2 分)
GESP 八级 2024-06 · 判断 第10题 | 知识点 深度优先搜索、广度优先搜索
第 35 题
判断
未作答
从32名学生中选出4人分别担任班长、副班长、学习委员和组织委员,老师要求班级综合成绩排名最后的4名学生不得参选班长或学习委员(仍可以参选副班长和组织委员),则共有 P(30,4) 种不同的选法。
(2 分)
GESP 八级 2025-06 · 判断 第10题 | 知识点 排列、加法原理