内容正文:
第二节 程序设计语言基础知识
一、选择题
1.某面包房在晚上6:00以后,对于当日现烘面包,收银机自动将价格下降20%。用来描述某种商品是否降价的处理过程,合适的算法流程是( )
A.顺序结构 B.分支结构 C.循环结构 D.树型结构
2.要开发“网络聊天机器人”软件,不仅仅要实现单一文本的输出,还需要实现机器人对话能力,则需要导入的模块是( )
A.AIML B.Flask C.flask _ script D.Django
3.下列代码中表示为Web应用程序导入Flask框架模块的是( )
A.from f lask import Flask B.app=Flask(_ name _)
C.@app.route ('/') D._ name _=='_ main _'
4.有Python代码如下
def fab(n):
if n <= 1:
return n
else:
return fab(n-1) + fab(n-2)
n = int(input())
print(fab(n))
若运行时输入的值为10,则输出的结果为( )
A.21 B.34 C.55 D.89
5.在Python中,以下哪个函数用于获取用户输入并将其转换为整数( )
A.int(input()) B.getInt() C.readInt() D.parseInt()
6.以下哪个选项是正确的Python分支结构语法( )
A.if condition: action1 else action2 B.if condition action1: action2
C.condition if action1 else action2 D.if action1: condition else action2
7.在Python中,已知x=2021,y=2022,z=2023,下列表达式结果为False的是( )
A.x//1000==x%100//10 B.x%4==0 or x%100!=0
C.str(y+z)=='20222023' D.x<=y<=z
8.有如下Python程序段:
a=[1,4,6,7,8,9,3,6]
for j in range(7,2,-2):
if a[j-2]>a[j]:
a[j-2],a[j]=a[j],a[j-2]
print(a)
最终输出的结果为( )
A.[9,4,6,6,8,7,1,9] B.[1,6,4,6,8,7,3,9] C.[1,4,6,6,8,7,3,9] D.[1,4,6,6,7,8,3,9]
9.以下关于类属性的描述,正确的是( )
A.类属性是在类中定义在方法之内的变量
B.类属性是所有实例化对象公用的,可以通过类名称或实例名称访问类属性
C.类属性只能通过实例名称访问,不能通过类名称访问
D.类属性通常在类的__init__()方法内部定义
10.在Python语言中对常量或变量进行运算或处理的符号称为运算符,“>”的运算符类别是( )
A.算数运算符 B.逻辑运算符 C.关系运算符 D.赋值运算符
11.有如下Python程序段:
import random
a=[0] * 6
a[0]=random.randint(95,100)
for i in range(1,6):
a[i]=a[i-1]-random.randint(0,5)
if i%2 == 0:
a[i]=a[i]+a[i]%2
print(a)
运行该程序段后,a[0]~a[5]中可能的值是( )
A.96 95 90 89 86 82 B.95 92 89 87 86 84 C.95 92 88 86 84 85 D.100 92 88 86 86 84
12.下列Python程序的功能是在数据有序的链表中插入一个整数,使链表中的数据仍保持有序
a=[[8,3],[6,0],[2,1],[11,4],[15,-1]]
n-int(input("请输入一个整数:"))
p=q=head=2
if n<=a[head][0]:
a.append([n,head])
①
else:
while p!=-1 and ② :
q=p
p=a[p][1]
a.append([n,p])
a[q][1]=1en(a)-1
划线处应填入的代码是( )
A.①head=a[p][1] ②n>a[p][0] B.①head=a[p][1] ②n>a[q][0]
C.①head=len(a)-1 ②n>a[p][0] D.①head=len(a)-1 ②n>a[q][0]
13.智能农业大棚中的自动温度控制系统,通过温度传感器每隔一定时间采集大棚中的温度,一旦监测到环境温度超过预设的最高温度40℃,控制系统会启动通风和喷水子系统实现降温;如果温度低于预设的最低温度18℃,控制系统会启动加热器,给大棚升温。用变量t表示温度传感器采集的温度值,下列不能实现该系统温度控制功能的算法是( )
A.
if t>40:
x="启动降温系统"
else:
x="启动升温系统"
B.
if t>40:
x="启动降温系统"
else:
if t<18:
x="启动升温系统"
C.
if t<18:
x="启动升温系统"
if t>40:
x="启动降温系统"
D.
if t<18:
x="启动升温系统"
elif t>40:
x="启动降温系统"
A.A B.B C.C D.D
14.下列PYTHON程序段运行后,变量a的值为( )
a=10
b=5
if a>b:
a,b=b,a a,b数据互换
A.5 B.10 C.5和10 D.15
15.有如下 Python 程序段:
def f(x,y):
if y==0 or x==y:
return 1 #①处
else:
return f(x-1,y-1)+f(x-1,y)
执行语句k=f(3,2),以下说法正确的是( )
A.k的值为1 B.k的值为3
C.函数f(x,y)共被调用了4次 D.①处代码共执行了1次
16.在Python中,运行以下程序后,变量的值是( )
i=0
while i<6:
print("*")
i=i+1
A.0 B.6 C.1 D.7
17.在Python中,表达式16*0.5的值是( )
A.8 B.8.0 C.4.0 D.16
18.在Python中,以下赋值语句的说法错误的是( )
A.语句a , b=3表示将3同时赋值给变量a和b B.“=”表示将右边表达式的值赋给左边的变量
C.语句x,y =y,x可以实现变量x和y值的互换 D.c+= a等效于c=c+ a
二、填空题
19.在Python中,使用 可以快速生成一个特定范围内的数列。
20.有如下Python程序段:
a=[3,2,1,1,5,6,-1,7]
c=0
for i in range(2,len(a)):
if a[i-2]-a[i-1]==a[i]:
c+=1
print(c)
程序段执行后,输出的结果为 。
21.以下程序的功能如下:计算表达式1+3+9+27+81+…+2187的值,则程序中画线处的表达式应为 。
t=0
i=1
while i<= 2187:
t=t+i
print(t)
22.运行以下Python程序,结果是 。
sum=0
for num in range(8):
sum=sum+num
print(sum)
23.在Python中,"on" in "python"的计算结果是 。
24.函数一般包括函数名、参数、返回值和函数体等四部分。其中 和函数体是必不可少的。
25.在Python程序语言中,可以用关系运算符来比较两个数据之间的关系,其中用来表示不等于的关系运算符是 。
三、判断题
26.Python os.path模块中的方法isdir()可以用来测试给定的路径是否为文件夹。( )
27.在定义函数时,某个参数名字前面带有两个*符号表示可变长度参数,可以接收任意多个关键参数并将其存放于一个字典之中。( )
28.以汇编语言或者高级语言所编写的程序被称为“源代码”,而这些源代码需被翻译成机器语言后才被计算机执行。( )
29.在Python中,表达式4/2的运算结果是2。( )
30.VC、汇编语言、VB、python都属于高级语言。( )
31.汇编语言是一种高级语言。( )
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题考查程序设计基础。
分支结构:用于根据条件执行不同的操作。在这个情况下,可以设置一个条件判断(例如,当前时间是否在晚上6:00以后),如果条件成立,则执行降价操作;如果条件不成立,则保持原价。故正确答案为:选项B。
2.A
【详解】本题考查Python基础。
AIML:是一种用于创建聊天机器人的标记语言,能够帮助开发者定义机器人的对话能力和响应模式。
Flask:一个轻量级的Web框架,适用于构建Web应用程序,但不专门用于实现对话能力。
flask_script:是Flask的一个扩展,提供了命令行支持,主要用于管理Flask应用程序的命令行操作。
Django:一个功能强大的Web框架,适合构建复杂的Web应用程序,但同样不专注于聊天机器人开发。
故正确答案为:选项A。
3.A
【详解】本题考查Flask框架相关内容。Flask是一个使用Python编写的轻量级Web应用框架。from f lask import Flask 代码实现导入Flask 框架模块;app=Flask(_ name _)代码创建应用实例;@app.route('/')代码实现编写路由;_ name _=='_ main _'代码调用实例。故本题答案是A选项。
4.C
【详解】本题考查Python程序设计相关内容。本题涉及到递归算法的应用。计算fab(10)的值,由fab(n)函数可以得到如下递推关系式:fab(10)=fab(9) + fab(8);fab(9)=fab(8) + fab(7);fab(8)=fab(7) + fab(6);fab(7)=fab(6) + fab(5);fab(6)=fab(5) + fab(4);fab(5)=fab(4) + fab(3);fab(4)=fab(3) + fab(2);fab(3)=fab(2) + fab(1);fab(2)=fab(1) + fab(0);fab(1)=1;fab(0)=0;fab(10)=55fab(1) +34 fab(0)-->fab(10)=55。故本题答案是C选项。
5.A
【详解】本题考查Python基础。
在Python标准库中,不存在函数getInt()、readInt()或parseInt()。故正确答案为:选项A。
6.A
【详解】本题考查Python基础。
选项B,冒号写错位置并缺少else关键字。选项C,if关键字写错位置并缺少冒号。选项D,条件判断写错位置,应该写在if关键字后。故正确答案为:选项A。
7.C
【详解】本题考查Python表达式相关内容。A选项,x//1000-->2,x%100//10-->21//10-->2,x//1000==x%100//10-->True。B选项,x%4==0-->False,x%100!=0-->True,x%4==0 or x%100!=0-->True。C选项,str(y+z)-->str(4045)-->"4045",str(y+z)=='20222023'-->"4045"=='20222023'-->False。D选项,x<=y<=z-->True。故本题答案是C选项。
8.C
【详解】本题考查Python程序设计相关内容。分析程序段,推知:for j in range(7,2,-2)使得j的值从7,5,3依次循环,若满足a[j-2]>a[j]条件,则执行a[j-2],a[j]=a[j],a[j-2](两元素相互交换),运行结果为:[1,4,6,6,8,7,3,9],故本题答案是C选项。
9.B
【详解】本题考查Python基础。
类属性是在类中定义在方法之内的变量:错误。类属性通常是在类定义中直接定义的,而不是在方法(如__init__或其他方法)内部定义的。在方法内部定义的变量通常是局部变量,它们只在该方法内部可见和可用。
类属性是所有实例化对象公用的,可以通过类名称或实例名称访问类属性:正确。类属性是类级别的变量,它属于类本身而不是类的任何特定实例。因此,所有实例都可以访问和修改这个属性(除非它被声明为私有或使用特定的机制来限制访问)。类属性可以通过类名或任何实例名来访问。
类属性只能通过实例名称访问,不能通过类名称访问:错误。如上所述,类属性既可以通过类名也可以通过实例名来访问。
类属性通常在类的__init__()方法内部定义:错误。__init__方法是类的构造函数,用于初始化新创建的对象的状态。虽然可以在__init__方法中设置实例属性(即每个实例独有的属性),但类属性应该在类定义级别直接定义,而不是在__init__方法或任何其他方法中。
故正确答案为:选项B。
10.C
【详解】本题考查Python基础。
在Python语言中,“>”的运算符类别是关系运算符。关系运算符用于比较两个操作数的大小或关系,并返回一个布尔值(True 或 False)。故正确答案为:选项C。
11.A
【详解】本题考查随机函数及逻辑判断。根据程序代码,可以得出几条结论:①数组中,索引为偶数的(除索引0),数组值也是偶数;②前后相邻位置的差值[-1,5],-1只有当索引位置是前奇后偶的情况下才有可能;根据以上结论,可排除B、C、D,故答案为A。
12.C
【详解】本题考查Python程序。首先分析程序逻辑,程序要在有序链表中插入一个整数n并保持有序。如果n小于等于表头元素的值,就在表头插入。否则,通过循环找到合适的插入位置。对于①处,如果n小于等于表头元素,要更新表头指针,应将表头指针指向新插入元素,即head=len(a)-1。对于②处,在循环中要判断n是否大于当前指针所指元素的值,即n>a[p][0]。故答案为:C。
13.A
【详解】本题考查算法。根据题意,系统需要在温度高于40℃时启动降温系统,在温度低于18℃时启动升温系统。选项A的算法中,如果温度大于40℃,会启动降温系统;否则,即使温度在18℃到40℃之间,系统也会启动升温系统,这与题意不符。选项B、C和D都能正确判断温度是否超过40℃或低于18℃,并分别启动相应的系统。故答案为:A。
14.A
【详解】本题考查Python程序设计相关内容。a=10,b=5,a>b成立,执行交换a、b的操作,则a值为5,b值为10,故本题答案是A选项。
15.B
【详解】本题考查递归算法。执行过程如下:
f(3,2) return f(2,1)+f(2,2)
f(2,1) return f(1,0)+f(1,1)
f(2,2) return 1
f(1,0) return 1
f(1,1) return 1
f(3,2)=1+1+1=3
故选择B。
16.B
【详解】本题考查Python编程基础。while循环中,i<6,当i的值等于6时,结束循环,共循环6次。故选择B。
17.B
【详解】本题考查表达式计算。浮点数与整数乘,结果为浮点数。故选择B。
18.A
【详解】本题考查Python赋值语句。在Python中,语句a,b=3并不会将3同时赋值给变量a和b。这种语法是错误的,实际运行时会引发ValueError,因为左侧有两个变量,右侧只有一个值,无法解包。正确的做法是分别给每个变量赋值,例如a=3和b=3,或者用a,b=3,3。故答案为:A。
19.range()
【详解】本题考查Python函数。在Python中,range()函数可以快速生成一个特定范围内的数列。通过指定起始值、终止值和步长等参数,range()函数能够灵活地创建符合需求的数字序列。例如,range(5)会生成包含0到4的数列;故答案为:range()。
20.4
【详解】本题考查程序分析。
本程序的功能是从索引值为2的元素开始,统计当前元素是它前两个元素之差的情况数。当i分别为2、3、6、7时满足条件,因此答案为4。
21.i=i * 3
【详解】本题考查Python程序设计相关内容。分析程序段,其功能是计算表达式1+3+9+27+81+…+2187的值,由求和表达式t=t+i知,对应的加数为i*3,故本题答案是:i*3。
22.28
【详解】本题考查Python程序设计相关内容。分析程序段,其功能是计算[0,7]范围内的整数之和,结果为28,故本题答案是:28。
23.True
【详解】本题考查Python程序设计相关内容。in在Python中是成员运算符,如果在指定的序列中找到值返回True,否则返回False。"on"是"python"的子串,"on" in "python"的计算结果为:True。故本题答案是:True。
24.函数名
【详解】本题考查函数相关内容。用户自定义函数是用户自己写的一段程序,一般包括函数名、参数、返回值、函数体等四部分,其中,函数名和参数是必不可少的部分。故本题答案是:函数名。
25.!=
【详解】本题考查Python关系运算符相关内容。用来表示不等于的符号是“!=”,“= =”表示等于,“>=”表示大于等于,“<=”表示小于等于,故本题答案是:!=。
26.正确
【详解】本题考查Python基础。
在Python的os.path模块中,isdir()函数用于测试给定的路径是否为一个目录(文件夹)。如果路径确实指向一个目录,则返回True;如果不是,或者路径不存在,则返回False。故正确。
27.正确
【详解】本题考查Python基础。
在Python中,定义函数时参数名字前面带有两个*符号(例如,**kwargs)确实表示该函数可以接受任意数量的关键字参数(keyword arguments),并将这些参数存储在一个字典中。这种参数被称为可变关键字参数。这种机制在编写需要高度灵活性的函数时非常有用,因为它允许调用者传递任意数量的关键字参数,而函数内部可以以一种统一的方式处理这些参数。故正确。
28.正确
【详解】本题考查程序设计语言相关内容。用汇编语言或高级语言编写的程序也不能直接被计算机识别和执行,必须经过编译程序或解释程序将其翻译成机器语言后才被计算机执行。故本题答案是:正确。
29.错误
【详解】本题考查Python表达式相关内容。除法(/):除法运算符返回两个数字相除后的商的精确值,无论两个数字是什么类型,返回的结果都是一个浮点数(小数)。4/2-->2.0。故本题答案是:错误。
30.错误
【详解】本题考查计算机语言。VC(Visual C++)、汇编语言、VB(Visual Basic)属于低级语言,而Python属于高级语言。低级语言通常更接近计算机硬件,对计算机资源的利用更加高效,但编写和理解起来更加困难,需要更多的技术细节和底层知识。而高级语言则更加抽象和易读易写,编程效率更高,但对计算机资源的利用相对低效。故说法错误。
31.错误
【详解】本题主要考查计算机编程语言。汇编语言是一种低级语言,表述错误。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$