一、单选题(每题3分,共30分)
|
题号
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
|
答案
|
A
|
D
|
A
|
C
|
C
|
B
|
A
|
B
|
C
|
B
|
C
|
A
|
A
|
B
|
A
|
1、据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三位。DJL-1计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为2μs(微秒)。那么该磁心存储元件相当于现代计算机的(
)。
A.内存
B.磁盘
C.CPU
D.显示器
【答案】A
【考纲知识点】计算机的存储与网络
【解析】磁心存储器是一种早期的随机存取存储器(RAM),断电后会丢失数据,设计存取周期为2微秒,具有较快的访问速度,这与内存的特性一致。而磁盘存储则不具备如此高的存取速度,其主要特点是大容量和非易失性,即断电后数据不会丢失。
2、Python程序执行出现错误,不太常见的调试手段是(
)。
A.阅读源代码
B.单步调试
C.输出执行中间结果
D.跟踪计算机执行的底层代码(如二进制机器码,汇编码)
【答案】D
【考纲知识点】代码调试
【解析】常见的代码调试手段,阅读手算运行,输出中间过程值,并不需要看底层代码
3、在Python中,下列不可做变量的是(
)。
A.
ccf-gesp
B.
ccf_gesp
C.
ccfGesp
D.
_ccfGesp
【答案】A
【考纲知识点】变量命名规则
【解析】变量名中可以出现大小写英文字符、数字字符和下划线字符。
4、在Python中,与range(1,
10)效果相同的是(
)。
A.
range(10)
B.
range(11)
C.
range(1, 10, 1)
D.
range(0, 10, 1)
【答案】C
【考纲知识点】range用法
【解析】第三个参数是步长,默认为1
5、在Python中,print(5
// 2 + 5 % 3)的输出是(
)。
A. 1
B. 2
C. 4
D. 5
【答案】C
【考纲知识点】算术运算
【解析】先进行除法和取模运算:
表达式 5
// 2: 求5 除以2 的商,结果为1。
表达式 5
% 3: 求5 除以3 的余数,结果为2。
然后进行加法运算:
1
+ 2 = 3
因此最终输出为 3,故正确答案是C。
6、下面Python代码执行时先后输入2和3.14后,其输出是(
)。

A. 5
B.
23.14
C.
5.14
D.将触发异常
【答案】B
【考纲知识点】输入
【解析】默认输出类型是字符串,所以a
+ b是字符串的拼接处理。
7、在Python代码中假设N为正整数,则下面代码能获得个位数的是(
)。
A. N
% 10
B. N
// 10
C. N
/ 10
D.以上选项均不正确
【答案】A
【考纲知识点】算数运算
【解析】计算多位数的个数数字可以通过除以10计算余数的方式实现。
8、下面Python代码执行后的输出是(
)。

A. 0
B.
0#
C.
0#0#1
D.没有输出
【答案】B
【考纲知识点】for循环
【解析】for循环的else是循环正常运行结束之后会继续运行else的部分,但如果是break结束的循环,不运行else的部分。开始i是0不满足if条件,之后输出0#,下一轮i是1,满足if条件break结束循环,并且不运行else部分。
9、执行下面Python代码并输入1和0,输出是(
)。

A. 1
B. 2
C. 3
D. 4
【答案】C
【考纲知识点】逻辑运算
【解析】a是1,相当与True,b是0,相当于False,那么a and b为False,a
or b为True,not(a
or b)为False,最终运行的是第三个分支。
10、下面Python代码执行后的输出是(
)。

A. 1
B. 2
C. 3
D. 5
【答案】B
【考纲知识点】range语句
【解析】range的三个参数,起点、终点(小于终点)、步长,i的值分别是1、3,循环运行两次,loopCount最终值为2。
11、下图是Python程序执行后的输出。为实现其功能,横线出应填入代码是(
)。

A.
i, i
B.
1, i
C.
i, i * 2
D. i
+ 1, i + i
【答案】C
【考纲知识点】多层循环结构
【解析】代根据给定的输出格式,每行的数字从当前行号开始,到当前行号乘以2 为止。因此内层循环应该是range(i,
i * 2)。
12、下面Python代码执行后输出逆序数,如输入123则输出321。如输入120则输出21。横线出先后应填入的代码是(
)。

A.
rst = rst * 10 + N % 10 N = N // 10
B.
rst += N % 10 N = N // 10
C.
rst = rst * 10 + N % 10 N = N / 10
D.
rst += N % 10 N = N / 10
【答案】A
【考纲知识点】多位数倒序
【解析】循环中先拆位原数个位,接着把数字拼到rst中。
13、下面的Python代码用于输入学生成绩,并根据人数计算出平均成绩,有关说法错误的是(
)。

A.代码while
True: 写法错误
B.如果输入负数,将结束输入,并正确输出
C.如果录入的学生成绩含有小数,程序将报错
D.以上说法都没有错误
【答案】A
【考纲知识点】多层分支/ 循环结构
【解析】while
True是无限循环。如果程序正常结束,则需要在程序中使用break语句,break通常与if语句配合使用。
14、请在横线上填写代码。以下Python代码判断输入的数是否为质数,如果该数字是质数,则输出YES,否则输出NO。质数是指仅能被1和它本身整除的正整数(
)。

A.
num % i
B.
num % i == 0
C.
num // i
D.
num // i == 0
【答案】B
【考纲知识点】多层分支/ 循环结构
【解析】判断一个数是否为质数,即检查从2 到num - 1 是否有任何数能整除num,在循环中使用条件num % i == 0 来检查i是否为num的因子。如果存在这样的数,则num 不是质数。
15、一个数如果能被某个小于10的正整数(比如7)整除,或者含有该数,则说该数是某个数的相关数。下面Python代码由于判断输入的数与7是否有关。其说法错误的是(
)。

A.删除break语句将导致死循环
B.删除M //= 10将可能导致死循环
C.删除M = N 并将其后代码中的M变量改为N,同样能完成相关功能,但输出形式有所不同
D.删除break语句不会导致死循环,但有时会影响效率
【答案】A
【考纲知识点】多层分支/ 循环结构
【解析】
A
/ D选项:删除break 语句不会导致死循环,只会影响效率。
B选项:正确,没有M /= 10,M永远不会变成0,循环将永远进行下去。
C选项:正确,修改后可以在while循环前输出N。
二、判断题(每题2分,共20分)
|
题号
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
|
答案
|
√
|
√
|
√
|
√
|
√
|
×
|
×
|
√
|
√
|
√
|
1、小杨最近开始学习Python编程,老师说Python是一门高级语言。(
)
【答案】
√
【考纲知识点】计算机基础知识
【解析】Python是一门高级语言。
2、在Python中,print(3,
4, 5)可以输出3
4 5每个输出项之间用空格分开。(
)
【答案】
√
【考纲知识点】输出
【解析】print语句输出多个信息,中间用空格间隔开。
3、Python表达式12 % 10 % 10 的值为2。(
)
【答案】√
【考纲知识点】运算
【解析】12
% 10的结果是2,
2 % 10的结果是2。
4、Python表达式round(12.56)的值为13。(
)
【答案】√
【考纲知识点】round函数
【解析】round函数进行四舍五入操作。
5、Python语句print(input()
+ input()) 能将先后输入的内容拼接在一起。(
)
【答案】√
【考纲知识点】输入输出,字符串拼接
【解析】输入默认是字符串类型,两个输入的字符串进行拼接后再输出。
6、下面的Python将导致死循环。(
)

【答案】×
【考纲知识点】while循环,break
【解析】进入while循环,执行break语句,结束循环。
7、下面Python代码执行后将输出10。(
)

【答案】×
【考纲知识点】for循环
【解析】for循环中循环变量i从0到9,结束for执行else,输出i最后的值9。
8、下面Python代码能求整数N和M之间所有整数之和,包含N和M。(
)

【答案】√
【考纲知识点】for循环,求和计数器
【解析】读入两个整数,如果N大于M交换大小,for循环枚举从N到M,累加求和,输出结果。
9、将下面Python代码中的range(1,
5)调整为range(5)输出结果相同。(
)

【答案】√
【考纲知识点】range语句
【解析】range(5)是从0到4,for
j in range(i),i是0的时候,内层没有执行,所以结果并不影响。
10、某一系列数据的规律是从第3个数值开始是前两个数之和。下面的代码求第N个数的值,N限定为大于2。(
)

【答案】√
【考纲知识点】递推运算
【解析】前两项读入整数,从第三项开始每项等于前面相邻两项的和。
三、编程题(每题25分,共50分)
1、数位之和
题面描述
小杨有
个正整数,他认为一个正整数是美丽数字当且仅当该正整数每一位数字的总和是7 的倍数。小杨想请你编写一个程序判断
个正整数哪些是美丽数字。
输入格式
第一行包含一个正整数
,代表正整数数量。
之后
行,每行包含一个正整数。
输出格式
对于每个正整数,如果是美丽数字则输出Yes,否则输出No。
样例1

7的各位数字之和为7,是7的倍数。52的各位数字之和为5+2=7,是7的倍数。103的各位数字之和为1+0+3=4,不是7的倍数。
数据范围
对于全部数据,保证有1
≤ n ≤ 105,1
≤ ai≤105。
【考纲知识点】多层分支/ 循环结构
【解析】
读取输入的n ,循环中每次读入一个整数。
对于每个正整数进行拆位,计算其各位数字之和。
判断各位数字之和是否为7 的倍数,若是则输出Yes,否则输出No。
【参考程序】

2、小杨的N字矩形
题面描述
小杨想要构造一个m×m的N 字矩阵(
为奇数),这个矩阵的从左上角到右下角的对角线、第
列和第
列都
是半角加号 +,其余都是半角减号- 。例如,一个5×5的N 字矩阵如下:

请你帮小杨根据给定的
打印出对应的 N字矩阵。
输入格式
第一行包含一个正整数
。
输出格式
输出对应的N 字矩阵。
样例1

对于全部数据,保证有3≤n ≤49,且m为奇数。
【考纲知识点】多层循环结构
【解析】
这使用两层嵌套循环来生成矩阵。根据条件判断每个位置应该填充+ 或-。
第0列和第n
-
1列是输出+,中间的部分左上到右下的主对角线输出+,其他部分输出-,这条主对角线的行列编号特点是行列编号相同,通过条件进行判断,按照要求格式进行输出。
【参考程序】
