CSP-J 2025 第一轮试卷
单项选择
第 1 题
2 分一个 位无符号整数可以表示的最大值,最接近下列哪个选项?
第 2 题
2 分在 C++ 中,执行
int x = 255; cout << (x & (x - 1)); 后,输出的结果是?第 3 题
2 分函数
calc(n) 的定义如下,则 calc(5) 的返回值是多少?( )第 4 题
2 分用 个权值 构造哈夫曼树,该树的带权路径长度是多少?
第 5 题
2 分在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和,这个总和等于?
第 6 题
2 分从 位男生和 位女生中选出 人组成一个学习小组,要求学习小组中男生和女生都有。有多少种不同的选法?
第 7 题
2 分假设 都是布尔变量,逻辑表达式
(a && b) || (!c && a) 的值与下列哪个表达式不始终相等?第 8 题
2 分已知 , ,并且对于所有 有 。那么 的值是多少?
第 9 题
2 分下列关于 C++ string 类的说法,正确的是?
第 10 题
2 分考虑以下 C++ 函数:
第 11 题
2 分一个 的棋盘,左上角坐标为 ,右下角为 。一个机器人从 出发,每次只能向右或向下走一格。要到达 ,有多少种不同的路径?
第 12 题
2 分某同学用冒泡排序对数组 进行升序排序,请问需要进行多少次元素交换?
第 13 题
2 分十进制数 和八进制数 的和用十六进制表示是多少?
第 14 题
2 分一棵包含 个结点的完全二叉树,其叶子结点的数量是多少?
第 15 题
2 分给定一个初始为空的整数栈 和一个空的队列 。我们按顺序处理输入的整数队列 。对于队列 中的每一个数,执行以下规则:如果该数是奇数,则将其压入栈 ;如果该数是偶数,且栈 非空,则弹出一个栈顶元素,并加入到队列 的末尾;如果该数是偶数,且栈 为空,则不进行任何操作。当队列 中的所有数都处理完毕后,队列 的内容是什么?
阅读程序
第 16–21 题6 个小题
第 16 题
1 分( 分)当输入为 时,程序并不会执行第 行的判断语句。( )
第 17 题
1.5 分将第 行中的
&& gcd(i,k)==1 删去不会影响程序运行结果。( )第 18 题
1.5 分当输入的 的时候,程序总是输出一个正整数。( )
第 19 题
3 分将第 行的
gcd(b, a%b) 改为 gcd(a, a%b) 后,程序可能出现的问题是( )。第 20 题
3 分当输入为 的时候,输出为( )。
第 21 题
3 分调用 会返回( )。
第 22–27 题6 个小题
第 22 题
1.5 分当输入为
3 1 3 2 1 时,输出结果为 。( )第 23 题
1.5 分假设输入的 为正整数,输出的答案一定小于等于 ,大于等于 。( )
第 24 题
1.5 分将第 14 行的
n = std::unique(a + 1, a + n + 1) - a - 1; 删去后,有可能出现与原本代码不同的输出结果。( )第 25 题
3 分假设输入的 数组和 均为正整数,执行第 18 行代码时,一定满足的条件不包括( )。
第 26 题
3 分当输入的 、、 时,输出为( )。
第 27 题
3 分假设输入的 数组和 均为正整数,但 数组不一定有序,则若误删去第 13 行的
std::sort(a + 1, a + n + 1);,程序有可能出现的问题有( )。第 28–33 题6 个小题
完善程序
第 33 题(完善①,原卷重号)、第 34 题、第 35 题、第 36 题、第 37 题5 个小题
第 38–42 题5 个小题