一、单选题(每题3分,共30分)
|
题号
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
|
答案
|
A
|
D
|
D
|
B
|
C
|
D
|
B
|
A
|
B
|
B
|
C
|
D
|
A
|
A
|
A
|
1、据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三
位。DJL-1计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为2μs(微秒)。那么该磁心存储元件相当于现代计算机的(
)。A.内存
B.磁盘
C.CPU
D.显示器
【答案】A
【考纲知识点】计算机基础与编程环境(一级)
【解析】本题考察计算机组成部分;题干强调磁心元件为计算机运算控制部分的存储元件,计算机中内存用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据,故该元件属于内存,所以本题正确答案为A。
2、Python程序执⾏出现错误
,不太常见的调试⼿段是( )。
A.阅读源代码
B.单步调试
C.输出执⾏中间结果
D.跟踪计算机执⾏的底层代码(如⼆进制机器码
,汇编码)
【答案】D
【考纲知识点】计算机基础与编程环境(一级)
【解析】本题考察程序调试功能;阅读源代码
是一种非常常见的调试方法,通过查看代码逻辑来找出可能的问题;单步调试
是通过逐行执行代码,观察每一步的状态和变化,这也是常见的调试方法;输出执行中间结果
通过在代码中添加打印语句,查看程序运行时的变量值和状态,也是常见的方法;跟踪汇编码
是指查看编译后的汇编代码来调试程序,这是比较低级、复杂且不太常用的调试方式。所以本题正确答案为D。
3、在Python中
,下列表达式错误的是(
)。
A.
print("Hello,GESP!")
B.
print('Hello,GESP!')
C.
print("""Hello,GESP!""")
D.
print("Hello,GESP!')
【答案】D
【考纲知识点】输入输出语句(一级)
【解析】python可以使用引号(
' 或"
)来创建字符串,三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符,选项D有一个双引号和一个单引号互不成对,会导致程序编译失败。所以本题答案为D。最重要是强调字符串字面量的引号界定符必须配对。单引号开始单引号结束,双引号开始双引号结束,三引号开始三引号结束
4、Python表达式10
- 3 * 2 的值是(
)。
A.14
B.
4
C.
1
D.
0
【答案】B
【考纲知识点】基本算术运算(一级)
【解析】本题考察算术运算优先级:算式乘、除、取模运算优先级一致且比加、减运算优先级高,所以题目表达式先算3
* 2 ,结果为6,再算10
– 6,结果为4。所以本题正确答案为B。一般说来,运算符的优先级与数学中保持一致,比如:先乘除后加减等。
5、在Python中
,假设N为正整数10,则print(N
// 3 + N % 3) 将输出(
)。
A.
6
B.
4.3
C.
4
D.
2
【答案】C
【考纲知识点】变量的定义与使用(一级)、基本运算算术(一级)
【解析】本题主要考察python中的基本算术运算:在python中,数值的除法包含两个运算符:/返回一个浮点数,//返回一个整数。%为取模【求余操作】操作,题目中N为整数10,所以N
// 3 结果为3。N
% 3 结果为1。最后算式为3
+ 1结果为4。所以本题正确答案为C。
6、Python语句print(f"6%2={6%2}")执行后的输出是(
)。
A.
f"6%2={6%2}"
B.
6%2={6%2}
C.
0=0
D.
6%2=0
【答案】D
【考纲知识点】输入输出语句(一级)
【解析】本题考察格式化字符串;f-string称之为字面量格式化字符串,是新的格式化字符串的语法。f-string格式化字符串以f开头,后面跟着字符串,字符串中的表达式用大括号{}包起来,它会将变量或表达式计算后的值替换进去。其中{}包含表达式6
%2,其值为0。最终输出为6%2=0。所以本题正确答案为D。
7、执行下面的Python代码
,先后从键盘上输入5回车和2回车
,输出是( )。

A.将输出整数7
B.将输出52,5和2之间没有空格
C.将输出5和2,5和2之间有空格
D.语句执⾏将报错
, 因为input()函数的括号内没有提⽰字符串
【答案】B
【考纲知识点】变量的定义与使用(一级)、输入输出语句(一级)
【解析】Python中input()函数接受一个标准输入数据,返回为string类型。print(a+b)实际为字符串拼接,输出为52,所以本题正确答案为B。
8、下⾯Python代码执⾏后
,相关说法错误的是(
)。

A.如果N是⼩于10的正整数
,则输出0
B.如果N是⼤于等于0的整数
,则输出N的个位数【N的最后⼀位数】
C.如果N是负整数
,则输出不是N的个位数【N的最后⼀位数】
D.如果N是⼤于10的正整数
,则输出N的个位数【N的最后⼀位数】
【答案】A
【考纲知识点】输入输出语句(一级)、基本运算(一级)
【解析】
代码含义:第1行输入N为字符串,第2行转为int类型,第3行输出N%10的值
A:当N<10时,N%10为0~9,所以说法错误
B:当小于10时,输出当前数字即个位,大于等于10时,输出个位,所以说法正确
C:比如N=-13,N%10=7,所以说法正确
D:比如N=12,N%10=2,所以说法正确
所以本题正确答案为A。
9、下⾯Python代码执行后
,相关说法错误的是( )。

A.如果输⼊正整数、
负整数或0 ,输出都将是⼤于等于0的数
,即其绝对值
B.如果输⼊正浮点数、
负浮点数或0,输出都将是⼤于等于0的浮点数
,即其绝对值
C.如果输⼊正浮点数或负浮点数
,程序将报错
D.如果输⼊形如5+2类似的表达式
,程序将报错
【答案】B
【考纲知识点】选择语句(一级)
【解析】输入N转为int类型,如果N小于0,输出-N,大于等于0,输出N,代码功能为输出N的绝对值
B选项:输入浮点数则报错,结果不可能为浮点数,所以说法错误,所以本题正确答案为B。
10、下面Python代码执行后输出是()。

A.55
B.
45
C.
10
D.
9
【答案】B
【考纲知识点】循环语句(一级)
【解析】本题考查for循环语句;题目循环语句用i进行枚举,i从0开始,i逐个枚举从0、1、2···直到9;Sum从初值0开始,循环体语句为Sum累加每次i的值,最终结果为0~9求和为45。所以本题正确答案为B。【强调不包括10】
11、下面Python代码执行后输出的是()。

A.55
B.45
C.10
D.
9
【答案】C
【考纲知识点】循环语句(一级)
【解析】本题考查for循环语句;题目循环语句用i控制循环,i从0开始,逐个枚举从0、1、2···直到9,一共10次循环。N初值从0开始,每次循环增加1,故循环结束后N的值为10,最后输出结果为10.所以本题正确答案为C。
12、下面Python代码执行后输出的是(
)。

A.5
B.4
C.2
D.
0
【答案】D
【考纲知识点】循环语句(一级)、选择语句(一级)
【解析】本题考查for循环语句、if语句以及continue语句;题目循环语句用i控制,i从1开始,每次循环增加2,i逐个枚举从1、3、5···直到9。循环内判断i除以2的余数是否为1(判断i是否为奇数):
如果成立,将会continue跳过本次循环之后的语句,直接进入到下一次循环;如果不成立,才会执行语句N+=1。由于i每次循环的值除以2的余数均为1,所以不会执行N+=1,因此循环结束N的值没有变化,仍为初值0。所以本题正确答案为D。
13、为在Python
Turtle中输出如下图形,代码横线处应填入(
)。


A.right(90)
B.
left(90)
C.
right(-90)
D.
left(-180)
【答案】A
【考纲知识点】循环语句(一级),Turtle绘图(一级)
【解析】
根据最后箭头的位置可知要先向下画一条边,需要向右转90度,所以为turtle.right(90),所以本题正确答案为A。【学会判断方向,循环四次】
14、下面Python执行后
,有关说法 ,正确的是( )。

A.以红⾊线段开始
,长度为20
B.以红⾊线段开始
,长度为25
C.以蓝⾊线段开始
,长度为20
D.以蓝⾊线段开始
,长度为25
【答案】A
【考纲知识点】Turtle绘图(一级)、循环语句(一级)、选择语句(一级)
【解析】循环[0,1,...,8,9]次,依次红蓝交替画线段,当i=0时,i%2==0成立,画笔颜色为红色,长度为20+0*5=20,所以本题正确答案为A。
15、下⾯Python代码执行后输出的是(
)。





【答案】A
【考纲知识点】Turtle绘图(一级)、循环语句(一级)、选择语句(一级)
【解析】
循环[0,1,2,3]次,如果i是偶数为红色画笔,奇数为蓝色画笔
当i小于2时,画半径为25的圆,大于等于2时,画半径为50的圆,可以排除BD
当i=0时,为红色画笔,此时圆心在画笔左侧画圆,所以在下半部分,所以本题正确答案为A。
二、判断题(每题2分,共20分)
|
题号
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
|
答案
|
√
|
×
|
√
|
×
|
×
|
×
|
√
|
√
|
×
|
√
|
1、小杨最近开始学习Python编程
,⽼师说Python是⼀门高级语言
。 (
)
【答案】√
【考纲知识点】计算机基础(一级)
【解析】本题考察编程语言基本知识;Python是一门面向对象的高级编程语言。所以本题正确。
2、在Python中
,表达式 10/2和10//2的值相同
,都是整数5。(
)
【答案】×
【考纲知识点】基本算术运算(一级)
【解析】数值的除法包含两个运算符:/返回一个浮点数,//返回一个整数。10/2为5.0,10//2为5,所以本题错误。
3、Python语句print(int(input()))能接收形如正整数、
负整数和0输⼊
,输⼊含字母或带小数点数 ,将导致错误 。 (
)
【答案】√
【考纲知识点】输入输出语句(一级)
【解析】input()函数接受一个标准输入数据,为string类型,
int(input())转为int类型,如果为非整数,报错,本题正确
下⾯的Python代码执行过程中不会出现错误
,且其输出为45 。 (
)

【答案】×
【考纲知识点】变量的定义与使用(一级)
【解析】Python中的变量不需要声明,但每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。Sum没有被创建,会报错,本题错误
5、下⾯Python代码执行后将输出100。 (
)

【答案】×
【考纲知识点】循环语句(一级)
【解析】range(100)不包含100,i的范围为0~99,所以最后输出为99,本题错误
6、下⾯Python代码执行后
,最后⼀次输出是10。 (
)

【答案】×
【考纲知识点】循环语句(一级)
【解析】从1开始,步长为3,依次为1
4 7,最后输出为7,本题错误
7、在Python循环语句中
,break通常与if语句配合使⽤
。 (
)
【答案】√
【考纲知识点】循环语句(一级)
【解析】在循环语句中,通常用if限制某些条件下break结束循环,本题正确
8、在Python代码中
,不可以将变量命名为five-star,
因为变量名中不可以出现-(减号)符号
。 (
)
【答案】√
【考纲知识点】变量的定义与使用(一级)
【解析】本题考察变量的命名规则;变量命名时需要满足:首位字符不能是数字;变量名只能由大小写字母、数字和下划线(_)组成;变量名不能是Python中的关键字。所以本题正确。
9、Python代码turtle.home()可以清除海⻳绘图
,且海⻳将回到原点 ,海⻳⽅向重置为初识⽅向 。
(
)
【答案】×
【考纲知识点】Turtle绘图(一级)
【解析】home()不会清除绘图,所以本题错误
下⾯Python代码执⾏后将绘制从左到右逐步升⾼的台阶
。 (
)

【答案】√
【考纲知识点】Turtle绘图(一级)、循环语句(一级)
【解析】循环10次,每次先画一条20直线,左转向画一条10直线,再右转向回来,得到如下图形

三、编程题(每题25分,共50分)
1、小杨购物
问题描述
小杨有n元钱用于购物。商品A的单价是a元,商品
的单价是b元。小杨想购买相同数量
的商品A和商品B。
请你编写程序帮小杨计算出他最多能够购买多少个商品A和商品B。
输入描述
第一行包含一个正整数n,代表小杨用于购物的钱的金额。
第二行包含一个正整数a,代表商品A的单价。
第三行包含一个正整数b,代表商品B的单价。
输出描述
输出一行,包含一个整数,代表小杨最多能够购买的商品A和商品B的数量。
样例1

在样例1中,第1行输入的12表示小杨拥有的资金总额为12元,第2行的1表示第一种商品(即商品A)的单价,第3行的2表示第二种商品(即商品B)的单价。
对于样例1,由于需要购买相同数量的两种商品,因此小杨最多能够购买4件商品A和4件商品B,共花费4×1+4×2=12元。因此,样例1的答案为4。
对于本题,输入皆为大于0的正整数,不必考虑其他情况。
样例2

对于样例2,由于需要购买相同数量的两种商品,因此小杨最多能够购买4件商品A和4件商品B,共花费4×1+4×2=12元。如果小杨想购买5件商品A和5件商品B,则需花费5×1+5×2=15元,超过了小杨的预算13元。因此,样例2的答案为4。
对于全部数据,保证有1≤n,a,b≤105【此处为严谨题目所需,本级考生不必考虑本行描述】。
【考纲知识点】
变量的定义与使用(一级)、基本算术运算(一级)
【解题思路】
购买的A、B商品数量相等,可以将它们打包来买,每买1件A与B商品花费为(a+b)元,所以最后计算n元能分出多少整数个(a+b)即可。
【参考程序】

【程序解析】通过input()读入,并且将变量n、a、b转为int类型,计算购买A与B商品的总花费为int(a)+int(b),python中/得到的结果为小数,最后结果需要取整数int(n/tot)即为可购买的整数个商品数量
2、美丽数字
问题描述
小杨有n个正整数,他认为一个正整数是美丽数字当且仅当该正整数是9的倍数但不是8的倍数。
小杨想请你编写一个程序计算n个正整数中美丽数字的数量。
输入描述
第一行包含一个正整数n,代表正整数个数。
第二行包含n个正整数a1,a2,a3,...,an。
输出描述
输出一个整数,代表其中美丽数字的数量。
样例1

对于样例1:
1既不是9的倍数,也不是8的倍数;
9是9的倍数,不是8的倍数;
72既是9的倍数,也是8的倍数;
因此答案为1。
对于全部数据,均保证输入为大于0的正整数,保证有1≤n≤105,1≤ai≤105。【此处为严谨题目所需,本级考生可不考虑】。
【考纲知识点】
循环运算(一级)、关系运算(一级)
【解题思路】1个数x判断是否为美丽数字,需要同时满足x是9的倍数以及x不是8的倍数,即为x除以9的余数为0以及x除以8的余数不为0;会有n个数等待判断,将判断1个数的程序放入循环当中,并统计每次判断是美丽数的个数。
【参考程序】

【程序解析】
有n个数需要判断,使用循环语句执行n次循环,每次循环判断一个数x是否满足条件,写法为x
% 9 == 0 and x % 8 != 0,使用ans统计个数。