小赛码CSP-J2024复习计划
CSP-J 模拟题2

*
您的校区:
*
您的姓名:

一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)

1.
在 C++程序中用到的一个常量 a = 5e-6在内存中占()空间。
A. 2字节
B. 1字节
C. 4字节
D. 8字节
2.
以下关于 CSP 与 NOIP 的描述正确的是(  )
A. CSP 属于专业认证,只有计算机专业在校生才能参加
B. CSP-J/CSP-S 是中国通信学会举办的程序设计竞赛
C. CSP-J初赛零分也可以直接报名参加 NOIP
D. CSP-J和CSP-S都是CCF 牵头举办的程序设计赛事
3.
某单位安装一条电信宽带进行上网,运营商说下行速度是500Mbps。要下载大小 10GB 的软件,最快大约需要(     )秒。
A. 2
B. 20
C. 200
D. 2000
4.
广搜使用的数据结构一般是什么()
A. 队列
B. 栈
C. 链表
D. 树
5.
在微型计算机中,(      )的存取速度最快。
A. RAM
B. CD-ROM
C. 高速缓存
D. 寄存器
6.
搜索算法中的 DFS 算法经常用到的数据结构是(    )。
A. 堆
B. 栈
C. 链表
D. 队列
7.
以下哪个说法是正确的?(     )
A. 花括号 “{” 和 “}” 只能作为 C++ 函数体的定界符
B. 构成 C++ 程序的基本单位是函数,所有函数名都可以由用户命名
C. 分号是 C++ 语句之间的分隔符,不是语句的一部分
D. C++ 程序中的注释部分可以出现在程序中任意合适的地方
8.
在下列排序算法中,STL 中的 sort() 函数采用的主要算法是()。
A. 选择排序
B. 快速排序
C. 冒泡排序
D. 拓扑排序
9.
以下哪个说法是正确的?(     )
A. 第一台电子计算机 ENIAC 是基于集成电路的产物
B. 计算机必须要同时有IP地址和域名才能接入互联网
C. david@163.com 是一个正确的电子邮箱地址
D. 手机上收到的短信,里面的链接可以随意点击打开
10.
以下不能对二维数组 a 进行正确初始化的语句是(      )。
A. int a[2][3] = { {1,2}, {3,4}, {5,6} };
B. int a[] [3] = {{1,2} , {0} };
C. int a[2][3] = {0};
D. int a[][3] = { 1, 2, 3, 4, 5, 6 };
11.
现在有一个八进制数274,其转换成的二进制数是(     )。
A. 10111011
B. 10111101
C. 10111100
D. 10101100
12.
设A= true, B= false, C =false,D=true,以下逻辑运算表达式的值为假的是(     )
A.
B.
C.
D.
13.
二叉树的中序序列为 ABCEFGHD,后序序列为ABFHGEDC,则其前序序列为(    )。
A. CBADEGHF
B. CBADEGFH
C. CBDAEGFH
D. CBADGEFH
14.
从班级中体育比较好的12人中选5人去参加运动会,其中甲、乙、丙最多同时选两人,不同的选法共有(    )种。
A. 792
B. 756
C. 720
D. 676
15.
以下哪个结构可以用来存储图?(    )
A. 栈
B. 二叉树
C. 邻接表
D. 队列
二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填 √,错误填 ×;除特殊说明外,判断题1.5分,选择题3 分,共计40分)
(1)


判断题 每题1.5分
16.
将第2行代码改为#include <stdio.h>, 程序的运行结果不会改变。
17.
将第9~10行代码改为 cin >> s1 >> s2; ,程序的运行结果不会改变。
18.
若输入两个都超过 1005 位长的正整数,则程序一定会出错且无输出。
19.
在输人 0 0 的情况下,将第 24 行代码中的 lc > 0 去掉,程序的运行结果不会改变。
选择题(每题3分)
20.
若输入数据为1024 1000,则输出为()。
A. 24
B. 2024
C. 1024
D. 1000
21.
若输人数据为1 -1,则输出为(    )。
A. 1
B. 0
C. -1
D. 以上均错误
(2)


判断题(每题1.5分)
22.
该排序算法用到的是不稳定的排序算法。
23.
将第 10 行改为 mid = 1 + r >> 1; , 程序的输出结果不变。
24.
该排序算法用到了分治的思想。
25.
第 35 行代码用到的三目运算符处理代码可以用等价的条件语句来写。
选择题(每题3分)
26.
在最坏情况下,该算法的时间复杂度和下面哪个算法相当?
A. 插入排序
B. 选择排序
C. 堆排序
D. 快速排序
27.
若输出 2 3 5 7 8,则输人可能为()。
A. 1 2 4 6 7
B. 8 7 5 2 3
C. 3 4 2 5 7
D. 8 2 3 4 5
代码3



判断题(每题1.5分)
28.
该程序的作用是对n 进行质因数分解并从小到大依次打印。
29.
将第 9 行代码 printf ("%4d", a[k]); 中的 4 去掉,程序输出不变。
30.
第 24 ~ 26 行的作用是求出 n 的所有因子。
31.
程序运行过程中,若输入 n 为 0 或者负数,程序一定会打印错误,崩溃退出。
选择题(每题3分)
32.
若输入6,则输出为
A. 6
3 2
B. 72
36 2
C. 6
2 3
D. 72
2 36
33.
若输入 n=1,那么输出结果可能是()。
A. 2
B. 1
C. 0
D. 什么也不输出
*
34.
(4分)若输人2024,则输出有(    )行。
A. 18
B. 20
C. 21
D. 19

三、完善程序(单选题,每小题3分,共计30分)


(1) 扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷(称地雷格),其他格子不含地雷(称非地雷格)。玩家翻开一个非地雷格时,该格子中将会出现一个数字,提示周围格子中有多少个是地雷格。玩家的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。请将程序补充完整。


现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。

注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下这8个方向上与之直接相邻的格子。




35.
①处应填()
A. g[i][j]!= '?'
B. g[i][j] != '\0'
C. g[i][j] != '*'
D. g[i][j] == '*'
36.
②处应填()
A. cnt++
B. cnt = 0
C. cnt = 1
D. ++cnt
37.
③处应填()
A. k < 8
B. k < m
C. k < n
D. k < min(m, n)
38.
④处应填()
A. g[i + dy[k] [j + dx[k] ] == '*'
B. g[i - dx[k] [j - dy[k] ] == '*'
C. g[i + dx[k] [j + dy[k] ] == '*'
D. g[i - dy[k] [j - dx[k] ] == '*'
39.
⑤处应填()
A. j != m
B. j != m - 1
C. i != n
D. i != n - 1


40.
①处应填()
A. i %= 10
B. i /= 10
C. i++
D. i--
41.
②处应填()
A. k += hcb[i]
B. k += hcb[i/10]
C. k += hcb[i/10%10]
D. k += hcb[i%10]
42.
③处应填()
A. num == 0
B. num != 0
C. num == n
D. num != n
43.
④处应填()
A. count = 1
B. count = match(n)
C. count = 0
D. count = n
44.
⑤处应填()
A. matches(i) + matches(j) + matches(i+j) + 6 == n
B. matches(i) + matches(j) + matches(i+j) + 3 == n
C. matches(i) + matches(j) + matches(i+j) + 4 == n
D. matches(i) + matches(j) + matches(i+j) + 5 == n
问卷星提供技术支持
举报