普及组 CSP-J2024初赛模拟卷4

题目总数:44
总分数:100
时间:不限时
第 1 题    单选题

正整数2024与1840的最大公约数是()

A.

46

B.

92

C.

44

D.

184

第 2 题    单选题

十进制数28与二进制数10000001110000求和的结果是()

A.

十进制数8332

B.

十六进制数 208A

C.

二进制数 100000000110

D.

八进制数 20212

第 3 题    单选题

C++程序中,(25|6)^5的值是()

A.

25

B.

26

C.

27

D.

28

第 4 题    单选题

在数组 A[x]中,若存在(i<j)且(A[i]> A[j]),则称(A[i],A[j])为数组A.A[x]的一个逆序对。对于序列(7,4,1,9,3,6,8,5),在不改变顺序的情况下,去掉()会使逆序对的个数减少4。

A.

1

B.

3

C.

6

D.

5

第 5 题    单选题

如果字符串s在字符串A中出现了,则字符串s被称作字符串A的子串。设字符串A="players",A的非空子串的数目是(。

A.

27

B.

29

C.

28

D.

30

第 6 题    单选题

以下哪种算法的主要框架不是非比较排序?()

A.

计数排序

B.

堆排序

C.

基数排序

D.

桶排序

第 7 题    单选题

采用了倍增法的程序运行的时间复杂度是()

A.

O(logn)

B.

O(n)

C.

O(n2)


D.

O(nlogn)

第 8 题    单选题

将数组{9,33,5,18,71,3,52,85}中的元素按从大到小的顺序排列,每次可以交换任了意两个元素,最少需要交换()次。

A.

4

B.

5

C.

6

D.

7

第 9 题    单选题

关于计算机网络,下面的说法中哪个是正确的?()

A.

计算机网络是一个管理信息系统

B.

计算机网络是一个管理数据系统

C.

计算机网络是一个在协议控制下的多机互联系统

D.

计算机网络是一个独立的操作系统

第 10 题    单选题

下列哪款软件不是操作系统软件的名字?

A.

安卓

B.

Windows 11

C.

华为鸿蒙

D.

ChatGPT

第 11 题    单选题

下述选项中哪个不是算法描述的通用方法?

A.

自然语言

B.

流程图

C.

人工智能

D.

伪代码

第 12 题    单选题

若A=True,B=False,C=True,D=False,以下逻辑运算表达式的运算结果为真的是()


A.

(AΛB)V(CΛDV-A)

B.

((A ∧ B) ∧C) A-B

C.

(BVCVD)VDΛA

D.

(AΛD V-C)AB

第 13 题    单选题

一颗二叉树的高度为h,所有节点的度数都为0或2,则此树最少有()个节点

A.

2h-1


B.

2h-1

C.

2h+1

D.

h+1

第 14 题    单选题

从12个人中选出5个人,其中甲、乙、丙必选的方法共有()种

A.

60

B.

36

C.

72

D.

120

第 15 题    单选题

在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍。

A.

1/2

B.

2

C.

1

D.

4

第 16-21 题    多题目

第1题 判断

将第1行头文件改为#include<iostream>,程序的运行结果不会改变。

A.
正确
B.
错误

第2题 判断

将第5行中的'a'替换为97,程序的运行结果不会改变。

A.
正确
B.
错误

第3题 判断

将第6行中的32替换为'',程序的运行结果不会改变。

A.
正确
B.
错误

第4题 判断

将第14行代码去掉,程序的运行结果不会改变。

A.
正确
B.
错误

第5题 单选

若输入数据为ABCDE AbCdE,则输出为()。

A.

3

B.

5

C.

2

D.

0

第6题 单选

若输人数据为 WorldYiwuAsiaShanghaiChinaHangzhouZhejiangJinhua,则输出为()

A.

36

B.

40

C.

42

D.

44

第 22-27 题    多题目

第1题 判断

如果n输入一个负整数,程序的运行会出错。

A.
正确
B.
错误

第2题 判断

如果n输入一个正整数,m输入一个负整数,那么程序会进入死循环,不会输出任何结果。

A.
正确
B.
错误

第3题 判断

若输入44,则程序的运行结果为1。

A.
正确
B.
错误

第4题 判断

若输人4 -1,则程序的运行结果为 0。

A.
正确
B.
错误

第5题 单选

若输人为74,则输出为()。

A.

20

B.

10

C.

15

D.

5

第6题 单选

若输出为10,则输入可能为()

A.

5 3

B.

5 4

C.

6 4

D.

6 5

第 28-34 题    多题目

第1题 判断

本段程序的算法用到了二分算法的思想。

A.
正确
B.
错误

第2题 判断

将第3行中的const 去掉,程序的运行结果不变。

A.
正确
B.
错误

第3题 判断

将第14行中的left<n去掉,程序的运行结果不变。

A.
正确
B.
错误

第4题 判断

将第38行中的long long替换为int,程序的运行结果不变。

A.
正确
B.
错误

第5题 单选

第8行的写法在某些时候会导致程序运行有问题,最好换成写法(

A.

mid =(left + right)<<1

B.

mid =left +(right -left)/2

C.

mid=(left +right)>>1

D.

mid =(left + right)% 2

第6题 单选

本程序的时间复杂度为()。

A.

 O(logn)

B.

O(n)

C.

O(n2)


D.

O(nlogn)

第7题 单选

当输入

4 1

1 1 2 3

时,程序的输出结果为()

A.

1

B.

2

C.

3

D.

4

第 35-39 题    多题目

给定一棵树,输出树的根ro0t、孩子结点最多的结点max以及它的孩子结点输入格式:

第1行输入n(结点数≤100)和m(边数≤200)。以下m行输入每行两个结点x和y,表示y是x的孩子结点(xy≤1000)。输出格式:

第1行是树根root。第2行是孩子结点最多的结点max。第3行是max的孩子结点。

输入样例:

8 7

4 1

42

13

15

2 6

27

28

输出样例:

4

2

678

第1题 单选

①处应填()

A.

tree[y]=x

B.

tree[x]=y

C.

tree[y]= i

D.

tree[x]= i

第2题 单选

②处应填()

A.

tree[i]==1

B.

tree[i]== 0

C.

tree[i]== 2

D.

tree[i]

第3题 单选

③处应填()

A.

 break

B.

continue

C.

return 0

D.

exit

第4题 单选

④处应填()

A.

sum == MaX

B.

sum <= MaX

C.

sum > Max

D.

sum < Max

第5题 单选

⑤处应填()

A.

tree[i]!= maxroot

B.

tree[i]<= maxroot

C.

treeli]>= maxroot

D.

tree[i]== maxroot

第 40-44 题    多题目

快速排序是一种高效的排序算法,我们常用的STL函数sort就是采用快速排序思想实现的。如下代码是一个经典的快速排序过程,输入一个整数n,然后输人"个整数,程序会按照从小到大的顺序将所有整数进行排序并输出。请将程序补充完整。

第1题 单选

①处应填()

A.

tmp = a[begin]

B.

tmp = a[i]

C.

tmp = a[j]

D.

tmp = a[end]

第2题 单选

②处应填()。

A.

B.

C.

D.

第3题 单选

③处应填()。

A.

swap(a[i],a[j])

B.

swap(a[begin],a[i])

C.

swap(a[begin],a[j])

D.

swap(a[begin],a[end])

第4题 单选

④处应填()。

A.

quickSort(a,begin,i)

B.

quickSort(a,begin,i-1)

C.

quickSort(a,1,i)

D.

quickSort(a,1,i-1)

第5题 单选

⑤处应填()。

A.

quickSort(a,1,n-1)

B.

quickSort(a,0,n-1)

C.

quickSort(a,1,n)

D.

quickSort(a,0,n)