内容正文:
3.3计算机程序与程序设计语言2024—2025学年高中信息技术粤教版(2019)必修1
一、选择题
1.某多选题有A、B、C三个选项,程序阅卷时,各选项采用True和False来表示是否进行了选择(例如:变量a的值为True时,表示选择了A选项;变量b的值为False,则表示未选择B选项)。若该题正确答案为“BC”,下列表达式中能判定考生该题答案全部正确的是( )
A.a and b and c B.a or b and c C.not a and b and c D.not a or b and c
2.列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。对列表BookInf=[1,2,4,6,7,5,1,9,6],下列错误的是( )
A.BookInf.append(10),列表添加了10元素
B.print(BookInf[-2]),输出:1
C.BookInf.remove(BookInf[6]),print(BookInf),输出:[2,4,6,7,5,1, 9,6]
D.del(BookInf[6]),print(BookInf),输出:[1,2,4,6,7,5,9,6]
3.执行以下Python程序后,列表b的值是( )
a=[[4,4,34,37],[3,12,2,6],[5,17,9,11]];b=[]
for i in range(3):
for j in range(4):
if i < j:
b.append(a[i][j])
A.[4,4,34,37,12,2] B.[4,34,37,2,6,11] C.[4,3,12,5,17,9] D.[4,34,37,3,6,11]
4.有如下Python程序段:
def f(n):
if n <= 1:
return 1
else:
return f(n-1)*2 +f(n-2)
s=0
for i in range(1,5):
s = s + f(i)
执行该程序段后,变量s的值是( )
A.11 B.12 C.28 D.30
5.算法用Python程序实现,以下代码中哪处语句存在语法错误( )
A. B. C. D.
6.下列选项中可以作为合法变量名的是( )
A.k-b B.3y C.Boy D.f(x)
7.以下用于数据可视化的Python代码中,绘制折线图的语句是( )
1
import matplotlib. pyplot as plt
2
x=[1,2,3,4,5,6,7,8,9]
3
y=[0.35,0.70,1.13,0.2,1.90,6.10,2.70,3.08,3.52]
4
plt. plot(x,y)
5
plt. show()
A.plt. show()
B.plt. plot(x,y)
C.import matplotlib. pyplot as plt
D.y=[0.35,0.70,1.13,0.2,1.90,6.10,2.70,3.08,3.52]
8.下面代码输出( )。
lst=list(range(1,6,2))
print(lst)
A.[1,3,5] B.[2,4,6] C.[2,4] D.[1,6,2]
9.已知列表ls=[0,1,2,"a","b",True],执行print(lst[4:2:-1])后,输出的结果是( )
A.[2,"a","b"] B.["b","a"] C.["a",2] D.[1,2,"a"]
10.有如下Python程序段:
d=[1,3,8,15,22,26,28,40,46,61,80]
i=0;j=len(d)-1
while i<=j:
m=(i+j)//2
if key < d[m]:
j=m-1
else:
若key值为22,程序运行结束后,加框处语句执行的次数为( )
A.1 B.2 C.3 D.4
11.在Python中,下列程序是实现计算1*2*3*……*10的积,在第一行和第三行下划线处应该填写( )
A.s=0;s=s*x B.x=0;x=x*s
C.s=1;s=x*x D.s=1;s=s*x
12.Python表达式int(-2**2-9/5)的值是( )
A.2 B.3 C.-5 D.-6
13.用Python算法控制结构描述“您所在街道25分钟后小雨,50分钟后雨停”,设t为距离天气预报发布时间的间隔(单位:分钟),下列选项正确的是( )
A.
if t>50:
print("雨停")
elif t>25:
print("小雨")
B.
if 25<t<=50:
print("小雨")
else:
print("雨停")
C.
if t>25:
print("小雨")
else:
print("雨停")
D.
ift>25:
print("小雨")
if t>50:
print("雨停")
A.A B.B C.C D.D
14.设执行以下程序段时依次输入1、3、5,执行结果为( )
Dim a(4) As Integer
Dim b(4) As Integer
For K =0 To 2
a(K+1) =Val(InputBox("请输入数据:"))
b(3-K) =a(K+1)
Next K
Print b(K)
A.1 B.3 C.5 D.0
15.在Python循环中,可以使用break语句终止循环,程序将跳出循环,执行循环后的语句,下面代码运行结果是( )
cnt =0
for i in range(1,6):
if i==4: break
cnt=cnt+1
print(cnt)
A.2 B.4 C.3 D.5
16.有5万元资金存入银行,由于银行利率是不断变化的,这5年利率分别是3.25%、3%、3%、2%、1.75%。5年后会有多少收益呢?(money=50000,rate表示年利率),用for循环计算收益,下列选择正确的是( )
A、
for rate in [0.0325,0.03,0.03,0.02,0.0175]:
money=money*(1+rate)
B、
for year in range(0.0325,0.03,0.03,0.02,0.0175):
money=money*(1+rate)
C、
for year in (0.0325,0.03,0.03,0.02,0.0175):
money=money*(1+rate)
D、
for rate in range[0.0325,0.03,0.03,0.02,0.0175]:
money=money*(1+rate)
A.A B.B C.C D.D
17.用Python程序处理字符串,程序如下:
s="b2-c1-2"
t=0;sum=0
for ch in s:
if "0"<=ch<="9":
t=t*10+int(ch)
elif "a"<=ch<="z":
t=ord(ch)-ord("a")#函数ord计算字符的ASCII值
else:
sum+=t
t=0
执行该程序段后,sum的值是( )
A.12 B.35 C.33 D.21
18.有如下Python程序段,执行程序后变量c的值是( )
s = ord("S")
c = chr(s+5)
A.88 B."T" C."x" D."X"
19.下列哪个语句在Python中是非法的?( )
A.x = y = z = 1 B.x = (y = z + 1)
C.x, y = y, x D.x += y
20.有如下Python程序段:
a,b,c=[1,2],[3,4],[5,6]
a=a+b
a.append(c)
运行该段代码后,a[-2]的值为( )
A.4 B.[3,4] C.5 D.[5,6]
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题考查Python逻辑表达式相关内容。正确答案为“BC”,说明a错误且b与c均正确,其逻辑表达式应该为not a and b and c(C选项)。A选项,a and b and c意味着abc均正确,选项错误;B选项,a or b and c意味着a正确或者b与c均正确,选项错误;D选项,not a or b and c意味着a不成立或b与c均正确,选项错误。故本题答案是C选项。
2.B
【详解】本题考查了Python列表的基本操作。BookInf.append(10)会在列表末尾添加元素10,A选项正确。print(BookInf[-2])会输出倒数第二个元素,即9,而不是1,B选项错误。BookInf.remove(BookInf[6])会移除列表中第6个元素,即第一个1,之后打印列表,输出为[2,4,6,7,5,1,9,6],C选项正确。del(BookInf[6])会删除列表中的第6个元素,即第一个1,之后打印列表,输出为[1,2,4,6,7,5,9,6],D选项正确。故答案为:B。
3.B
【详解】本题考查Python基础。
该程序功能为:二维列表数据,当i<j时候,追加a[i][j]到空列表b中。(即可理解为二维表中,对角线元素以上的元素追加到空列表b中,因为对角线以上的元素索引的特点为i>j)。故可知正确答案为:选项B。
4.C
【详解】本题考查程序分析。
f(1):
因为1 <= 1,所以f(1) = 1。
f(2):
使用递归,f(2) = f(1)*2 + f(0)。
已知f(1) = 1,且f(0)(因为0 <= 1)也等于1。
所以f(2) = 1*2 + 1 = 3。
f(3):
使用递归,f(3) = f(2)*2 + f(1)。
已知f(2) = 3和f(1) = 1。
所以f(3) = 3*2 + 1 = 7。
f(4):
使用递归,f(4) = f(3)*2 + f(2)。
已知f(3) = 7和f(2) = 3。
所以f(4) = 7*2 + 3 = 17。
现在,我们计算s的值:
s = f(1) + f(2) + f(3) + f(4)
s = 1 + 3 + 7 + 17
s = 28
故正确答案为:选项C。
5.D
【详解】本题考查的是Python程序调试。双分支IF语句。if (条件)后面要加冒号,else后面也要加冒号。故标号4中存在语法错误。
6.C
【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。可以作为合法变量名的是Boy,故本题选C选项。
7.B
【详解】本题主要考查Python图形绘制。plt. show()用于显示绘制的图形,plt. plot(x,y)根据x和y的取值进行图形绘制,故本题选B选项。
8.A
【详解】本题主要考查Python列表操作。range(1,6,2)表示范围是1~6(不包括6),每次递增2,即可取值是1、3、5,所以1st=[1,3,5],故本题选A选项。
9.B
【详解】本题考查Python函数。切片操作的语法是lst[start:stop:step],其中start表示起始索引(包含),stop表示结束索引(不包含),step表示步长,默认为1。在给定列表ls=[0,1,2,"a","b",True]中,切片操作lst[4:2:-1]表示从索引4(包含,即"b")开始到索引2(不包含,即2),步长为-1,即从后往前取值。因此,输出的结果是["b","a"],选项B正确。
10.C
【详解】本题主要考查Python程序的分析。i=0,j=len(d)-1=10,key=22,第一次循环,m=(0+10)//2=5,d[5]=26>key,j=m-1=4;第二次循环,m=(0+4)//2=2,d[2]=8<key,i=m+1=3;第三次循环,m=(3+4)//2=3,d[5]=15<key,i=m+1=4;第四次循环,m=(4+4)//2=4,d[4]=22=key,i=m+1=5;第五次循环,不满足i<=j,循环结束。因此程序运行结束后,加框处语句执行的次数为3,故本题选C选项。
11.D
【详解】本题主要考查Python程序的调试。该程序是实现计算1*2*3*……*10的积,用变量s统计,因此s的初值为1,循环变量是x,因此循环体是s=s*x,故本题选D选项。
12.C
【详解】本题考查Python表达式。首先,按照运算符的优先级,先计算指数运算,然后进行减法和除法运算:计算 -2**2,得到 -4。计算 9/5,得到 1.8。最后,计算 -4 - 1.8,得到 -5.8。然后,int() 函数将结果转为整数,即取整数部分,得到 -5。故答案为:C。
13.A
【详解】本题考查Python程序设计相关内容。分析题目内容可知:A选项,可以实现算法描述,选项正确。B选项,依据代码段,即刻起至25分钟之间会输出“雨停”,但算法描述中并未体现,选项错误。C选项,依据代码段,25分钟之后会输出“小雨”,但代码段并未实现“50分钟后雨停”的判断,且即刻起至25分钟之间会输出“雨停”(算法描述中并未体现),选项错误。D选项,依据代码段,50分钟之后会输出“小雨”、“雨停”,不符合算法描述,选项错误。故本题答案是A选项。
14.A
【详解】本题主要考查循环结构执行。For循环中循环变量k依次为0,1,2,循环体中依次为a(1)=1,b(3)=1;a(2)=3,b(2)=3;a(3)=5,b(1)=5;跳出循环后,k=3,输出b(3)=1,因此A选项正确。
15.C
【详解】本题主要考查Python程序的执行。分析程序可知,变量i的范围是从1~5,当i=4时,循环结束,此时cnt的值为3,故本题选C选项。
16.A
【详解】本题考查的是循环语句的应用。由循环体money=money*(1+rate)可知利率存储在rate中,故循环变量应为rate而不是year,选项B、C错误;range()是函数,故选项D错误。本题应选A。
17.C
【详解】本题考查字符串的应用,根据代码,运行如下表,最后各部分逆序连接。
分组字符
t
sum
“b2”
12
12
“cl”
21
33
“2”
2
不参加运算
故选择C。
18.D
【详解】本题考查的变量。本题的运行效果就是将字母S向后移动5个字母,赋值给变量c。故选项D正确。
19.B
【详解】本题主要考查Python赋值语句。语句x = y = z = 1,赋值x、y、z值均为1;语句x, y = y, x交换x、y的值;x += y等价于x=x+y;语句x = (y = z + 1)是非法的,故本题选B选项。
20.A
【详解】本题主要考查Python程序的执行。a,b,c=[1,2],[3,4],[5,6],执行a=a+b后,a=[1, 2, 3, 4],再执行a.append(c)后,a=[1, 2, 3, 4, [5, 6]],故a[-2]=4,故本题选A选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$