#907. 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