#4450. 普及组 CSP-J 第3套初赛模拟试题答案解析

普及组 CSP-J 第3套初赛模拟试题答案解析

单项选择

1.C

答案解析

个人计算机是指台式机、一体机、笔记本电脑、掌上电脑。服务器是提供计算服务的设备。主机是指计算机除去输入输出设备以外的主要机体部分。

2.C

答案解析

可化为同一进制进行比较,通常是十进制。

3.C

答案解析

在ASCII表中大写英文字母是连续编码的,字母E应该比字母A大4。

4.D

答案解析

本题是常识题。

5.A

答案解析

传输控制协议(TCP, Transmission Control Protocol);IP(Internet Protocol)协议,又称网际协议。

6.A

答案解析

分支结点与叶结点的关系:增加1个度为n的结点,相应增加n-1个叶子结点。

7.C

答案解析

图中每条边在计算结点度数时计算了2次,因此是2倍关系。

8.B

答案解析

为了方便阅读和分析,IPv4地址通常被写作点分十进制的形式,即四个字节被分开用十进制写出,中间用点分隔。每部分的取值范围为:0-255.

9.D

答案解析

二分查找最多次数为log₂n向上取整。

10.B

答案解析

已知中序遍历和后序遍历可以唯一确定一棵二叉树,再根据规则得到前序遍历。

11.C

答案解析

电子邮件地址的格式:用户名@域名。

12.A

答案解析

Telnet(远程登录)、E mail(电子邮箱)、TCP/IP(传输控制协议/因特网互联协议)、WWW(万维网)。

13.B

答案解析

线性表链接存储是用链表来存储线性表。线性链表的特点是:每个链表都有一个头指针,整个链表的存取必须从头指针开始,头指针指向第一个数据元素的位置,最后的节点指针为空。当链表为空时,头指针为空值。链表非空时,头指针指向第一个节点。链式存储的缺点是:由于要存储地址指针,所以浪费空间;直接访问节点不方便。

14.B

答案解析

硬盘属于外存,用于程序数据等文档的保存,程序运行时会把程序从硬盘读入到内存(RAM)中运行,ROM为只读存储器,开机自测程序放在ROM中,而CACHE为高速缓存,为缓解CPU和内存的速度不匹配引入,为CPU的一部分。

15.A

答案解析

当A>=B&&B>=C的取值为真时,A>=B和B>=C都为真,从而,可推出A>=C,当三数相等时A=B=C,否则A>C。

阅读程序

16.B

17.B

18.A

19.A

20.C

21.B

答案解析

(1)y数组记录大于x数据对应下标数的个数。交换则作用相好相反。

(2)删掉后,相等的情况也加进来了。

(3)如果改成1,数组存在一次重复计算。

(4)y数组记录大于x数据对应下标数的个数,因此可以看成是从大到小的次序。

(5)本程序是一个二重循环程序,因此时间复杂度为O(n²)。

(6)根据循环找的是比第i个数大的数的个数。

22.B

23.A

24.B

25.B

26.B

27.D

答案解析

(1)因为d数据的下标在[0,10]之间,而x输入后作为d数组的下标,因此范围也应该在[0,10]之间。

(2)语句d[x]=d[x]+1 与语句d[x]++等价。

(3)当某个数没输入时,d数组对应下标的值与前一个下标的值相等。

(4)d数组相邻两数之间只有相等或小于的关系。因此把不等于改为大于效果一样。

(5)依题意,前面的是数i,后面是比数i小的数的个数加1,很容易得出答案。

(6)依题意,按从小到大输出这些数(去重)。

28.A

29.A

30.B

31.B

32.C

33.A

答案解析

(1)根据第20行,可知只要有前面的数小于后面的数,m的值为0可知, while语句的退出条件是前面的数不小于后面的数。

(2)同(1)。

(3)退出条件是前面的数不小于后面的数,包含等于。

(4)在前面m已经有一个非零值,删除“m=1”不影响结果。

(5)本题通过模拟可以得到结果,另通过分析,a[2]每次加2,初值为3,因此a[2]始终是奇数,从而排除A和D,按照类似的方法分析可以快速得到答案。

(6)本程序是三重循环的嵌套,时间复杂度为O(n³)。

完善程序

(1)

34.B

35.A

36.D

37.B

38.C

答案解析

(1)根据菲波拉契数列的规则,要求下一个数,得更新前两个数的值。

(2)当b==n时任务完成,否则返回不超过n的最大值,为继续递归求解做准备。

(3)同(2)

(4)非第一个菲波拉契数前面要添上“+”号。

(5)继续递归,求余下的数(n-a)。

(2)

39.C

40.A

41.B

42.D

43.A

答案解析

(1)用两点间的距离公式求解。

(2)这里p[i]的值为可以假设i点到起点1的距离最短。

(3)查找没加入最小费用集合的点到最小费用集里点的距离最小值的点。

(4)同③,并记录该点。

(5)找到集合外的点与刚加入的点是否有更优的值,并更新最优点。