2026CSP-J第一轮(初赛)真题估分
作答提交后可查看答案与解析,如需下载错题集或有疑问请联系发明家姜老师 15510673573(微信同号)
认证时间:2026年9月19日 09:30~11:30。试题纸共有12页,答题纸共有1页,满分100分。请在答题纸上作答,写在试题纸上的一律无效。不得使用任何电子设备或查阅任何书籍资料。
基本信息:
姓名:
学校:
准考证号:
一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)
1. 下列 C++ 数据类型中,能够精确存储 10^18-1 这个整数的是( )
A. float
B. long long
C. double
D. int
2. 十六进制数 2F5 转换为八进制数是( )
A. 1364
B. 1635
C. 1405
D. 1365
3. 执行下列 C++ 代码,输出是( )
01 int a = 7, b = 3;
02 std::cout << a / b * b + a % b;
A. 9
B.10
C. 7
D. 6
4. 初始时栈为空,将 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. 一棵有 100 个结点的完全二叉树,其中叶子结点个数是( )
A. 49
B. 50
C. 64
D. 51
6. 执行下列代码后 s 的值是( )
01 int s = 0;
02 for (int i = 1; i <= 100; i++)
03 if (i % 3 == 0 || i % 5 == 0)
04 s += i;
A. 3048
B. 2733
C. 2318
D. 2418
7. 上楼梯每步可上 1 级、2 级或 3 级,从地面(可视为第 0 级)走到第 8 级台阶共有多少种不同走法( )
A. 44
B. 121
C. 149
D. 81
8. 在 5×5 网格中,行号、列号均从 0 开始,# 为障碍,. 为可通行格:
S . . # .
. . . # .
. . . # .
# . . . E
. . . # .
从 S 出发做广度优先搜索(BFS),按“上、下、左、右”顺序遍历相邻格子。当 E 第一次入队时,已经入队过的格子(含 S 和 E)共有多少个( )
A. 15
B. 12
C. 14
D. 13
9. 满足 1 ≤ n ≤ 100 且 gcd(n, 60) = 6 的正整数 n 共有多少个( )
A. 8
B. 6
C. 4
D. 5
10. 某国硬币面值为 1 元、4 元、6 元且数量不限,凑出 9 元最少需要多少枚( )
A. 3
B. 4
C. 5
D. 2
11. 执行下列代码,输出是( )
01 int a[5] = {1, 3, 5, 7, 9};
02 int *p = a + 2;
03 *(p - 1) = p[0] + p[2];
04 p[1] = *(a + 1) - a[0];
05 cout << a[1] << "," << a[3];
A. 14,13
B. 8,13
C. 14,7
D. 14,2
12. 在含 1000 个互不相同元素的升序数组中,用二分法查找给定值(返回元素位置或报告不存在),最坏情况下需要与数组元素比较多少次( )
A. 500
B. 9
C. 11
D. 10
13. 数组 a[1..n] 的前缀和数组 s(即 s[i] = a[1] + a[2] + ... + a[i])满足 s[i] = 3i^2 + i。则 a[10] 的值是( )
A. 252
B. 310
C. 58
D. 61
14. 数轴上有 7 个点,坐标分别为 1、3、4、7、10、15、20。在数轴上选取一个整数坐标点 P,使 P 到这 7 个点的距离之和最小,这个最小距离和是( )
A. 37
B. 42
C. 40
D. 38
15. 一个无向图有 10 个顶点,其中 4 个顶点的度为 3,其余顶点的度均为 4,则该图的边数是( )
A. 36
B. 18
C. 17
D. 20
二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填 √,错误填 ×;除特殊说明外,判断题 1.5 分,选择题 3 分,共计 40 分)
阅读程序(1)
16. 当输入为 3 时,程序输出为 3 3。
对
错
17. 将第 11 行的 ++x; 删除后,程序输出的两个数一定相等。
对
错
18. 假设输入为非负整数,则程序输出的第一个数一定不小于第二个数。
对
错
单选题
19. 将第 7 行的 while (n > 0) 改为 while (n >= 0) 后,程序可能出现的问题是( )
A. 陷入死循环
B. 输出结果比原来大
C. 输出结果比原来小
D. 输出结果不受影响
20. 当输入为 6 时,输出为( )
A. 3 3
B. 4 2
C. 4 3
D. 5 2
21. 若输入 n 依次取遍 0, 1, 2, ..., 2^31-1 中的所有整数,则程序输出的第二个数恰好为 2 的次数为( )
A. 16
B. 30
C. 31
D. 32
阅读程序(2)
22. 当输入为 123 456 时,程序输出为 0579。
对
错
23. 假设输入的两个数均不含前导零,则程序输出的结果也一定不会含有前导零。
对
错
24. 将第 21 行改为 c[i]=a[i]+b[i]; 后,程序输出的结果一定比原来的结果小。
对
错
单选题
25. 当输入为 12345 678 时,输出为( )
A. 012923
B. 013023
C. 13023
D. 130230
26. 将第 22 行的 if (c[i]>=10) 改为 if (c[i]>10) 后,当输入为 95 15 时,输出为( )
A. 01010
B. 110
C. 140
D. 1410
27. 假设输入的两个数均为 n 位正整数(不含前导零),且它们的和小于 10^n,则程序输出的字符串一定满足( )
A. 第一个字符一定不为 '0'
B. 长度一定为 n
C. 长度一定为 n+1,且第一个字符为 '0'
D. 长度可能为 n+2
阅读程序(3)
判断题
28. 当输入为 10 时,程序的输出共有 10 行。
对
错
29. 若输入的 n 不大于 5,则程序的输出中一定包含 5。
对
错
30. 若输入的 n 大于 10,将第 17 行的 for (int i=0;i<=9;i++) 改为 for (int i=1;i<=9;i+=2) 后,程序的输出结果一定不变。
对
错
单选题
31. 当输入为 24 时,程序输出的第 3 行为( )
A. 23
B. 29
C. 31
D. 239
32. 下列关于该程序输出的说法中,正确的是( )
A. 输出的数一定按照从小到大的顺序排列
B. 随着输入 n 的增大,输出的行数一定不会增加
C. 输出的数的个位数字只可能是 3 或 7
D. 输出的每个大于等于 10 的数,十进制下删去它的末位数字后得到的数一定是质数
33. 当输入为 200 时,程序输出的行数为( )
A. 12
B. 13
C. 14
D. 15
三、完善程序(单选题,每小题 3 分,共计 30 分)
完善程序(1)进制减半
给定 n, m,再给定一个 mn 进制下的数 A,其各个数位上的数按照从高位到低位的顺序给出,请你将其转化为 n 进制,并同样按照从高位到低位的顺序输出。
34. 完善程序(1)进制减半:①处应填( )
A. b[j] * n
B. b[j] * m
C. b[j - 1] * n
D. b[j - 1] * m
35. 完善程序(1)进制减半:②处应填( )
A. x * n
B. x
C. 0
D. m
36. 完善程序(1)进制减半:③处应填( )
A. b[j] / m
B. b[j] % n
C. b[j] % m
D. b[j] / n
37. 完善程序(1)进制减半:④处应填( )
A. b[j] / m
B. b[j] % n
C. b[j] % m
D. b[j] / n
38. 完善程序(1)进制减半:⑤处应填( )
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
完善程序(2)平衡分割
39. ① 处应填( )。
A. c <= '9' ? c - '0' : c - 'A' + 10
B. c - '0'
C. c - 'A'
D. c >= 'A' ? c - '0' : c - 'A' + 10
40. ② 处应填( )。
A. int i = 1; i <= n; ++i
B. int i = l; i <= n; ++i
C. int i = l; i < n; ++i
D. int i = l + 1; i <= n; ++i
41. ③ 处应填( )。
A. sum / (i - l + 1)
B. 1.0 * sum / (i - l)
C. 1.0 * sum / (i - l + 1)
D. 1.0 * sum / (i + 1)
42. ④ 处应填( )。
A. i, cnt - 1, min(mnb, nwb), max(mxb, nwb)
B. i + 1, cnt, min(mnb, nwb), max(mxb, nwb)
C. i + 1, cnt - 1, mnb, mxb
D. i + 1, cnt - 1, min(mnb, nwb), max(mxb, nwb)
43. ⑤ 处应填( )。
A. 0, k, 1e100, -1e100
B. 1, k, 1e100, -1e100
C. 1, k + 1, 1e100, -1e100
D. 1, k + 1, 0, 0
关闭
更多问卷
复制此问卷