A. CSP-J初赛模拟试题3
CSP-J初赛模拟试题3
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)
1. 下列存储器按存取速度由快至慢排列,正确的是(()。
{{ select(1) }}
- 硬盘 >内存 >高速缵存>U盘
- 高速缓存 >内存 > 硬盘 >U 盘
- 高速缓存 >硬盘>内存>U盘
- U盘>硬盘>内存> 高速缓存
2.杨辉三角形和( )算法的思想最接近。
{{ select(2) }}
- 贪心
- 二分
- DFS
- 递推
3.下列属于输入设备的是( )
{{ select(3) }}
- 显示器
- 麦克风
- 音箱
- 打印机
4.小写字母a的ASCII码值为97,小写字母z的 ASCII码值是( )
{{ select(4) }}
- 120
- 119
- 122
- 121
5.IP地址是每台上网的计算机所必需的,下列IP地址中可以作为合法主机地址的是( )
{{ select(5) }}
- 225.225.225.225
- 200.256.192.8
- 192.168.1.12
- 0.0.0.0
6.下面哪个可以用作 C++程序中的标识符?( )
{{ select(6) }}
- default
- private
- this
- them
7.快速排序在最坏情况下运行的时间复杂度是( )
{{ select(7) }}
- O(logn)
- O(n)
- O(n*n)
- O(nlogn)
8.字符串 a="98",字符串 b="123",使用strcmp函数,比较两者大小的结果是( )
{{ select(8) }}
- a大
- b大
- 一样大
- 无法判断
9.关于计算机网络,下面的说法哪个是正确的?( )
{{ select(9) }}
- 现在的计算机互联网是俄罗斯人发明的
- 计算机网络拓扑结构只包括星形、流水线型和环形
- TCP/IP 是因特网的最基本的协议
- SMTP 属于物理层协议
10.关于信息安全与网络道德,下列做法正确的是()
{{ select(10) }}
- 确认环境安全后再输入支付密码
- 随意点击不熟悉的电子邮件中的链接
- 未经许可将其他人的私密照片和视频上传到互联网上
- 在微信里随意转发未经证实的信息
11.现在有一个十进制算式13*64+7,它等于二进制数的( )
{{ select(11) }}
- 1100100111
- 1101001111
- 1101000111
- 1111101101
12.逻辑表达式 A=true,B=C=D=false,则逻辑表达式取值为真的是( )
{{ select(12) }}
- (A Λ B)V(C Λ D V ¬A)
- ¬((A ∧ B V C)∧ D)
- A ∧ B V C V D) V D
- (A V (C V D)) ∧ B
13.某二叉树树根层次为0,则有64个结点的完全二叉树的高度是( )。
{{ select(13) }}
- 9
- 8
- 7
- 6
14.书架上同一格放5本书,A和B必须相邻,C和D必须不相邻,不同的放法共有( )种。
{{ select(14) }}
- 24
- 12
- 18
- 48
15.字符串 S="abcdefgh"的子串个数为( )。
{{ select(15) }}
- 33
- 35
- 37
- 36
二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填 A,错误填 B ;除特殊说明外,判断题 1.5 分,选择题 3 分,共计 40 分)
(1)
注:输人流中 1 ≤ p ≤q < m。
判断题:
16.将输入的p和q改成任意的整数,运行程序都不会出错。( )
{{ select(16) }}
- A
- B
17.将第7行中的count=0去掉,只定义count变量,程序的运行结果不会改变。( )
{{ select(17) }}
- A
- B
18.将第17行和第 18行互换位置,程序的运行结果不会发生变化。( )
{{ select(18) }}
- A
- B
19.将第15行中的i=1改为i=0,程序的运行结果不会改变。( )
{{ select(19) }}
- A
- B
选择题:
20.将第12~13 行中的p和q+1分别改为p-1和q,则输出结果( )
{{ select(20) }}
- 变大
- 变小
- 不变
- 可能变可能不变
21.若输入为4 4 1 2 2 3 3 3 1 3,则输出为()。
{{ select(21) }}
- 6
- 10
- 7
- 8
(2)
判断题:
22.程序中n和m只有输入正整数,程序的输出值才可能是 YES。( )
{{ select(22) }}
- A
- B
23.程序中用到了递归函数 bool fun(int n)。 ( )
{{ select(23) }}
- A
- B
24.若输入n和m都是素数,程序的输出值一定是 YES。 ( )
{{ select(24) }}
- A
- B
25.若输入n和m的值分别是-1和 2027,则程序的输出值是 YES。( )
{{ select(25) }}
- A
- B
选择题:
26.若输出YES,则输入可能为( )
{{ select(26) }}
- 23 29
- 23 24
- 23 27
- 31 37
27.若输出NO,则输入可能为( )
{{ select(27) }}
- 53 127
- 2029 -1
- 2023 2027
- 97 41
(3)
判断题:
28.将第1行改为 #include<iostream>
,程序的运行结果不变。( )
{{ select(28) }}
- A
- B
29.本程序用到了队列而不是栈的思想。( )
{{ select(29) }}
- A
- B
30.将第 12 行中的'0'替换为 48,程序的运行结果不会改变。( )
{{ select(30) }}
- A
- B
31.如果输入的都是非零数字和加、减、乘、除四则运算符号,那么运行程序输出的值一定是正整数。( )
{{ select(31) }}
- A
- B
选择题:
32.本题的主要思想是求()表达式的值。( )
{{ select(32) }}
- 前缀
- 后缀
- 中缀
- 逻辑
33.若输入234--,那么程序的输出结果是( )
{{ select(33) }}
- 3
- 2
- 1
- 0
34.(4分)若输入数据为5432*%/,则输出是( )
{{ select(34) }}
- 3
- 2
- 1
- 0
三、完善程序(单选题,每小题 3 分,共计 30 分)
(1) 输入两个正整数n和m(1<n<10,1<m<n),在1~n这n个数中任取 m个数,按字典序从小到大输出所有这样的排列。
输入格式:
第1行输入n和m。
输出格式:
输出从n个数中挑出m个数组成的所有排列,按从小到大的顺序输出。
输人样例:
4 3
输出样例:
1 2 3
1 2 4
1 3 2
1 3 4
1 4 2
1 4 3
2 1 3
2 1 4
2 3 1
2 3 4
2 4 1
2 4 3
3 1 2
3 1 4
3 2 1
3 2 4
3 4 1
3 4 2
4 1 2
4 1 3
4 2 1
4 2 3
4 3 1
4 3 2
35.①处应填( )
{{ select(35) }}
- flag = false
- flag = true
- vis[1]= false
- vis[1]= true
36.②处应填( )
{{ select(36) }}
- vis[i]= true
- a[i]= i
- vis[a[i]] = true
- vis[a[i]]= false
37.③处应填( )
{{ select(37) }}
- a[i]= i
- a[i]= j
- a[i]=true
- a[i]= false
38.④处应填( )
{{ select(38) }}
- j<=m
- j<=k
- j<=n
- j<=i
39.⑤处应填( )
{{ select(39) }}
- exit
- return 0
- continue
- break
(2)
求一个有向图中有多少个环并输出环的总数。 输入格式:
第1行为 n,第2行为n个点的编号。
输出格式:
输出有向图的环的总数。
输入样例:
10
7 1 4 3 2 5 9 8 0 6
输出样例: a[0]=7,a[7]=8,a[8]-0,{0,7,8}构成一个环; a[1]=1,{1}构成一个环; a[2]=4,a[4]-2,{2,4}构成一个环; a[3]=3,{3}构成一个环; a[5]=5,{5}构成一个环; a[6]=9,a[9]=6,{6,9}构成一个环。该有向图共有6个环。
40.①处应填( )
{{ select(40) }}
- &point
- point + i
- &point +i
- point[i]
41.②处应填( )
{{ select(41) }}
- vis[j]= false
- vis[j]= true
- vis[i]= true
- vis[i]= false
42.③处应填( )
{{ select(42) }}
- !vis[i]
- vis[i]
- !vis[point[i]]
- vis[point[i]]
43.④处应填( )
{{ select(43) }}
- j= point[i]
- j= point[j]
- i = point[j]
- i = point[i]
44.⑤处应填( )
{{ select(44) }}
- cnt = j+1
- cnt = n-j
- ++cnt
- cnt = n-i