#1288. CSP-J测验

CSP-J测验

单选题(每题 2 分,共 30 分)

  1. 以下编程语言中,同时符合面向对象与编译执行的是( ) {{ select(1) }}
  • C
  • C++
  • Pascal
  • Python
  1. 二进制补码求和:11010010+00000101=( ) {{ select(2) }}
  • 11000011
  • 10110110
  • 11010111
  • 10001001
  1. 与十进制数 17.5625 相对应的 8 进制数是( ) {{ select(3) }}
  • 21.5625
  • 21.44
  • 21.73
  • 21.731
  1. 下列网络设备中,不属于局域网设备的是( ) {{ select(4) }}
  • 交换机
  • 集线器
  • 网卡
  • 中继器
  1. 以下不属于结构化程序的结构是( ) {{ select(5) }}
  • 顺序结构
  • 输入输出结构
  • 分支结构
  • 循环结构
  1. 在待排序文件已基本有序的前提下,下述排序方法中效率最高的是( ) {{ select(6) }}
  • 插入排序
  • 选择排序
  • 快速排序
  • 归并排序
  1. 设循环队列中数组的下标范围是 0~m-1,其头尾指针分别为 f 和 r,则其元素个数为( ) {{ select(7) }}
  • r-f
  • r-f+1
  • (r-f+1)%m
  • (r-f+m)%m
  1. 现有 A、B、C、D、E、F、G 七个元素依次进栈操作,但可随时出栈,出了栈后不能再进栈,下面哪个是不可能的( ) {{ select(8) }}
  • ABCDEFG
  • ADBCGFE
  • ABCDEGF
  • GFEDCBA
  1. 关于拓扑排序,下面说法不正确的是( ) {{ select(9) }}
  • 所有连同的有向图都可以实现拓扑排序
  • 对一个图而言,拓扑排序的结果是唯一的
  • 拓扑排序中入度为 0 的结点总会排在入度大于 0 的结点的前面
  • 拓扑排序结果序列中的第一个结点一定是入度为 0 的点
  1. 完全二叉树的顺序存储方案,是指将完全二叉树的结点从上至下,从左到右依次存放到一个顺序结构的数组中。假定根结点存放在数组的 1 号位置,则第 k 号结点的父结点如果存在的话,应当存放在数组的( )号位置。 {{ select(10) }}
  • 2k
  • 2k+1
  • k/2 下取整
  • (k+1)/2 下取整
  1. 以下逻辑表达式的值恒为真的是( )。 {{ select(11) }}
  • P∨(¬P∧Q)∨(¬P∧¬Q)
  • Q∨(¬P∧Q)∨(P∧¬Q)
  • P∨Q∨(P∧¬Q)∨(¬P∧Q)
  • P∨¬Q∨(P∧¬Q)∨(¬P∧¬Q)
  1. 表达式(1+34)*5-56/7 的后缀表达式为( ) {{ select(12) }}
  • 1+34*5-56/7
  • -*+1 34 5/56 7
  • 1 34+5*56 7/-
  • 1 34 5*+56 7
  • 1 34+5 56 7-*/
  1. 某大学计算机专业的必修课及其先修课程如下表所示: image

下列课程安排方案哪个不是合理的( )。 {{ select(13) }}

  • C0, C1, C2, C3, C6, C7, C5, C4
  • C0, C1, C2, C3, C4, C6, C7, C5
  • C0, C1, C6, C7, C2, C3, C4, C5
  • C0, C1, C6, C7, C5, C2, C3, C4
  1. 在 n 个结点的顺序表中,算法的时间复杂度是 O(1)的操作是( )。 {{ select(14) }}
  • 访问第 i 个结点(1≤i≤n)和求第 i 个结点的直接前驱(2≤i≤n)
  • 在第 i 个结点后插入一个新结点(1≤i≤n)
  • 删除第 i 个结点(1≤i≤n)
  • 将 n 个结点从小到大排序
  1. 给定一个正整数 N=8934632178,现决定依次删除其中 6 个数位上的数字(每次删除一个数位上的数字),每次删除后按原来的次序组成一个新数 M 的值均是当前状态下的最小数,则第四次应该删除的数字是( )。 {{ select(15) }}
  • 6
  • 8
  • 7
  • 4

三、问题解答(每题 5 分,共 10 分,每空标号处均填选择的答案对应的大写字母)

  1. 将 2 个红球,1 个蓝球,1 个白球放到 10 个编号不同的盒子中去,每个盒子最多放一个球。有多少种放法( ){{ select(16) }}
  • 5040
  • 2520
  • 420
  • 1260
  1. 两个人抛硬币,规定第一个抛出正面的人可以吃到苹果,请问先抛的人能吃到苹果的概率多大( ) {{ select(17) }}
  • 1/2
  • 2/3
  • 3/4
  • 5/8

四、阅读程序(每题 6 分,共 24 分,每空标号处均填选择的答案对应的大写字母)

image

输入:8 9 -1 24 6 5 11 15 -28 9

输出:max=( ) {{ select(18) }}

  • 24
  • 77
  • 70
  • 61

image

输入:CCF-CSP/J-2019

输出:_________________ {{ select(19) }}

  • 223-287/5-2019
  • 2262181592019
  • 226-285/9-2019
  • 22328752019

image

输入:7 4

输出:_________ {{ select(20) }}

  • 20
  • 28
  • 21
  • 24

image

输出() {{ select(21) }}

  • 935
  • 235
  • 970
  • 870

五、完善程序(前 5 空 2 分,后 4 空 4 分,共 26 分,每空标号处均填选择的答案对应的大写字母)

  1. 高精度除法:

    image

1空应该填:( ) {{ select(22) }}

  • True
  • False

2空应该填:( )

{{ select(23) }}

  • B[i]
  • B[i] +c

3空应该填:( ) {{ select(24) }}

  • c[j]=c[j+1].
  • C[j+1]=C[j]
  • C[j-1]=c[j]
  • c[j]=C[j-1]

4空应该填:( ) {{ select(25) }}

  • C[0]++
  • C[0]--

5空应该填:( ) {{ select(26) }}

  • Ans[i]++
  • Ans[0]--

地鼠游戏

地鼠游戏是一项需要反应速度和敏捷判断力的游戏。游戏开始时,会在地板上一下子冒出很多地鼠来,然后等你用榔头去敲击这些地鼠,每个地鼠被敲击后,将会增加相应的游戏分值。问题是这些地鼠不会傻傻地等你去敲击,它总会在冒出一会时间后又钻到地板下面去(而且再也不上来),每个地鼠冒出后停留的时间可能是不同的,而且每个地鼠被敲击后增加的游戏分值也可能是不同,为了胜出,游戏参与者就必须根据每个地鼠的特性,有选择地尽快敲击一些地鼠,使得总的得分最大。 这个极具挑战性的游戏王钢特别喜欢,最近他经常在星期天上午玩这个游戏,慢慢地他不但敲击速度越来越快(敲击每个地鼠所需要的耗时是 1 秒),而且他还发现了游戏的一些特征,那就是每次游戏重新开始后,某个地鼠冒出来后停留的时间都是固定的,而且他记录了每个地鼠被敲击后将会增加的分值。于是,他在每次游戏开始后总能有次序地选择敲击不同的地鼠,保证每次得到最大的总分值。求最大游戏总分值。

image

6空应该填:( ) {{ select(27) }}

  • x.time<y.time
  • x.time>y.time
  • x.v<y.v
  • x.v>y.v

7空应该填:( ) {{ select(28) }}

  • a[i].time==a[i+1].time
  • a[i].v==a[i+1].v
  • a[i-1].time==a[i].time
  • a[i-1].v==a[i].v

8空应该填:( ) {{ select(29) }}

  • a[k].time!=a[k-1].time
  • a[k].time>a[k-1].time
  • a[k].time<a[k-1].time
  • a[k].time==a[k-1].time

9空应该填:( ) {{ select(30) }}

  • a[k].v<=a[k-1].v
  • a[k].v>=a[k-1].v
  • a[k].time<a[k-1].time
  • a[k].time>a[k-1].time