内容正文:
第二节 程序设计语言基础知识
一、选择题
1.执行下面程序段运行后,输出的结果为( )
A.1 B.2 C.3 D.4
2.有一种程序设计语言是用二进制来编写程序,并且计算机能直接运行。这种程序设计语言是( )
A.高级语言 B.自然语言 C.汇编语言 D.机器语言
3.某Python程序段如下:
a=[28,32,79,14,24,43]
m = int(input("请输入一个整数:"))
pos=-1
for i in range(len(a)):
if a[i]> m:
if pos == -1 or a[i]< pos:
pos= a[i]
运行该程序段,若输入30,变量pos的值是( )
A.-1 B.14 C.79 D.32
4.在Python语言中,下列合法的变量名是( )
A.abc-1 B.abc2 C.import D.2abc
5.智慧饮料瓶回收机器的工作流程为:机器通过身份卡或人脸识别对用户进行身份认证,身份识别后用户可投放饮料瓶,机器对当前饮料瓶进行判断,符合回收条件则按塑料瓶和铝制易拉罐进行分类,塑料瓶按容量计算金额,铝制易拉罐按重量计算金额,若不符合回收条件则退回,结束投瓶后机器统计饮料瓶个数和金额,并将回收数据通过网络传送至服务器。用Python语句描述塑料瓶容量500毫升以下(不包含)0.05元/个,500毫升到1200毫升(不包含)0.1元/个,1200毫升及以上0.15元/个。设容量为v(单位为毫升),价格为p(单位为元),则下列选项正确的是( )
A.p=0.05
if v>=500:
p=0.1
elif v>=1200:
p=0.15
B.p=0.15
if v<500:
p=0.05
elif v<1200:
p=0.1
C.p=0.05
if v>=500:
p=0.1
if v>=1200:
p=0.15
D.p=0.15
if v<1200:
p=0.1
else:
p=0.05
A.A B.B C.C D.D
6.某Python程序段如下:
def fun(x,y):
while x < y:
a[x],a[y] = a[y],a[x]
x += 1; y -= 1
a = [1,2,3,4,5]
k = 3
fun(0,k-1)
fun(k,len(a)-1)
fun(0,len(a)-1)
执行该程序段后,列表 a的值是( )
A.[1,2,3,4,5] B.[4,5,1,2,3] C.[5,4,3,2,1] D.[3,4,5,1,2]
7.在Python语言中,下列赋值语句正确的是( )
A.x+y=z B.a=b=c C.a,b=2 D.a,b=b,a
8.在编程中,分支结构的主要作用是( )
A.重复执行代码 B.按顺序执行代码
C.根据不同条件执行不同代码 D.同时执行多段代码
9.有如下Python程序段:
s = 0 ; i = 1
while :
s = s + i
i = i + 2
该程序段运行后,变量s的值等于9,则程序划线处的语句不可能的是( )
A.i < 5 B.i <= 5 C.i < 6 D.i <= 6
10.有如下 Python 程序段:
a=[4, 6, 1, 19, 19, 14]
n=len(a); i=0; flag=False
while i<n-1 and not flag:
j=n-2; flag=True
while j>=i:
if a[j],a[j+1]=a[j+1],a[j]
flag=False
j-=1
i+=1
print(a)
程序执行后,加框处语句执行次数为( )
A.15 B.9 C.5 D.4
11.在Python中,以下代码的输出结果是( )
x=0
for i in range(2,8,2):
x=x+i
print(x)
A.20 B.16 C.12 D.10
12.某Python程序如下:
from random import randint
a=[0]*6
flag=True
i=0
while i<=5:
x=randint(1,50) #randint(a,b)用来随机生成[a,b]之间正整数
if flag or x>25:
a[i]=x
flag=not flag
i+=1
print(a)
执行该程序段后,在下列选项中,列表a中元素值不可能的是( )
A.[8,39,30,39,37,45] B.[7,35,12,28,25,23] C.[18,44,46,34,1,40] D.[20,33,16,50,47,39]
13.某算法的流程图如图所示,若输入的n值为10987654321,则下列说法正确的是( )
A.该算法中包含两个循环结构 B.执行该流程后,输出的s值为30
C.语句“n>0?”与“r%2=0?”执行的次数相同 D.执行该流程后,变量r的值为1
14.高级语言更接近自然语言,并不特指某种语言,也不依赖于特定的计算机系统,因而更容易掌握和使用,通用性也更好,下列不属于高级语言的是( )
A.Java语言 B.Python语言 C.机器语言 D.C语言
15.下列四个选项中,能输出数字1到10的是( )
A. B.
C. D.
16.有如下Python程序段:
a=[3, 8, 6, 2, 1, 0, 7]
n=len (a)
for i in range ( (n-1) //3) :
j=0; k=1
while j<n-i-2:
if a[j]*k>a[j+2]*k:
a[j], a[j+2]=a[j+2], a[j]
j=j+1; k=-k
执行该程序段, 则 a[4: 7]的值为( )
A.6, 0, 7 B.6, 7, 8 C.3, 8, 1 D.6, 8, 7
17.某Python程序如下:
q=[""]*50
head=tail=0
s="ningbo"
for i in s:
q[tail]=i
tail+=1
while head<tail:
print(q[head],end="")
head+=1
for i in range(3):
q[tail]=q[head]
head+=1
tail+=1
执行该程序段后,输出结果为( )
A.nbgoni B.nbogni C.goninb D.ningbo
二、填空题
18.根据要求,完善下列Python程序代码。
本金是50000元,5年定期利率是0.0325,计算5年后存款总额是多少?
money=50000
rat e=0.0325
for i in range(5):
print("5年后的存款总额是:",money)
19.输入语句 ,输出语句 如果有多个输出项,可以用 分隔。
20.在Python中,使用 可以结束当前循环的执行,即使循环条件未满足。
21.input( )函数的返回值的类型是 。
22.某 Python 程序如下:
n = int (input ())
sum = a = 3
res = 0
i=1
while i <= n:
res = res + sum
sum = sum * 10 + a
i = i + 1
print (res)
当输入n值为3时,程序输出结果是 。
三、判断题
23.在Python 3中,使用内置函数input()接收用户输入时,不论用户输入什么格式的内容,一律按字符串进行返回。( )
24.Python语言是高级语言,需要经过翻译才能被计算机执行。( )
25.VC、汇编语言、VB、python都属于高级语言。( )
26.在程序中,x=y与y=x是不一样的。( )
27.计算机程序能重复使用。( )
四、操作题
28.辗转相除法,又称欧几里德算法,用于计算两个正整数m、n的最大公约数.它是已知最古老的算法,其可追溯至公元前300年前。辗转相除法的算法步骤是,对于给定的两个正整数m、n(m>n),用m除以n得到余数r,若余数r不为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时n就是原来两个数的最大公约数.因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。小曲设计了辗转相除法的算法,请根据下面算法回答问题。
(1)描述一是 描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。
(2)在描述三中代码4到6行作用是 。
(3)请补充完成流程图 。
(4)在描述三程序设计中,补充①处代码为 。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题考查Python程序设计相关内容。本题涉及for循环结构以及各类运算符运算。for循环结构生成的i的取值为1到24,if语句要表达的是当i能够同时被2和5整除时,count自动加1,由此可分析出能够同时被2和5整除的数只有10和20,循环有效执行2次,最终count=2,故本题答案是B选项。
2.D
【详解】本题主要考查程序设计语言的描述。有一种程序设计语言是用二进制来编写程序,并且计算机能直接运行。这种程序设计语言是机器语言,故本题选D选项。
3.D
【详解】本题考查Python程序设计相关内容。分析程序段,输入30,则m=30,当i=0时,不满足第1个if判断条件,pos值不变;当i=1时,满足2个if判断条件,pos=a[i]=32;当i=2、5时,满足第1个if判断条件,但不满足第2个if条件,不执行pos=a[i];当i=3、4时,不满足第1个if判断条件,pos值不变。循环结束时,pos值为32。故本题答案是D选项。
4.B
【详解】本题考查变量。Python变量名必须以字母或下划线开头,后续字符可以是字母、数字或下划线,且不能是Python的关键字。A选项错误,包含不合法的字符“-”,C选项错误,import为Python的关键字,D选项错误,以数字开头。故答案为:B。
5.BC
【详解】本题考查程序分析。
A选项,当v>1200时,结果为p=0.1,不符合题意;D选项,当v<500时,结果为p=0.1,不合题意。故选择BC。
6.B
【详解】本题考查Python程序。初始列表:a=[1,2,3,4,5],k=3。执行fun(0,k-1),即fun(0,2):第一次循环:交换a[0]和a[2],列表变为[3,2,1,4,5]。第二次循环:由于x和y相遇(x=1,y=1),停止循环。列表状态为[3,2,1,4,5]。执行fun(k,len(a)-1),即fun(3,4):第一次循环:交换a[3]和a[4],列表变为[3,2,1,5,4]。第二次循环:由于x和y相遇(x=4,y=3),停止循环。列表状态为[3,2,1,5,4]。执行fun(0,len(a)-1),即fun(0,4):第一次循环:交换a[0]和a[4],列表变为[4,2,1,5,3]。第二次循环:交换a[1]和a[3],列表变为[4,5,1,2,3]。第三次循环:由于x和y相遇(x=2,y=2),停止循环。最终列表状态为[4,5,1,2,3]。因此,执行该程序段后,列表a的值是[4,5,1,2,3],答案为B。
7.D
【详解】本题考查Python赋值语句。A选项错误,x+y=z这种形式不是合法的赋值语句,不能直接给表达式x+y赋值。B选项错误,在Python中,连续赋值应该是a=b=c=值的形式。C选项错误,a,b=2这种形式不正确,应该是a,b=2,2或者给a和b分别赋予不同的值。D选项正确,a,b=b,a可以实现a和b值的交换。故答案为:D。
8.C
【详解】本题考查分支结构的描述。分支结构的主要作用是根据不同的条件执行不同的代码。选项A描述的是循环结构的作用,选项B描述的是顺序结构的作用,选项D描述的是并行执行的情况。只有选项C正确描述了分支结构的作用。故选C。
9.A
【详解】本题考查的是循环语句。由循环体可知s=1+3+5+……,要使变量s=9,则s=1+3+5,即i的值不超过6且要取到5,故循环条件为:i<=5或i<6或i <= 6,选项A正确。
10.D
【详解】本题考查Python程序。本题通过判断是否进行交换来提前终止排序,从而减少不必要的比较次数。程序思路:外层循环控制排序轮数,从i=0开始。内层循环从列表末尾向前比较相邻元素,并进行必要的交换。如果某一轮排序中没有发生交换,设置flag为True,提前终止排序。统计加框处(即交换语句)的执行次数。手动推导交换步骤可得执行次数为4。故答案为:D。
11.C
【详解】本题主要考查Python程序的执行。range(start, stop, [step]),start:计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop:计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。range(2,8,2)生成2、4、6,循环结束后x=x+i=0+2+4+6=12,故本题选C选项。
12.B
【详解】本题考查程序分析能力。根据程序分析可知代码随机生成大于25的正整数,要存放到列表a中。每次if语句判断可知,flag和x>25满足一个可以存放到a中。故可判断出当flag为假时,x>25为真,那么存放到a中的值必然大于25。可知flag值真假交替出现,所以B选项中的23不可能出现在第6项,这一项的值必然大于25,故正确答案为选项B。
13.D
【详解】本题考查的是流程图识读。该算法中包含一个循环结构;该算法的功能是将输入的n值中,数位上为偶数累加到s中,n值为10987654321,s=2+4+6+8+0=20;语句“n>0?”比“r%2=0?”执行多执行1次;r表示是n值中个位、十位……的数字,故执行该流程后,变量r的值为1。本题应选D。
14.C
【详解】本题考查计算机语言。高级语言更接近自然语言,不特指某种语言,也不依赖于特定的计算机系统,因而更容易掌握和使用,通用性也更好。Java语言、Python语言和C语言都属于高级语言,因为它们都具有高级语言的特点。机器语言是一种低级语言,它直接使用二进制代码表示指令和数据,非常接近计算机硬件的语言。故答案为:C。
15.AB
【详解】本题考查循环结构程序设计相关内容。A选项,while循环,x从1到10执行,输出数字1到10,选项符合题意;B选项,for循环,i从1到10,输出数字1到10,选项符合题意;C选项,for循环,由range(1,10)可知,y从1到9执行,输出数字1到9,选项不符合题意;D选项,for循环,x从1到9执行,由代码“if x%2==”0:continue可知,x为偶数时跳过输出x的值,该代码段输出内容为1到9的奇数,即:1,3,5,7,9。选项不符合题意。故本题答案是AB选项。
16.A
【详解】本题考查Python程序设计相关内容。分析程序段可知,初始状态:n=7,(n-1)//3=2,for循环共执行两次:(1)当i=0时, j取值范围是[0,4],当j=2时,a[j]*k>a[j+2]*k-->a[2]*1>a[4]*1-->6>1成立,交换a[2]与a[4]的值,当j取其他值时,if条件表达式不成立,列表元素不会发生变化,for循环执行完第一次后,列表a=[3, 8, 1, 2, 6, 0, 7]。
(2)当i=1时, j取值范围是[0,3],当j=0时,a[j]*k>a[j+2]*k-->a[0]*1>a[2]*1-->3>1成立,交换a[0]与a[2]的值,当j取其他值时,if条件表达式不成立,列表元素不会发生变化,for循环执行完第二次后,列表a=[1, 8, 3, 2, 6, 0, 7]。
执行该程序段,a[4: 7]的值为:[ 6,0,7]。故本题答案是A选项。
17.A
【详解】本题考查Python程序设计相关内容。通过for循环,依次将字符串s中的字符放入列表,结束时,tail的值为6。此时,head=0,满足循环条件head<tail,开始执行while循环。分析while循环,可知,当head分别等于0、4、8、12、16、20时,输出q[head],当head=24时,tail=24,循环条件head<tail不成立,循环结束。在while循环执行过程中,通过i控制for循环的执行,每次都会将q[head]赋值给q[tail],然后head+=1,tail+=1。运行结果如图所示:其输出结果为:“nbgoni”。
18.money=money*(1+rate)
【详解】本题考查Python程序设计相关内容。下划线处作用是计算本息和,计算公式为:本息和=本金+本金*利息,即:money=money*(1+rate)。故此处答案为:money=money*(1+rate)。
19. input print 逗号
【详解】本题考查Python基础。Python中的输入调用input函数。输出语句调用print函数,可以使用逗号分隔。
20.break
【详解】本题考查Python。在Python中,当使用break关键字时,无论循环条件是否满足,都会立即终止当前所在的循环结构,使程序跳出该循环,继续执行循环后面的代码。故答案为:break。
21.字符串型
【详解】本题考查输入函数相关知识。input()函数是输入函数,用于接受一个标准输入数据,函数返回值是“字符串”类型。故本题答案是:字符串型
22.369
【详解】本题考查的是Python循环语句。初始i=1,sum = a = 3,当输入n值为3时。
i<=3成立,res = res+sum=3, sum=sum*10+a=30+3=33,i=i+1=2;
i<=3成立,res = res+sum=36, sum=sum*10+a=330+3=333,i=i+1=3;
i<=3成立,res = res+sum=369, sum=sum*10+a=3330+3=3333,i=i+1=4;
i<=3不成立,故输出res为369。
23.正确
【详解】本题考查Python基础。
在Python 3中,使用内置函数input()接收用户输入时,不论用户输入什么格式的内容(包括数字、字符、特殊符号等),该函数一律将输入内容作为字符串(str)返回。故正确。
24.正确
【详解】本题考查Python。Python语言是高级编程语言,它不能被计算机直接识别和执行,需要通过解释器或编译器将其翻译成计算机能够理解的机器语言后才能执行。故说法正确。
25.错误
【详解】本题考查计算机语言。VC(Visual C++)、汇编语言、VB(Visual Basic)属于低级语言,而Python属于高级语言。低级语言通常更接近计算机硬件,对计算机资源的利用更加高效,但编写和理解起来更加困难,需要更多的技术细节和底层知识。而高级语言则更加抽象和易读易写,编程效率更高,但对计算机资源的利用相对低效。故说法错误。
26.正确
【详解】本题考查程序设计中赋值语句的理解。在Python程序中,x=y是将y的值赋给x,y=x是将x的值赋给y,因此,x=y与y=x是不一样的。故正确。
27.正确
【详解】本题考查计算机程序相关内容。计算机软件(程序)复用指的是在开发软件时,重复利用已有的代码和模块,以提高开发效率,并减少开发成本。故本题答案是:正确。
28. 自然语言 确保m>=n r=m%n r!=0
【详解】本题主要考查算法及Python程序实现。①描述一是自然语言描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。②在描述三中代码4到6行,当m>n时,交换m、n的值,否则跳过,故作用是确保m>=n。③用m除以n得到余数r,故此处应为r=m%n 。④由题干可知,循环条件是余数r不等于0,故代码第8行划线处为r!=0。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$