分类
CSP-J/S

红栗CSP-J1初赛模拟8 

选择题(每题2分,共15题。)
1、一个 32 位整型变量占用( )个字节。
A. 4
B. 8
C. 32
D. 128
2、二进制数 11.01 在十进制下是( )。
A. 3.25
B. 4.125
C. 6.25
D. 11.125
3、逻辑表达式( )的值与变量 A 的真假无关。
A. (A∨B)∧¬A
B. (A∨B)∧¬B
C. (A∧B)∨(¬A∧B)
D. (A∨B)∧¬A∧B
4、在十六进制表示法中,字母 A 相当于十进制中的( )。
A. 9
B. 10
C. 15
D. 16
5、下图中所使用的数据结构是( )。
A. 哈希表
B. 栈
C. 队列
D. 二叉树
6、已知一棵二叉树有 10 个节点,则其中至多有( )个节点有 2 个子节点。
A. 4
B. 5
C. 6
D. 7
7、在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通图。下图是一个有4 个顶点、6 条边的连通图。若要使它不再是连通图,至少要删去其中的( )条边。
A. 1
B. 2
C. 3
D. 4
8、二叉树的( )第一个访问的节点是根节点。
A. 先序遍历
B. 中序遍历
C. 后序遍历
D. 以上都是
9、以 A0作为起点,对下面的无向图进行深度优先遍历时,遍历顺序不可能是( )。
A. A0, A1, A2, A3
B. A0, A1, A3, A2
C. A0, A2, A1, A3
D. A0, A3, A1, A2
10、IPv4 协议使用 32 位地址,随着其不断被分配,地址资源日趋枯竭。因此,它正逐渐被使用( )位地址的 IPv6 协议所取代。
A. 40
B. 48
C. 64
D. 128
11、( )的平均时间复杂度为 O(n*logn),其中 n 是待排序的元素个数。
A. 快速排序
B. 插入排序
C. 冒泡排序
D. 基数排序
12、下面是根据欧几里得算法编写的函数,它所计算的是 a 和 b 的( )。
A. 最大公共质因子
B. 最小公共质因子
C. 最大公约数
D. 最小公倍数
13、通常在搜索引擎中,对某个关键词加上双引号表示( )。
A. 排除关键词,不显示任何包含该关键词的结果
B. 将关键词分解,在搜索结果中必须包含其中的一部分
C. 精确搜索,只显示包含整个关键词的结果
D. 站内搜索,只显示关键词所指向网站的内容
14、阅读程序,按照任务要求写出结果:
A. 6
B. 5
C. 7
D. 8
15、7 个同学围坐一圈,要选 2 个不相邻的作为代表,有_____种不同的选法。
A. 14
B. 16
C. 28
D. 10

阅读程序1:‘A’的ASCII码为65,’a’的ASCII码为97,’0’的ASCII码为48,’1’的ASCII码为49… …
选择题(每题1.5分,正确的选T,错误的选F)
(1) 将第6行的 (*a)++ 改成 *a++ ,程序运行结果不变。()
(2) *为取地址符。()
(3) 执行完第5行以后,c1=c2。()
(4) 程序第14行运行后,p2=’a’。()

选择题(每题3分)
(5) 该程序的输出结果为()。
A.Ab
B.Aa
C.Ba
D.Bb
(6) 如果将第11行和第12行分别改成
c1 = 0x31;
c2 = 0x30;
输出结果为()。
A.00
B.aa
C.30
D.11

阅读程序2:
选择题(每题1.5分,正确的选T,错误的选F)
(1)输入的m可以为任意自然数。()
(2)输入-1 2,程序运行后会输出-0.5。()
(3)输入1 2,程序运行后会输出0.(5)。()
(4)输入0 1,程序运行后会输出0。()

选择题(每题3分)
(5)输入5 13,程序运行后会输出()。
A.0.(384615)
B.0
C.18
D.8
(6)删除下列哪一行后,输入5 13,程序运行后输出结果会发生改变()。
A.19
B.22
C.23
D.24

阅读程序3:选择题(每题1.5分,正确的选T,错误的选F)
(1)由于第15行的变量没有赋初值,该程序会运行错误。()
(2)如果将16行去掉,程序结果会发生改变。()
(3)如果将第28行的ans<count 改成 ans<=count,输出结果会发生改变。()
(4)该程序有可能输出114514。()

选择题(每题3分)
(5)输入
6 5 9
1 4
2 3
2 4
3 2
4 1
4 3
4 5
5 4
6 4
,程序运行后会输出()。
A.114514
B.1919810
C.7
D.8
(6)该程序的时间复杂度()。
A.O(1)
B.O(n)
C.O(n*m)
D.O(2n)

完善程序1:双栈模拟数组)只使用两个栈结构 stack1 和 stack2,模拟对数组的随机读取。作为栈结构,stack1 和 stack2只能访问栈顶(最后一个有效元素)。栈顶指针top1 和 top2 均指向栈顶元素的下一个位置。
输入第一行包含的两个整数,分别是数组长度 n 和访问次数 m,中间用单个空格隔开。
第二行包含 n 个整数,一次给出数组各项(数组下标从 0 到 n−1)。第三行包含 m 个整数,需要访问的数组下标。对于每次访问,输出对应的数组元素。
(1)①处应填写()
A.0
B.n
C.1
D.-1
(2)②处应填写()
A.1
B.2
C.n
D.0
(3)③处应填写()
A.stack2[top2]=stack1[top1]
B.top1=top2
C.stack2[top1]=stack1[top1]
D.stack2[top1]=stack1[top2]
(4)④处应填写()
A.stack1[top1]=stack2[top1]
A.stack1[top2]=stack2[top1]
C.stack1[top1]=stack2[top2]
D.stack1[top2]=stack2[top2]
(5)⑤处应填写()
A.top1
B.top2
C.top1-1
D.top2-1

完善程序2排列数) 输入两个正整数 n,m(1<n<20,1<m<n),在 1∼n 中任取 m 个数,按字典序从小到大输出所有这样的排列。
例如:
输入:

3 2
输出:
1 2
1 3
2 1
2 3
3 1
3 2(1)①处应填写()
A.true
B.1
C.-1
D.false
(2)②处应填写()
A.data[i] = true
B.data[i] = false
C.used[data[i]] = false
D.used[data[i]] = true
(3)③处应填写()
A.i
B.j
C.k
D.k+1
(4)④处应填写()
A.m
B.n
C.k
D.n-m
(5)⑤处应填写()
A.continue
B.break
C.flag=true
D.flag=false