提高组 CSP-S 2026 初赛模拟卷 4
基本信息:
姓名:
年级:
班别:
一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)
1. 假设有以下定义: int a[5]={1,2,3,4,5}, i=3, *p=a, *q=a;,则不能正确执行的语句是()。
A. i=*p+*q;
B. a=i;
C. *p=*(a+i);
D. i=*p**q+2;
2. 下列不属于 CPU 的是()。
A. 海思麒麟990
B. Intel酷睿i7
C. 影驰RTX2070
D. AMD Ryzen 7
3. (2019)₁₀+(2020)₈ 的结果是()。
A. (3049)₁₀
B. (BF3)₁₆
C. (101111110001)₂
D. (5765)₈
4. 某二叉树的先序遍历序列和后序遍历序列正好相反,当且仅当该二叉树()。
A. 高度等于其节点数
B. 任一节点无左子节点
C. 任一节点无右子节点
D. 空或只有一个节点
5. 若有定义 char x[]="12345"; char y[]={'1','2','3','4','5'};,则()。
A. x与y所占内存空间相同
B. x比y所占内存空间大
C. x比y小
D. x等价于y
6. 公共汽车起点站于每小时的10分、30分、55分发车,某乘客不知发车时间,在每小时内 的任一时刻随机到达车站,如果乘客到车站的时刻恰为发车时间就不能坐上此时发车的公 共汽车,则乘客候车时间的数学期望(准确到秒)是( )。
A. 8分40秒
B. 15分20秒
C. 22分30秒
D. 10分25秒
7. 设要将序列Q,H,C,Y,P,A,M,S,R,D,F,X 中的关键码按字母的升序重新排列,则( ) 是 以第一个元素为分界元素的快速排序一趟扫描的结果。
A.F,H,C,D,P,A,M,Q,R,S,Y,X
B.P,A,C,S,Q,D,F,X,R,H,M,Y
C.A,D,C,R,F,Q,M,S,Y,P,H,X
D.H,C,Q,P,A,M,S,R,D,F,X,Y
8. 设G是有n 个节点、m条边(n≤m) 的连通图,必须删去G的 ( )条边才能使得G变成一棵树。
A. m-n+1
B. m-n
C. m+n+1
D. n-m+1
9. 将 2 个红球、1 个蓝球、1 个白球放到 10 个编号不同的盒子中,有()种放法。
A. 5040
B. 2520
C. 1260
D. 420
10. 一个家具公司生产桌子和椅子。现在有113个单位的木材。每张桌子要使用20个单位的 木材,售价是30元;每张椅子要使用16个单位的木材,售价是20元。使用已有的木材
生产桌椅(不一定要把木材用光),最多可以卖( )元钱。
A. 140
B. 150
C. 160
D. 170
11. 插入排序、冒泡排序、选择排序、快速排序的时间复杂度分别是()。
A. O(n²)、O(n²)、O(n²)、O(nlog n)
A. O(n²)、O(n²)、O(n²)、O(log n)
A. O(nlog n)、O(n²)、O(n²)、O(nlog n)
A. O(nlog n)、O(n²)、O(nlog n)、O(nlog n)
12. 以下数据结构中,()不是线性结构。
A. 广义表
B. 二叉树
C. 队列
D. 栈
13. 以下最短路径算法中,不能处理带有负边权值的是()。
A. Dijkstra
B. Floyd
C. Bellman-Ford
D. SPFA
14. 栈 S 最多能容纳 4 个元素。现有 6 个元素按 1,2,3,4,5,6 的顺序进栈,()是可能的出栈序列。
A. 5,4,3,2,1,6
B. 3,2,5,4,1,6
C. 2,3,5,6,1,4
D. 1,4,6,5,2,3
15. 平面上有三条平行直线,每条直线上分别有7,5,6个点,且不同直线上的三个点都不在同 一条直线上。以这些点为顶点,能组成( )个不同的四边形。
A. 18
B. 210
C. 2250
D. 4500
二、
阅读程序
(
程序输入不超过数组或字符串定义的范围;判断题正确填
√
,
错误填
x;
除特
殊说明外,判断题每题2分,选择题每题3分,共计40分
)
(1)
判断题
16.将findval l() 中的if(n==0) 改成if(n==1)时,对于输入正整数n, 输出不变。 ( )
对
错
17. 如果输入正整数 n,输出的值一定小于或等于 n。
对
错
18. 如果输入的 n 是负数,该程序会出现死循环。
对
错
19. 如果多次运行该程序,输入的 n 是单调递增的 int 类型整数,那么每次输出的结果也是一个严格单调递增的数列。
对
错
20. 若两次输入 n 的值相差 1,输出的结果却是一个正数、一个负数,那么两次输入的 n 可能是()。
A. 不可能
B. -6,-7
C. -15,-16
D. -23,-24
21. 此程序的时间复杂度是()。
A. O(n²)
B. O(log n)
C. O(n)
D. O(n log n)
(2)
判断题
22. 输入的字符串长度应该在 1..59 范围内。( )
对
错
23. 如果输入的字符数组的所有字符是从大到小排好序的,那么程序会输出 No result!。( )
对
错
24. 倒数第 7 行输出的 mmin 值为输入字符串里的 ASCII 码最小的那个字符。
对
错
25. 最后一组(二重)for 循环是把剩下未输出的字符按照从小到大的顺序输出。( )
对
错
26. 如果输入的是 abcdzdcba,则第 16 行输出的是()。
A. abc
B. abcd
C. abcdz
D. abcdzd
27. 如果程序输出是 ffghhgggh,则输入有可能是()。
A. ffghhhghg
B. ffghhhhgg
C. ffghghhhg
D. ffghghghh
(3)
28. 由程序代码可知,贪吃蛇的初始长度为 2,蛇头和蛇尾分别在坐标 [1,2]、[1,1] 处。( )
对
错
29. check 函数是用来检测蛇是否吃到果实的。
对
错
30. 主函数中输入并存储的 y[xx] 表示在第 xx 秒按下了 y 键。( )
对
错
31. 当输入样例如下所示时,最终程序的运行结果表示贪吃蛇在第 9 秒过后就死亡了,因此最 后贪吃蛇保持的是死亡前(第7秒过后)的位置。
对
错
32. (4分)若输入的地图边长为 x,共执行 n 次操作(x>n),则该程序的时间复杂度为()。
A. O(x²)
B. O(n²)
C. O(n²x)
D. O(x²n)
三、完善程序(单选题,每小题3分,共计30分)
33.①处应填( )
A.dis[p][dx][dy]>d
B.dis[p][dx][dy]>d+1
C.dis[p][dx][dy]<d
D.dis[p][dx][dy]<d+1
34. ② 处应填( )。
A.dis[p][dx][dy]=d
B.dis[p][dx][dy]=d-1
C. dis[p][dx][dy ]=d+1
D.dis[p][dx][dy]=1
35. ③ 处应填( )。
A. q. push({{dx,dy}, d+1})
B. q. push ({{dx, dy}, d})
C. q. push({{dx,dy}, d-1})
D. q .push ({{d x,dy}, 1})
36. ④ 处应填( )。
A.bfs(0,j,i)
B.bfs(1,j,i)
C.bfs(0,i,j)
D.bfs(1,i,j)
37. ⑤ 处应填( )。
A.min(ans,dis[i][j]+dis[i][j])
B.min(ans,dis[j][i]+dis[j][i])
C.min(ans,dis[i][j])
D.min(ans,dis[i][j])
(2)
38. ① 处应填( )。
A.sum+a[r+1]<=k
B.sum+a[r]<=k
C.sum+a[r+1]<k
D.sum+a[r]<k
39. ② 处应填( )。
A.sum +=a[r]
B.sum +=a[++r]
C.sum +=a[r++]
D.sum +=a[r+1]
40. ③ 处应填( )。
A.ans +=r-i+1
B.ans +=r-i
C. ans +=r-j-1
D. ans += n- i+1
41. ④ 处应填( )。
A.sum +=a[i]
B.sum =a[r]
C . sum = a[i]
D. sum -=a[i]
42. ⑤ 处应填( )。
A.r =++i
B.r=i--
C.r=i++
D.r=i
关闭
更多问卷
复制此问卷