PYTHON二级模拟题
一、选择题(每题1分,总分40分)
1、下列叙述中正确的是()
A、算法的时间复杂度是指算法在执行过程中基本运算的次数
B.算法的时间复杂度是指算法执行所需要的时间
C、算法的时间复杂度是指算法执行的速度
D、算法复杂度是指算法控制结构的复杂程度
A 【解析】算法的时间复杂度是指执行算法所需要的计算工作量,其计算工作量是用算法所执行的基本运算次数来度量的。本题选择A选项。
2、下列叙述中正确的是()
A、循环队列是队列的一种链式存储结构
B、循环队列是队列的一种顺序存储结构
C、循环队列中的队尾指针一定大于队头指针
D、循环队列中的队尾指针一定小于队头指针
B 【解析】在实际应用中,队列的顺序存储结构一般采用循环队列的形式。当循环队列满或者为空时:队尾指针-队头指针。本题选择B选项。
3、某完全二叉树有256个结点,则该二叉树的深度为()。
A. 7
B.8
C.9
D.10
c 【解析】根据完全二叉树的性质:具有n个结点的完全二叉树的深度为[log,nj+1,本题中完全二叉树共有256个结点,则深度为iloa-2561+1-8+1-9,本题选择C选项。
4、下列叙述中错误的是()。
A.线性结构也能采用链式存储结构
B、线性结构一定能采用顺序存储结构
C、有的非线性结构也能采用顺序存储结构
D、非线性结构一定不能采用顺序存储结构
D 【解析】满二叉树与完全二叉树均为非线性结构,但可以按照层次进行顺序存储。本题选择D选项。
5、需求分析的主要任务是()。
A.确定软件系统的功能
B、确定软件开发方法
C、确定软件开发工具
D、确定软件开发人员
A 【解析】需求分析是软件开发之前必须要做的准备工作之一。需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。故需求分析的主要任务是确定软件系统的功能。本题选择A选项。
6、一个模块直接调用的下层模块的数目称为模块的()。
A、扇入数
B、扇出数
C、宽度
D、作用域B 【解析】扇入数指调用一个给定模块的模块个数。扇出数是指由一个模块直接调用的其他模块数,即一个模块直接调用的下层模块的数目。本题选择B选项。
7、将数据和操作置于对象统一体中的实现方式是()。
A.隐藏
B、抽象
C、封装
D、结合
C 【解析】对象具有封装性,从外面看只能看到对象的外部特性,对象的内部对外是封闭的。即封装实现了将数据和操作置于对象统一体中。本题选择C选项。
8、采用表结构来表示数据及数据间联系的模型是()。
A.层次模型
B.概念模型
C、网状模型.
D.关系模型
D 【解析】关系模型采用二维表来表示,简称表。本题选择D选项。
9、在供应关系中,实体供应商和实体零件之间的联系是()。
A、多对多
B.-对一
C、多对一
D、一对多
A 【解析】-家供应商可提供多种零件,一种零件也可被多家供应商提供。所以实体供应商和实体零件之间的联系是多对多。本题选择A选项。
10、如果定义班级关系如下:班级(班级号,总人数,所属学院,班级学生)则使它不满足第一范式的属性是()。A、班级号B班级学生C、总人数D、所属学院B 【解析】对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式模式。题目中“班级"关系的"班级学生”属性,还可以进行再分,如学号、姓名、性别、出生日期等,因此不满足第一范式。本题选择B选项。
11、在Python语言中,不能作为变量名的是()。
A. student
B. bmg
C. 5sp
D. Teacher
c 【解析】在Python中,变量名的命名规则:以字母或下划线开头,后面跟字母、下划线和数字;不能以数字开头。本题选择C选项。
12、以下关于Python缩进的描述中,错误的是()。
A、缩进表达了所属关系和代码块的所属范围
B、缩进是可以嵌套的,从而形成多层缩进
C、判断、循环、函数等都能够通过缩进包含一批代码
D. Python用严格的缩进表示程序的格式框架,所有代码都需要在行前至少加一个空格
D 【解析】缩进:在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。这意味着同一层次的语句必须有相同的缩进,不是同一层次的语句不需要缩进。所以不是所有代码行前都要加空格。本题选择D选项。
13、以下代码的输出结果是()。
x= 'R\OSYOT
print(len(x))
A. 3 B.5 C.7 D.6
B 【解析】在Python中len()函数是输出字符串长度,x=R\OSSOT,分别有R,10, S、\0和T5个字符,所以len(x)-5,print(len(x))是将5打印出来。这里要注意, Python中len0函数遇见"0不结束, "0算是一个转义字符。本题选择B选项。
14、以下关于Python语言技术特点的描述中,错误的是()。
A、对于需要更高执行速度的功能,例如数值计算和动画, Python语言可以调用C语言编写的底层代码
B. Python比大部分编程语言具有更高的软件开发产量和简洁性
C. Python语言是解释执行的,因此执行速度比编译型语言慢
D. Python是脚本语言,主要用作系统编程和Web访问的开发语言
D 【解析】 Python是一种解释型高级通用脚本语言,具有通用性,可以用于几乎任何与程序设计相关应用的开发。主要应用于以下几个领域: Web开发,爬虫开发,科学计算,高性能服务器后端,开发界面程序, QT也提供了Python的支持,因为Python的开源库包含了对C/C++ lib库的调用。主要二字太过绝对,因此D选项错误。
15、以下代码的输出结果是()
x=12+ 3 * (5*8)-14)//6
print(x)
A.25.0 B.65 C.25 D.24
C 【解析】在Python中算术运算符" //"来表示整数除法,返回不大于结果的一个最大的整数,而"/"则单纯的表示浮点数除法,返回浮点结果。所以先计算5*8-40,4014-26,26*3-78,78//6-13, 12+13-25,本题选择C选项。
16、以下关于Python循环结构的描述中,错误的是()。
A, break用来结束当前当次语句,但不跳出当前的循环体
B、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range0)函数等
C, Python通过for, while等保留字构建循环结构
D, continue只结束本次循环
A 【解析】在Python中, break意为结束循环, continue是结束当前循环进入下一个循环。本题选择A选项。
17、以下构成Python循环结构的方法中,正确的是() 。
A, while B. loop C, if D, do...for
A 【解析】 Python中的循环结构有for语句和while语句。if是选择结构语句。本题选择A选项。
18、以下代码绘制的图形是()。
import turtle as t
for i in range(1,7):
t.fd(50)
t.left(60)
A.正方形B、六边形•c、三角形D、五角星
B 【解析】先用import导入turtle库, for循环依次将1-6赋给变量i,分别被依次赋值为1,2,3,4,5,6, fd0是画笔当前的前进方向, left)是画笔移动的角度,故绘制出来的是六边形。本题选择B选项。
19、以下关于Python语言的描述中,正确的是()。
A.条件4<=5<=6是合法的,输出False
B、条件4<-5<-6是不合法的
C、条件4<=5<=6是合法的,输出True
D.条件4<=5<-6是不合法的,抛出异常
c 【解析】判断条件4<=5<-6是成立的,故输出True,本题选择C选项。
20、以下代码的输出结果是()
for i in range(1,6):
if i%4 == 0:
continue
else:
print(i,end =",")
A, 1,2,3,
B, 1,2,3,4,
C, 1,2,3,5,
D.123456
c 【解析】 for循环依次将1-5赋给i,i从1,2,3,4,5依次变化,当194--0时,结束本次循环进入下一循环;反之输出i的值,故输出结果为: 1,2,3,5, 。本题选择C选项。
21、以下代码的输出结果是()。
t=10.5
def above zero(t):
return t>0
A, True B. False C, 10.5 D、没有输出
D 【解析】在Python语言中, return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return,此时函数并不返回值。return返回的是值而不是表达式,且此段语句并未调用函数,故程序无输出。本题选择D选项。
22、以下关于Python语言的描述中,正确的是()。
A、函数中return语句只能放在函数定义的最后面
B.定义函数需要使用保留字def
C、使用函数最主要的作用是复用代码
D, Python函数不可以定义在分支或循环语句的内部
B 【解析】函数定义:函数是指一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可。函数主要的作用是提高应用的模块性和代码的重复利用率。C项错误。return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。A项错误。在Python语言中,函数可以定义在分支或循环语句的内部, D项错误。Python语言通过保留字def定义函数,定义语法如下:def <函数名x(<非可选参数列表><可选参数>-<默认值>):
<函数体>return<返回值列表>·可选参数一般都放置在非可选参数的后面。本题选择B选项。
23、以下代码的输出结果是()。
def young(age):
if 25 <= age <= 30:
print("作为一个老师,你很年轻")
elif age <25:
print("作为一个老师,你太年轻了")
elif age >= 60:
print(作为一个老师,你可以退休了")
else:
print("作为一个老师,你很有爱心")
young(42)
A、作为一个老师,你很年轻
B、作为一个老师,你太年轻了"
C、作为一个老师,你可以退休了
D、作为一个老师,你很有爱心
D 【解析】将实参42传递给函数形参变量age,之后进入多分支结构,依次判断,因为30<42<60,故执行else后面的语句,即输出“作为一个老师,你很有爱心" 。本题选择D选项。
24、以下代码的输出结果是()
def fibRate(n):
if n <= 0:
return -1
elif n ==1:
return -1
elif n ==2:
return 1
else:L=[1,5]
for i in range(2,n):
L.append(L[-11+L[-2])
return L[-21%L[-1]
print(fibRate(7))
A.0.6 B.28 C.-1 D.1
B 【解析】将7传递给函数形参变量n,之后进入多分支结构,依次判断后,执行else后面的语句。
fori句为: foriin range(2,7), i从2依次变化到6,循环5次,将L[-1]+L[-2]的值通过append()方法加入到列表L中。
当i=2时, L[-1]+L[-2]-5+1-6,将6添加到列表L中,此时L=[1,5,6];
当i=3时, L[-1]+L[-2]-6+5-11,将11添加到列表L中,此时L-[1.5,6,11];
当i=4时, L[-1]+L[-2]-11-6-17,将17添加到列表L中,此时L=11,5,6,11,17];
当i=5时, L-1}-L2-1+11-28,将28添加到列表L中,此时L=[1,5,6,11,17,28];
当i=6时, L-1]-L2-2=2817-45,将45添加到列表L中,此时L=[1,5,6,11,17,28,451
最后L[-2]%L[-1]=28%45-28,故程序输出28。本题选择B选项。
25、以下关于函数返回值的描述中,正确的是()。
A, Python函数的返回值使用很灵活,可以没有返回值,可以有一个或多个返回值
B、函数定义中最多含有一个return语句
C、在函数定义中使用return语句时,至少给一个返回值
D、函数只能通过print语句和return语句给出运行结果
A 【解析】在Python语言中, return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return,此时函数并不返回值。当函数使用return返回多个值时,这些值形成了一个元组数据类型,由小括号和逗号分隔,如(a,b.c),可以使用一个变量或多个变量保存结果。本题选择A选项。
26、以下代码的输出结果是()。
def Hello(famlyName,age):
if age > 50:
print("您好! "+famlyName +"奶奶")
elif age > 40:
print("您好! "+famlyName+"阿姨")
elif age > 30
print("您好!"+famlyName+"姐姐")
else:
print("您好! "+"小"+famlyName)
Hello(age=43, famlyName="赵)
A、您好!赵奶奶
B.您好!赵阿姨
C.您好!赵姐姐
D.函数调用出错
B 【解析】将实参age-43, famlyName="赵"分别赋给形参aqe和famlyName,之后进入多分支结构进行判断,因为40<age-43<50,执行第一个elif后面的语句,用"+"进行字符串连接,故输出“您好!赵阿姨" 。本题选择B选项。
27、以下代码的输出结果是()
ls=[12,3],'python',[14,5, 'ABC'].6],[7,8]]
print(s[2][1)
A, 'ABC" B, p C、4 D,6
D 【解析】列表索引序号从0开始,所以Is[2][1]指的是列表中序号为2的元素中序号为1的元素,输出结果是6,本题选择D选项。
28、以下代码的输出结果是()
Is = ["2020", "1903", Python"]
Is.append(2050)
Is.append([2020, "2020")
print(ls)
A, [2020', '1903", 'Python', 2020, [2050, "2020]]
B.[2020, '1903, 'Python', 2020]
C. [2020, '1903', 'Python', 2050, [2020, 2020']]
D. [2020, '1903, "Python', 2050, [2020']]
C 【解析】要向列表中添加元素,可以使用append)方法,添加的元素类型可以不同,可以是数字、字符串、列表等。要注意的是append()方法不能同时添加多个元素。本题选择C选项。
29、以下代码的输出结果是()
d={}"大海"蓝色","天空":"灰色","大地":"黑色"}
print(d["大地"], d.get("天空", "黄色"))
A、黑色黑色 B.黑色灰色 C、黑色黄色 D、黑色蓝色
B 【解析】在Python中,字典是存储可变数量键值对的数据结构,通过字典类型实现映射。
字典使用大括号(建立,每个元素是一个键值对,使用方式: {<键1>:<值1>,<键22:<值2> n:<值n>},
其中,键和值通过冒号连接,不同键值对通过逗号隔开。字典具有和集合类似的性质,即键值对之间没有顺序且不能重复。
d键获取键对应的值, d.get(key,default)方法是用来返回key对应的值,如果字典中不存在该键,则返回默认值。本题选择B选项。
30、以下选项,正确的是()。
A、序列类型是一维元素向量,元素之间存在先后关系,通过序号访问
B、序列类型可以分为3类:字符串、字典和列表
C、表示单一数据的类型被称为组合数据类型
D, Python的str, dict, tuple和list类型都属于序列类型
A 【解析】序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。
Python语言中有很多数据类型是序列类型,其中比较重要的是字符串类型、列表类型和元组类型。
字典是存储可变数量键值对的数据结构,通过字典类型实现映射。
所以字典是映射类型,不是序列类型。B,D两项错误。表示不同数据的类型被称为组合数据类型, C项错误。本题选择A选项。
31、以下代码的输出结果是()。
d={}
for i in range(26):
d[chr(i+ord("A")] = chr((i+13) % 26 + ord("А"))
for c in "Python":
print(d.get(c, c), end="")
A. Plguba B. Cabugl C. Python" D.Cython
D 【解析】 ord()函数是把字符转换成对应的ASCIl码, chr0函数是ord()函数的逆运算,把ASCI1码转换成对应的字符输出,所以ord("A")为65,第一个for循环的作用是生成键值对存储在字典变量d中。例如,当i-0, dAl-N; i=1, d[B]=0 一直到i-13, dIN]-A,后面的键和值与前面的是互换位置的,如i=14, dj0l=B: i=15, d[Pl