2026年CSP-J初赛试卷

从PDF导入:2026年CSP-J初赛试卷

C++ 120分钟 总分 114.0 43 题
试卷题目预览
第1题 中级 2.0分 单选
下列 C++ 数据类型中,能够精确存储 <img src="/static/uploads/images/6c06ee97b10c.png" style="max-width:35%;border-radius:6px;margin:8px 0;" />这个整数的是( )。
A. float
B. long long
C. double
D. int
第2题 中级 2.0分 单选
十六进制数 2F5 转换为八进制数是( )。
A. 1364
B. 1635
C. 1405
D. 1365
第3题 中级 2.0分 单选
执行下列 C++ 代码,输出是( )。

A. 9
B. 10
C. 7
D. 6
第4题 中级 2.0分 单选
初始时栈为空,将 1、2、3、4 依次入栈,入栈过程中允许随时出栈。下列出栈序列中不可能出现的是( )。
A. 2,4,3,1
B. 1,2,3,4
C. 3,1,2,4
D. 1,4,3,2
第5题 中级 2.0分 单选
一棵有 100 个结点的完全二叉树,其叶子结点个数是( )。
A. 49
B. 50
C. 64
D. 51
第6题 中级 2.0分 单选
执行下列代码后 s 的值是( )。

A. 3048
B. 2733
C. 2318
D. 2418
第7题 中级 2.0分 单选
上楼梯每步可上 1 级、2 级或 3 级,从地面(可视为第 0 级)走到第 8 级台阶共有多少种不同走法( )。
A. 44
B. 121
C. 149
D. 81
第8题 中级 2.0分 单选
下图为 5×5 网格(行、列号从 0 开始),# 为障碍,. 为可通行格: <img src="/static/uploads/images/6a6e8e8ca0c5.png" style="max-width:35%;border-radius:6px;margin:8px 0;" /> 从 S 出发做广度优先搜索(BFS):初始时把 S 入队;每次取出队首格子,按“上、下、左、右”(上=行 号减 1,下=行号加 1,左=列号减 1,右=列号加 1)的顺序遍历它的四个相邻格子,越界、障碍或已访问的格子跳过,其余格子标记为已访问并入队。当 E 第一次入队
A. 15
B. 12
C. 14
D. 13
第9题 中级 2.0分 单选
满足 1 ≤ n ≤ 100 且 gcd(n, 60) = 6 的正整数 n 共有多少个( )。
A. 8
B. 6
C. 4
D. 5
第10题 中级 2.0分 单选
某国硬币面值为 1 元、4 元、6 元且数量不限,凑出 9 元最少需要多少枚( )。
A. 3
B. 4
C. 5
D. 2
第11题 中级 2.0分 单选
执行下列代码,输出是( )。

A. 14,13
B. 8,13
C. 14,7
D. 14,2
第12题 中级 2.0分 单选
在含 1000 个互不相同元素的升序数组中,用二分法查找给定值,最坏情况下需要与数组元素比较多少次( )。
A. 500
B. 9
C. 11
D. 10
第13题 中级 2.0分 单选
数组 a[1..n] 的前缀和数组 s<img src="/static/uploads/images/a9dc10b2deca.png" style="max-width:35%;border-radius:6px;margin:8px 0;" /> 满足 s[i] = 3i² + i。则 a[10] 的值是( )。
A. 252
B. 310
C. 58
D. 61
第14题 中级 2.0分 单选
数轴上有 7 个点,坐标分别为 1、3、4、7、10、15、20。选取一个整数坐标点 P 使 P 到这 7 个点的距离之和最小,这个最小距离和是( )。
A. 37
B. 42
C. 40
D. 38
第15题 中级 2.0分 单选
一个无向图有 10 个顶点,其中 4 个顶点的度为 3,其余顶点的度均为 4,则该图的边数是( )。
A. 36
B. 18
C. 17
D. 20
第16题 中级 1.0分 判断
(1分)当输入为 3 时,程序输出为 3 3。( )

T. 正确
F. 错误
第17题 中级 1.0分 判断
将第 11 行的 ++x; 删除后,程序输出的两个数一定相等。( )

T. 正确
F. 错误
第18题 中级 1.0分 判断
假设输入为非负整数,则程序输出的第一个数一定不小于第二个数。( )

T. 正确
F. 错误
第19题 中级 3.0分 单选
将第 7 行的 while (n > 0) 改为 while (n >= 0) 后,程序可能出现的问题是( )。

A. 陷入死循环
B. 输出结果比原来大
C. 输出结果比原来小
D. 输出结果不受影响
第20题 中级 3.0分 单选
当输入为 6 时,输出为( )。

A. 3 3
B. 4 2
C. 4 3
D. 5 2
第21题 中级 3.0分 单选
若输入 n 依次取遍 0, 1, 2, …, 2^31−1 中的所有整数,则程序输出的第二个数恰好为 2 的次数为( )。

A. 16
B. 30
C. 31
D. 32
第22题 中级 1.0分 判断
当输入为 123 456 时,程序输出为 0579。( )

T. 正确
F. 错误
第23题 中级 1.0分 单选
假设输入的两个数均不含前导零,则程序输出的结果也一定不会含有前导零。( )

A. 正确
B. 错误
第24题 中级 1.0分 单选
将第 21 行改为 c[i]=a[i]+b[i]; 后,程序输出的结果一定比原来的结果小。( )

A. 正确
B. 错误
第25题 中级 3.0分 单选
当输入为 12345 678 时,输出为( )。

A. 012923
B. 013023
C. 13023
D. 130230
第26题 中级 3.0分 单选
将第 22 行的 if (c[i]>=10) 改为 if (c[i]>10) 后,当输入为 95 15 时,输出为( )。

A. 01010
B. 110
C. 140
D. 1410
第27题 中级 3.0分 单选
假设输入的两个数均为 n 位正整数(不含前导零),且它们的和小于 10^n,则程序输出的字符串一定满足( )。

A. 第一个字符一定不为 '0'
B. 长度一定为 n
C. 长度一定为 n+1,且第一个字符为 '0'
D. 长度可能为 n+2
第28题 中级 1.0分 单选
当输入为 10 时,程序的输出共有 10 行。( )

A. 正确
B. 错误
第29题 中级 1.0分 判断
若输入的 n 不大于 5,则程序的输出中一定包含 5。( )

T. 正确
F. 错误
第30题 中级 1.0分 判断
若输入的 n 大于 10,将第 17 行的 for (int i=0;i<=9;i++) 改为 for (int i=1;i<=9;i+=2) 后,程序的输出结果一定不变。( )

T. 正确
F. 错误
第31题 中级 3.0分 单选
当输入为 24 时,程序输出的第 3 行为( )。

A. 23
B. 29
C. 31
D. 239
第32题 中级 3.0分 单选
下列关于该程序输出的说法中,正确的是( )。

A. 输出的数一定按照从小到大的顺序排列
B. 随着输入 n 的增大,输出的行数一定不会增加
C. 输出的数的个位数字只能是 3 或 7
D. 输出的每个大于等于 10 的数,十进制下删去它的末位数字后得到的数一定是质数
第33题 中级 3.0分 单选
当输入为 200 时,程序输出的行数为( )。

A. 12
B. 13
C. 14
D. 15
第34题 中级 3.0分 单选
①处应填( )。

A. b[j] n
B. b[j] m
C. b[j - 1] n
D. b[j - 1] m
第35题 中级 3.0分 单选
②处应填( )。

A. x * n
B. x
C. 0
D. m
第36题 中级 3.0分 单选
③处应填( )。

A. b[j] / m
B. b[j] % n
C. b[j] % m
D. b[j] / n
第37题 中级 3.0分 单选
④处应填( )。

A. b[j] / m
B. b[j] % n
C. b[j] % m
D. b[j] / n
第38题 中级 3.0分 单选
⑤处应填( )。

A. len > 0 && b[len - 1] == 0
B. len > 0 && b[0] == 0
C. len > 1 && b[len - 1] == 0
D. len > 1 && b[0] == 0
第39题 中级 3.0分 单选
①处应填( )。


A.
B.
C.
D.
第40题 中级 3.0分 单选
②处应填( )。


A.
B.
C.
D.
第41题 中级 3.0分 单选
③处应填( )。


A.
B.
C.
D.
第42题 中级 3.0分 单选
④处应填( )。


A.
B.
C.
D.
第43题 中级 3.0分 单选
⑤处应填( )。(选项缺失,以下为正确写法)
A.
B.
C.
D.
💬