问卷发布者还未购买企业标准版或企业标准版已到期,此问卷暂时不能被填写!

CSP-J1模拟(一)

*
您的姓名:
选择题 (每题 1.5 分,共 20 题,合计 30 分)
*
1. 下列著名人物中,不是计算机相关领域专家()。
A. 屠呦呦
B. 王选
C. 图灵
D. 冯•诺依曼
*
2.操作系统的作用是()。
A. 把源程序译成目标程序
B. 便于进行数据管理
C. 控制和管理系统资源
D. 实现硬件之间的连接
*
3.每个不同的二进制数可以表示一位学生,现要用二进制数来表示 1200 位学生,至少需要二进制数的位数是()。
A. 10
B. 11
C. 12
D. 13
*
4.丁丁一回到家,第一件事情就是对电脑喊一声“开机”,该台电脑就乖乖地开机了。这种现象说明了该台电脑使用的技术是()。
A. 网络技术
B. 字符识别技术
C. 自动关机技术
D. 语音识别技术
*
5.IPv4 协议使用 32 位地址,随着其不断被分配,地址资源日趋枯竭,因此,它正逐渐被 IPv6 协议所取代,IPv6 使用 128 位地址,则 1 个 IPv6 所占的字节是()。
A. 8
B. 12
C. 16
D. 20
*
6.字符“D”的 ASCII 码为 68,则字符“Q”的 ASCII 码是()。
A. 81
B. 82
C. 83
D. 视具体的计算机而定
*
7.十进制算术表达式:5 × 512 + 7 × 64 + 4 × 8 + 7,运算结果用二进制表示是()。
A. 111111100101
B. 101111100111
C. 111110100101
D. 111111011011
*
8.将一组数 1,3,4,7,9 依次存放入数组 a 的下标为 1,2,3,4,5 单元格中,则 aaa2 
 +
 1 
 表达式的值是()。
A. 3
B. 5
C. 7
D. 9
*
9.某计算机硬盘容量是 1T,我们将 1T 用字节来表示,以下选项中正确的是()。
A. 1024 × 1024 × 1024 × 1024
B. 1000 × 1000 × 1000 × 1000
C. 1024 × 1024 × 1024
D. 1000 × 1024 × 1024 × 1024
*
10.下列无符号数中,最小的数是()。
A. (1001100)2
B. (114)8
C. (4C)16
D. (75)10
*
11.在一次校趣味比赛中,某组 6 位选手的跳绳次数分别是 “169、187、156、201、199、 166”,通过冒泡升序处理,数据进行两两交换的总次数为()次。
A. 5
B. 6
C. 7
D. 8
*
12.有 20 只猴子顺时针围成一圈,编号分别为 1 至 20,从 1 号猴子开始顺时针报数,数字从 1 开始数下去,1,2,3,⋯,20,21,22,⋯,一圈又一圈,当数到数字 x 时停止,报数字 x 猴子的编号是()。
A. (X − 1)%20
B. 1 + (X − 1)%20
C. (X + 1)%20 − 1
D. (X + 1)%20
*
13.假设 A=TRUE,B=FALSE,C=TRUE,D=TRUE,逻辑运算表达式 A∧B∨C∧D 的值是( )
A. 0
B. 1
C. TRUE
D. FALSE
*
14. 已知每个整数类型的变量需要用 2 个字节的空间存放,则整型数组 a[10][2] 需要占用的内存空间字节数是(  )。
A. 40
B. 80
C. 100
D. 200
*
15. 设 a1 
 = 1,a2 
 = 2,a3 
 = 3,a4 
 = 4,a5 
 = 5,a6 
 = 6,且
i = 1,j = 2,k = 3,m = 4,以下选项中变量值等于 3 的是(  )。
A. ai×j
B. aaj+k−2
C. aak−i+
 3
D. am/j
*
16. 进行在线游戏时,①用户登录;②进入在线游戏网;③选择游戏伙伴、开始游戏;④选择游戏室。以上 4 个环节它们正确的次序是()。
A. ①②④③
B. ①②③④
C. ②①③④
D. ②①④③
*
17. 依次将 1,2,3,4,5 放入一个栈中,若第一个出栈元素是 3,第二个出栈元素不可能的是
( )。
A. 1
B. 2
C. 4
D. 5
*
18. 已知一个队列中有若干个数(如下图所示),最后出队列的元素是()。
A. 5
B. 9
C. 12
D. 32
*
19. 对于序列“7、5、1、9、3、6、8、4”,在不改变顺序的情况下,要使逆序对的个数减少 4,应去掉序列中的一个数是()
A. 3
B. 5
C. 6
D. 7
*
20. 如图,这 6 个城市每两个城市之间都有一条道路,道路长度如下表。
则城市1到城市6的最短距离是(  )
5
6
7
8
代码理解题(判断 2 分,选择 3 分,合计 42 分)
*
(一)

(21)若输入4,则输出 t=9 
s=45
*
(22) 若输入 0,则输出 t=0
s=0 。()
A.正确
B.错误
*
(23) 该程序中 for
(i
=
-n;
i
<=
n;
i++) 可以改成 for
(i
=
0;
i
<=
2
*
n;
i++) 。()
A.正确
B.错误
*
(24) 若输入 100000,则输出 t=200001
s=20000100000 。()
A.正确
B.错误
*
(25) 若把 t++; 放到 s=s+t; 之后,则若输入 1,输出()。
A.t = 1 s = 1
B.t = 2 s = 3
C.t = 3 s = 3
D.t = 3 s = 6
*
(26) 若把 for
(i
=
-n;
i
<=
n;
i++) 改成 for
(t
=
-n;
t
<=
n;
t++) ,则若输入 1,输出()。
A.t = 3 s = 2
B.t = 3 s = 6
C.t = 1 s = 0
D. t = 1 s = 1
*


(27) 上述代码中,把 a[j]
=
1; 改为 a[j]++; 输出结果一定不变( )。
*
(28) 上述代码中,删掉 k=0; 输出结果一定不变( )。
A.正确
B.错误
*
(29) 若输入的 m 为 0,则 do while 循环不会执行()
A.正确
B.错误
*
(30) 若输入数据中 k 为负数,则程序一定可以正常运行()
A.正确
B.错误
*
(31) 若输入数据为

     输出为(B )
A.0
B.4
C.7
D.10
*
(32) 上述代码中,在只改变声明时 a 数组大小的情况下,a 数组大小最小是()。
A.6
B.7
C.10
D. 11
*


(33) 上述代码中是在统计每一行中连续非 0 数的数量。
*
(34) 上述代码中若将 for
(int
j
=
1;
j
<=
m
+
1;
j++) 改为 for
(int
j
=
1;
j
<=
m; j++) 输出结果一定不变。()
A.正确
B.错误
*
(35) 为保证上述代码正确运行,m 不能超过 99。()
A.正确
B.错误
*
(36) 在保证 1 ≤ k ≤ n 的情况下,可以将上述代码中的 for
(int
i
=
1;
i
<=
n;
i++) 改为 for
(int
i
=
1;
i
<=
k;
i++) 输出结果一定不变。()
A.正确
B.错误
*
(37) 若输入数据为

max
=
s; 执行了()次
A.0
B.1
C.2
D.3
*
(38) 上述代码的时间复杂度为()
A.O(n)
B.O(m)
C.O(n+m)$
D. O(nm)
代码填空题(前 2 空 2 分,后 8 空 3 分,合计 28 分)
*
(一)
在奇思妙想班里,每天都有一些奇思妙想的东西产生,他们的想法总是让人匪夷所思,总能根据一些课堂上获得的知识,联想出一个新的问题。一天编程课上,老师与奇思妙想班的同学们讨论了“猴子选大王”问题,老师要求课后,同学们能想一个与书本上不一样的猴子选大王问题,这下可不得了了,奇思妙想班的同学们开始创想,并展开了大讨论。多多创想的“大王的学号”问题,被大家公认为不错的问题,并进行了演示游戏活动。学号为 1 至 2 × n 的同学带好他们的椅子来到操场上,排成两排,第一排椅子从前向后标上 1,2,3,⋯,n 编号,第二排椅子从前向后标上 n + 1,n + 2,n + 3,⋯,2 × n 编号。游戏开始前让同学们按学号就座,这是最初的顺序。第一排学生按 2,4,6,8,⋯,2 × n 报数,第二排学生按 1,3,5,7,...,2 × n − 1 报数,如下图表所示。然后每位同学按所报的数字坐到对应编号的椅子上。经过 m 次后,每位同学都会回到最初的顺序,游戏结束。最后
(m%(2 × n)) + 1 学号的同学就是要选的“大王”。

输入说明,一个数 n。输出说明,一个数,“大王”的学号。
【样例输入】
8
【样例输出】
9

(39) 请选择 ① 应该填写的代码。
A.scanf("%d", n)
B.cin >> n
C.cin >> m
D.cout << n
*
(40) 请选择 ② 应该填写的代码。()
A.a[i] = i
B.cin >> a[i]
C.a[i] = i / 2
D.a[i] = i % n
*
(41) 请选择 ③ 应该填写的代码。()
A.b[i] = a[i]
B.b[i] = a[i % n + 1]
C.b[i] = a[(i + 1) / 2 + n]
D.b[i] = a[i / 2 + 1]
*
(42) 请选择 ④ 应该填写的代码。()
A. m-B. m++
C.ok = true
D.ok = false
*
(43) 请选择 ⑤ 应该填写的代码。()
A.!ok
B.ok
C.m > 0
D.m >= 0
*
(二)
多多对数字特别感兴趣,在一节数学课中老师介绍了“完全数”,多多被“完全数”吸引住了,他认为“完全数”是最美的数字,所谓完全数是指约数之和等于它本身的数。例如 28 的约数是
1,2,4,7,14,并且 1 + 2 + 4 + 7 + 14 = 28,所以 $284 是完全数。多多想找出一段连续数据里面的所有完全数,如求 x~y 中的完全数。但是他又感觉十进制的输出没有十六进制好看,所以他想把找到的完全数用十六进制输出,如果这段数据里面没有完全数就输出 no 。输入说明,一行,两个数 x,y,中间用空格分开。输出说明,一行,x × y 之间用十六进制表示的完全数,数之前用空格分开。
【样例输入】
2
29
【样例输出】
6
1C

(44) 请选择 ⑥ 应该填写的代码
A.a / i > 0
B.a % i != 0
C.a % i == 0
D.a / i == 0
*
(45) 请选择 ⑦ 应该填写的代码()
A.ks += a / i
B.ks += i + a / i
C.ks += i + a % i
D.ks += a % i
*
(46) 请选择 ⑧ 应该填写的代码()
A.s += s1[a % 16]
B.s += s1[a]
C.s += s1[a / 16]
D.s += s1[a % 16 + 1]
*
(47) 请选择 ⑨ 应该填写的代码()
A.!wqs(i)
B.wqs(i)
C.!wqs(change(i))
D.wqs(change(i))
*
(48) 请选择 ⑩ 应该填写的代码()
A.cout << e
B.cout << "no"
C.if(e == 0) cout << "no"
D.if (e) cout << "NO"
问卷星提供技术支持
举报