二级单选-函数和代码复用
python二级考试试题12

Python语言是一种脚本编程语言汇编语言是直接操作计算机硬件的编程语言程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段falseFalsetrueTruedelpassnot‘500/10’500/1050<class 'float'><class 'str'>None6, 262str.replace(x,y)方法把字符串str中所有的x子串都替换成y想把一个字符串str所有的字符都大写,用str.upper()想获取字符串str的长度,用字符串处理函数str.len()设x = ’aa’ ,则执行x*3的结果是‘aaaaaa’正确答案: Cprint(str[0].upper()+str[1:])print(str[1].upper()+str[-1:1])print(str[0].upper()+str[1:-1])循环框连接点判断框遍历循环使用for <循环变量> in <循环结构>语句,其中循环结构不能是文件使用range()函数可以指定for循环的次数for i in range(5)表示循环5次,i的值是从0到4用字符串做循环结构的时候,循环的次数是字符串的长度正确答案: A11.执行以下程序,输入”93python22”,输出结果是:w = input(‘请输入数字和字母构成的字符串:’)for x in w:if '0'<= x <= '9':continueelse:w.replace(x,'')python9322python93python229322正确答案: C12.执行以下程序,输入la,输出结果是:la = 'python'try:s = eval(input('请输入整数:'))ls = s*2print(ls)except:la请输入整数pythonpythonpython正确答案: C13.执行以下程序,输入qp,输出结果是:k = 0while True:s = input('请输入q退出:')if s == 'q':k += 1continueelse:k += 2break2请输入q退出:31正确答案: A14.以下程序的输出结果是:s = 0def fun(num):try:s += numreturn sexcept:return 0return 52UnboundLocalError5函数是一种功能抽象使用函数的目的只是为了增加代码复用函数名可以是任何有效的Python标识符使用函数后,代码的维护难度降低了正确答案: B16.以下程序的输出结果是:def test( b = 2, a = 4):global zz += a * breturn zz = 10print(z, test())18 None10 18UnboundLocalError18 18正确答案: B17.以下程序的输出结果是:def hub(ss, x = 2.0,y = 4.0): ss += x * yss = 1022.0 None10 None22 None10.0 22.0正确答案: Bx = { 200, ’flg’, 20.3}x = ( 200, ’flg’, 20.3)x = [ 200, ’flg’, 20.3 ]x = {‘flg’ : 20.3}正确答案: A19.以下程序的输出结果是:ss = list(set("jzzszyj")) ss.sort()['z', 'j', 's', 'y']['j', 's', 'y', 'z']['j', 'z', 'z', 's', 'z', 'y', 'j']['j', 'j', 's', 'y', 'z', 'z', 'z']正确答案: B20.以下程序的输出结果是:ss = set("htslbht")sorted(ss)for i in ss:htslbhthlbsttsblhhhlstt正确答案: B21.已知id(ls1) = 4404896968,以下程序的输出结果是:ls1 = [1,2,3,4,5]ls2 = ls1ls3 = ls1.copy()4404896968 44048969044404896904 44048969684404896968 44048969684404896904 4404896904正确答案: A22.以下程序的输出结果是:ls =list({'shandong':200, 'hebei':300, 'beijing':400})['300','200','400']['shandong', 'hebei', 'beijing'][300,200,400]'shandong', 'hebei', 'beijing'二进制文件和文本文件的操作步骤都是“打开-操作-关闭”open() 打开文件之后,文件的内容并没有在内存中open()只能打开一个已经存在的文件文件读写之后,要调用close()才能确保文件被保存在磁盘中了正确答案: C24.以下程序输出到文件text.csv里的结果是:fo = open("text.csv",'w')x = [90,87,93]z = []for y in x:z.append(str(y))fo.write(",".join(z))[90,87,93]90,87,93‘[90,87,93]’‘90,87,93’正确答案: B25.以下程序的输出结果是:img1 = [12,34,56,78]img2 = [1,2,3,4,5]def displ():print(img1)def modi():img1 = img2modi()( [1,2,3,4,5])[12, 34, 56, 78]([12, 34, 56, 78])[1,2,3,4,5]采用列表表示一维数据,不同数据类型的元素是可以的JSON格式可以表示比二维数据还复杂的高维数据二维数据可以看成是一维数据的组合形式字典不可以表示二维以上的高维数据正确答案: D27.以下不属于Python的pip工具命令的选项是:showinstalldownload-D-L-i-F正确答案: D29.以下不是程序输出结果的选项是:import random as rls1 = [12,34,56,78]r.shuffle(ls1)[12, 78, 56, 34][56, 12, 78, 34][12, 34, 56, 78][12, 78, 34, 56]在import turtle之后就可以用circle()语句,来画一个圆圈要用from turtle import turtle来导入所有的库函数home() 函数设置当前画笔位置到原点,朝向东栈堆链表一个算法的空间复杂度大,则其时间复杂度必定小一个算法的空间复杂度大,则其时间复杂度也必定大算法的时间复杂度与空间复杂度没有直接关系随机选取测试数据在完成编码以后制定软件的测试计划取一切可能的输入数据作为测试数据辅助资源硬件资源通信资源错误推测法白箱测试法黑箱测试法安装测试法正确答案: C特定的数据模型数据无冗余专门的数据管理软件数据库是一个关系数据库是一个DBF文件数据库是一个结构化的数据集合可重用性差冗余性非持久性定义、开发、运行维护设计阶段、编程阶段、测试阶段总体设计、详细设计、编程调试判定树数据字典数据流图PAD图正确答案: C。
Python编程(二级)答案解析

Python编程(二级)答案解析正确率数据来自CPA官方统计(注:知识点最后一页附)1.答案:A(本题正确率:0.66)考核知识点:知识点11,Python中的标准函数解析:在Python中有int(整数)、float(浮点数)、bool(布尔)、complex(复数)四种数字类型。
内置的type()函数可以用来查询变量所指的对象类型。
这里的a=1.0是一个小数,也就是浮点型float2.答案:B(本题正确率:0.53)考核知识点:知识点4,Python中文件操作解析:调用f.read()会读取文件里的字符串“Saturday”。
遍历字符串会拿到里面的每一个字符。
‘S’‘a’‘t’‘u’‘r’‘d’‘a’‘y’在if的判断条件中,i=='a'如果当前字符是a,就跳过这个字母,如果条件不成立,就把这个字符打印出来。
所以最后打印出来的内容,是没有a的字符串,也就是Sturdy3.答案:B(本题正确率:0.66)考核知识点:知识11,Python中的标准函数解析:sort()函数可以用于对一个列表进行排序。
用法就是列表.sort(),默认情况下的排序规则,就是把列表里的元素,进行从小到大进行排序。
排序后的列表就是:a=[1,3,5,6,8,10]再获取列表的a[1],也就是索引1的元素,索引是从0开始,也就是拿到列表的第二个元素34.答案:D(本题正确率:0.49)考核知识点:知识点12,Python中的基本标准库解析:random.randint(-2,1)代表从-2到1取一个随机数。
也就是-2,-1,0,1四种情况abs()这个函数代表获取数字的绝对值,也就是负数会变成正数。
a=abs(random.randint(-2,1))所以,随机到的负数变成正数,a只能是,0,1,2三种情况5.答案:A(本题正确率:0.50)考核知识点:知识点5,11,Python中的模块和标准函数解析:(1,2,3)代表的是Python中的元组。
python二级考试试题67292

Python语言是一种脚本编程语言汇编语言是直接操作计算机硬件的编程语言程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段falseFalsetrueTruedelpassnot‘500/10’500/1050<class 'float'><class 'str'>None6, 262str.replace(x,y)方法把字符串str中所有的x子串都替换成y想把一个字符串str所有的字符都大写,用str.upper()想获取字符串str的长度,用字符串处理函数str.len()设x = ’aa’ ,则执行x*3的结果是‘aaaaaa’正确答案: Cprint(str[0].upper()+str[1:])print(str[1].upper()+str[-1:1])print(str[0].upper()+str[1:-1])循环框连接点判断框遍历循环使用for <循环变量> in <循环结构>语句,其中循环结构不能是文件使用range()函数可以指定for循环的次数for i in range(5)表示循环5次,i的值是从0到4用字符串做循环结构的时候,循环的次数是字符串的长度正确答案: A11.执行以下程序,输入”93python22”,输出结果是:w = input(‘请输入数字和字母构成的字符串:’)for x in w:if '0'<= x <= '9':continueelse:w.replace(x,'')python9322python93python229322正确答案: C12.执行以下程序,输入la,输出结果是:la = 'python'try:s = eval(input('请输入整数:'))ls = s*2print(ls)except:la请输入整数pythonpythonpython正确答案: C13.执行以下程序,输入qp,输出结果是:k = 0while True:s = input('请输入q退出:')if s == 'q':k += 1continueelse:k += 2break2请输入q退出:31正确答案: A14.以下程序的输出结果是:s = 0def fun(num): #s 在函数内无定义。
测验5:函数和代码复用(第5周)-单选题

测验5:函数和代码复⽤(第5周)-单选题1、以下选项不是函数作⽤的是:A、提⾼代码执⾏速度B、复⽤代码C、降低编程复杂度D、增强代码可读性解析:函数不能直接提⾼代码执⾏速度。
2、下列程序的输出结果为:def f(a,b): a=4 return a+bdef main(): a=5 b=6 print(f(a,b),a+b)main()A、 10 11B、 11 11C、 11 10D、 10 10解析:这⾥没有全局变量,都是函数局部变量的运算。
3、以下关于Python函数说法错误的是:def func(a,b):c=a**2+bb=areturn ca=10b=100c=func(a,b)+aA、执⾏该函数后,变量a的值为10B、执⾏该函数后,变量c的值为200C、该函数名称为funcD、执⾏该函数后,变量b的值为100解析:这⾥没有全局变量,请在IDLE中执⾏代码观察结果。
4、以下关于函数调⽤描述正确的是:A、函数在调⽤前不需要定义,拿来即⽤就好B、 Python内置函数调⽤前需要引⽤相应的库C、函数和调⽤只能发⽣在同⼀个⽂件中D、⾃定义函数调⽤前必须定义解析:函数调⽤前必须已经存在函数定义,否则⽆法执⾏。
Python内置函数直接使⽤,不需要引⽤任何模块。
5、以下关于模块化设计描述错误的是:A、⾼耦合度的特点是复⽤较为困难B、应尽可能合理划分功能块,功能块内部耦合度⾼C、应尽可能合理划分功能块,功能块内部耦合度低D、模块间关系尽可能简单,模块之间耦合度低解析:模块内⾼耦合、模块间低耦合。
6、以下对递归描述错误的是:A、执⾏效率⾼B、书写简单C、⼀定要有基例D、递归程序都可以有⾮递归编写⽅法解析:递归不提⾼程序执⾏效率。
任何递归程序都可以通过堆栈或队列变成⾮递归程序(这是程序的⾼级应⽤)。
7、以下关于函数说法错误的是:A、函数可以看做是⼀段具有名字的⼦程序B、函数通过函数名来调⽤C、对函数的使⽤必须了解其内部实现原理D、函数是⼀段具有特定功能的、可重⽤的语句组解析:调⽤函数不需要知道函数内部实现原理,只需要知道调⽤⽅法(即接⼝)即可。
全国计算机等级考试二级Python真题及解析(12)

全国计算机等级考试二级Python 真题及解析( 12)一、选择题1.以下关于程序设计语言的描述,错误的选项是:A Python 语言是一种脚本编程语言B汇编语言是直接操作计算机硬件的编程语言C程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段D编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序正确答案: C2.表达式 1001 == 0x3e7 的结果是:A falseB FalseC trueD True正确答案: B3.以下选项,不是 Python 保留字的选项是:A delB passC notD string正确答案: D4. 表达式 eval('500/10') 的结果是:A‘ 500/10 ’B500/10C50D50.0正确答案: D5. 15. 表达式 type(eval('45')) 的结果是:A <class 'float'>B <class 'str'>C NoneD<class 'int'>正确答案: D6. 表达式 divmod(20,3) 的结果是:A 6, 2B6C2D(6, 2)正确答案: D7.以下关于字符串类型的操作的描述,错误的是:A str.replace(x,y)方法把字符串 str 中所有的 x 子串都替换成yB 想把一个字符串str 所有的字符都大写,用str.upper()C 想获取字符串 str 的长度,用字符串处理函数str.len()D 设 x =’ aa,’则执行x*3的结果是‘ aaaaaa’正确答案: C8.设 str = 'python',想把字符串的第一个字母大写,其他字母还是小写,正确的选项是:A print(str[0].upper()+str[1:])B print(str[1].upper()+str[-1:1])C print(str[0].upper()+str[1:-1])D print(str[1].upper()+str[2:])正确答案: A9.以下选项,不属于程序流程图基本元素的是:A循环框B连接点C判断框D起始框正确答案: A10.以下关于循环结构的描述,错误的是:A 遍历循环使用 for <循环变量 > in <循环结构 >语句,其中循环结构不能是文件B 使用 range()函数可以指定 for 循环的次数C for i in range(5)表示循环 5 次, i 的值是从 0 到 4D用字符串做循环结构的时候,循环的次数是字符串的长度正确答案: A11.执行以下程序,输入” 93python22,”输出结果是:w = input( 请‘输入数字和字母构成的字符串:’)for x in w:if '0'<= x <= '9':continueelse:w.replace(x,'')print(w)A python9322B pythonC93python22D9322正确答案: C12.执行以下程序,输入la,输出结果是:la = 'python'try:s = eval(input('请输入整数: '))ls = s*2print(ls)except:print('请输入整数 ')A laB请输入整数C pythonpythonD python正确答案: C13.执行以下程序,输入 qp,输出结果是:k = 0while True:s = input('请输入 q 退出: ')if s == 'q':k += 1continueelse:k += 2breakprint(k)A2B请输入 q 退出:C3D1正确答案: A14.以下程序的输出结果是:s = 0def fun(num):try:s += numreturn sexcept:return 0return 5print(fun(2))A0B2C UnboundLocalErrorD5正确答案: A15.以下关于函数的描述,错误的是:A函数是一种功能抽象B使用函数的目的只是为了增加代码复用C函数名可以是任何有效的 Python 标识符D使用函数后,代码的维护难度降低了正确答案: B16.以下程序的输出结果是:def test( b = 2, a = 4):global zz += a * breturn zz = 10print(z, test())A 18 NoneB 10 18C UnboundLocalErrorD18 18正确答案: B17.以下程序的输出结果是:def hub(ss, x = 2.0,y = 4.0):ss+= x *y ss = 10print(ss, hub(ss, 3))A 22.0 NoneB 10 NoneC 22 NoneD 10.0 22.0正确答案: B18.以下表达式,正确定义了一个集合数据对象的是:Ax = { 200,’ flg ’ , 20.3}Bx = ( 200,’ flg ’ , 20.3)Cx = [ 200,’ flg ’ , 20.3 ]Dx = { ‘ flg ’ : 20.3}正确答案: A19.以下程序的输出结果是:ss= list(set("jzzszyj"))ss.sort()print(ss) A['z','j', 's', 'y'] B['j','s', 'y', 'z']C['j', 'z', 'z', 's', 'z', 'y', 'j']D['j', 'j', 's', 'y', 'z', 'z', 'z']正确答案: B20.以下程序的输出结果是:ss= set("htslbht")sorted(ss)for i in ss:print(i,end = '')AhtslbhtBhlbstCtsblhDhhlstt正确答案: B21.已知 id(ls1) = 4404896968,以下程序的输出结果是:ls1 = [1,2,3,4,5]ls2 = ls1ls3 = ls1.copy()print(id(ls2),id(ls3))A4404896968 4404896904B4404896904 4404896968C4404896968 4404896968D4404896904 4404896904正确答案: A22.以下程序的输出结果是:ls =list({'shandong':200, 'hebei':300, 'beijing':400})print(ls)A['300','200','400']B['shandong', 'hebei', 'beijing']C[300,200,400]D'shandong', 'hebei', 'beijing'正确答案: B23.以下关于文件的描述,错误的是:A 二进制文件和文本文件的操作步骤都是“打开-操作-关闭”B open() 打开文件之后,文件的内容并没有在内存中C open()只能打开一个已经存在的文件D文件读写之后,要调用 close()才能确保文件被保存在磁盘中了正确答案: C24.以下程序输出到文件text.csv 里的结果是:fo = open("text.csv",'w')x = [90,87,93]z = []for y in x:z.append(str(y))fo.write(",".join(z))fo.close()A[90,87,93]B90,87,93C‘ [90,87,93] ’D‘ 90,87,93 ’正确答案: B25.以下程序的输出结果是:img1 = [12,34,56,78]img2 = [1,2,3,4,5]def displ():print(img1)def modi():img1 = img2modi()displ()A( [1,2,3,4,5])B[12, 34, 56, 78]C([12, 34, 56, 78])D[1,2,3,4,5]正确答案: B26.以下关于数据维度的描述,错误的是:A采用列表表示一维数据,不同数据类型的元素是可以的BJSON 格式可以表示比二维数据还复杂的高维数据C二维数据可以看成是一维数据的组合形式D字典不可以表示二维以上的高维数据正确答案: D27.以下不属于 Python 的 pip 工具命令的选项是:A showB installC downloadD get正确答案: D28.用 Pyinstall 工具把 Python 源文件打包成一个独立的可执行文件,使用的参数是:A-DB-LC-iD-F正确答案: D29.以下不是程序输出结果的选项是:import random as rls1 = [12,34,56,78]r.shuffle(ls1)print(ls1)A [12, 78, 56, 34]B [56, 12, 78, 34]C [12, 34, 56, 78]D [12, 78, 34, 56]正确答案: C30.以下关于 turtle 库的描述,正确的是:A 在 import turtle 之后就可以用 circle() 语句,来画一个圆圈B 要用 from turtle import turtle 来导入所有的库函数C home() 函数设置当前画笔位置到原点,朝向东D seth(x) 是 setheading(x)函数的别名,让画笔向前移动x正确答案: C31.一些重要的程序语言(如 C 语言和 Pascal语言)允许过程的递归调用。
二级Python语言程序设计考试大纲(2023年版)

㊀基本要求㊀㊀1.掌握Python语言的基本语法规则㊂2.掌握不少于3个基本的Python标准库㊂3.掌握不少于3个Python第三方库,掌握获取并安装第三方库的方法㊂4.能够阅读和分析Python程序㊂5.熟练使用IDLE开发环境,能够将脚本程序转变为可执行程序㊂6.了解Python计算生态在以下方面(不限于)的主要第三方库名称:网络爬虫㊁数据分析㊁数据可视化㊁机器学习㊁Web开发等㊂㊀考试内容一㊁Python语言基本语法元素1.程序的基本语法元素:程序的格式框架㊁缩进㊁注释㊁变量㊁命名㊁保留字㊁连接符、数据类型㊁赋值语句㊁引用㊂2.基本输入输出函数:input()㊁eval()㊁print()㊂3.源程序的书写风格㊂4.Python语言的特点㊂二㊁基本数据类型1.数字类型:整数类型㊁浮点数类型和复数类型㊂2.数字类型的运算:数值运算操作符㊁数值运算函数㊂3. 真假无:True 、False 、None 。
4.字符串类型及格式化:索引㊁切片㊁基本的format()格式化方法㊂5.字符串类型的操作:字符串操作符㊁操作函数和操作方法㊂6. 类型判断合类型间转换。
7. 逻辑运算和比较运算。
三、程序的控制结构1.程序的三种控制结构㊂2.程序的分支结构:单分支结构㊁二分支结构㊁多分支结构㊂3.程序的循环结构:遍历循环㊁条件循环㊂4. 程序的循环控制:break和continue。
5.程序的异常处理:try-except及异常处理类型㊂全国计算机等级考试二级Python语言程序设计考试大纲(2023年版)四㊁函数和代码复用1.函数的定义和使用㊂2.函数的参数传递:可选参数传递㊁参数名称传递㊁函数的返回值㊂3. 变量的作用域:局部变量和全局变量㊂4. 函数递归的定义和使用。
五、组合数据类型1. 组合数据类型的基本概念。
2. 列表类型:创建、索引、切片。
3. 列表类型的操作:操作符、操作函数和操作方法。
4. 集合类型:创建。
国家二级(Python)机试历年真题试卷汇编2含答案及解析

单项选择题---为题目类型1.设元素集合为D={1,2,3,4,5,6}。
B=(D,R)为线性结构则R 是( )。
(A)R={(6,1),(5,6),(1,3),(2,4),(3,2)}(B)R={(4,5),(6,1),(5,6),(1,3),(2,4),(3,2)}(C)R={(6,1),(5,6),(1,3),(3,4),(3,2)}(D)R={(6,1),(5,6),(2,3),(2,4),(3,2)}2.对长度为8 的数组进行快速排序,最多需要的比较次数为( )。
(A)8(B)8(C) 6(D) 43.树的度为3,共有31 个结点,但没有度为1 和2 的结点。
则该树中度为3 的结点数为( )。
(A)1(B)9(C)0(D)不可能有这样的树4.设栈与队列初始状态为空。
将元素A、B、C、D、E、F、G、H 依次轮流入栈和入队,然后依次轮流出栈和退队,则输出序列为( )。
(A)A,B,C,D,H,G,F,E(B)B,G,D,E,F,C,H,A(C)D,C,B,A,E,F,G,H(D)G,B,E,D,C,F,A,H5.数据字典的作用是( )。
(A)定义流程图中各个成分的具体含义(B)定义数据流图中各个成分的具体含义(C)定义系统结构图中各个成分的具体含义(D)定义功能结构图中各个成分的具体含义6.黑盒测试技术依据的是( )。
(A)软件功能的描述(B)程序的逻辑结构(C)程序的物理结构(D)软件行为的描述7.下面描述错误的是( )。
(A)对象一定有标识(B)对象一定有属性和方法(或操作)(C)对象具有封装性(D)不同对象的同一属性一定有相同的属性值8.关系数据模型的3 个组成部分中不包括( )。
(A)数据操作(B)数据结构(C)并发控制(D)完整性规则9.学校规定一个年级的所有班配备一名辅导员,则实体班级与实体辅导员之间的联系是( )。
(A)多对多(B)多对一(C)一对多(D)一对一10.定义学生选修课程的关系模式如下:SC(S#,Sn,C#,Cn,T#,G,Cr)(其属性分别为学号、姓名、课程号、课程名、授课老师号、成绩、学分)并且一门课程可由多个教师教授,则该关系的键是( )。
面向对象数据库考试

面向对象数据库考试(答案见尾页)一、选择题1. 什么是面向对象数据库?A. 一种数据库,其数据结构以对象为单位进行组织B. 一种关系型数据库C. 一种非关系型数据库D. 一种基于Web的数据库2. 面向对象数据库与传统数据库的主要区别是什么?A. 数据模型B. 存储机制C. 操作语言D. 应用领域3. 在面向对象数据库中,什么是类?A. 一种数据类型B. 一种对象C. 一种属性D. 一种方法4. 面向对象数据库中的继承是如何实现的?A. 封装B. 多态C. 继承D. 抽象5. 在面向对象数据库中,什么是多态?A. 一种数据类型B. 一种对象C. 一种属性D. 一种方法6. 面向对象数据库中的封装是什么意思?A. 将数据隐藏在对象内部B. 将数据暴露给外部使用C. 一种数据类型D. 一种对象7. 面向对象数据库中的抽象是什么?A. 一种数据类型B. 一种对象C. 一种属性D. 一种方法8. 在面向对象数据库中,什么是关联?A. 两个对象之间的直接联系B. 两个对象之间的间接联系C. 一种数据类型D. 一种对象9. 面向对象数据库中的枚举是一种什么类型的对象?A. 数据类型B. 对象C. 属性D. 方法10. 在面向对象数据库中,什么是序列化?A. 一种数据类型B. 一种对象C. 一种属性D. 一种方法11. 面向对象数据库(OODB)与关系型数据库的主要区别是什么?A. OODB支持多种数据类型B. OODB具有更好的数据完整性C. OODB使用面向对象的查询语言(OQL)D. OODB更适合于处理大量复杂数据12. 在面向对象数据库中,什么是类和实例?A. 类是对一组具有相同属性的对象的抽象描述B. 实例是类的具体实现C. 类和实例共同定义了对象的行为D. 类是对象的蓝图,实例是根据蓝图创建的13. 在面向对象数据库中,什么是封装?A. 将数据隐藏在对象内部B. 将数据转换为公共APIC. 将数据与操作数据的代码捆绑在一起D. 将数据与对象的状态分开14. 面向对象数据库中的多态性是什么意思?A. 不同的类可以共享接口B. 同一个接口可以被不同的对象以不同的方式实现C. 对象可以继承多个接口D. 对象可以拥有自己的数据15. 在面向对象数据库中,什么是多线程?A. 同一进程内的多个线程B. 数据库中的多个用户同时进行的操作C. 数据库管理系统的一个特性D. 以上都不是16. 面向对象数据库中的关联关系有哪些类型?A. 一对一关联B. 一对多关联C. 多对多关联D. 依赖关系17. 在面向对象数据库中,什么是抽象类?A. 包含所有字段的类B. 包含所有方法的类C. 包含部分字段和方法的类D. 用于定义接口的类18. 面向对象数据库中的持久化是指什么?A. 将数据存储在磁盘上B. 将数据存储在内存中C. 将数据转换为可存储的形式D. 将数据与对象的状态分开19. 在面向对象数据库中,什么是集合?A. 一种数据结构,用于存储同类对象B. 一种数据结构,用于存储不同类型的对象C. 一种数据结构,用于存储对象的引用D. 一种数据结构,用于存储对象的索引20. 在面向对象数据库中,对象之间的关系可以通过什么来定义?A. 类与类之间的关系B. 属性与属性之间的关系C. 方法与方法之间的关系D. 继承与继承之间的关系21. 面向对象数据库的体系结构通常包括哪些层次?A. 存储层B. 操作层C. 对象类层D. 对象实例层22. 面向对象数据库中,什么是封装?A. 将数据与操作数据的函数放在一起B. 将数据与操作数据的函数分别放置C. 将数据与操作数据的函数分别放置在不同的组件中D. 将数据与操作数据的函数分别放置在不同的层次中23. 面向对象数据库中的继承有哪些类型?A. 单继承B. 多继承C. 接口继承D. 抽象继承24. 在面向对象数据库中,什么是动态聚类?A. 自动根据数据内容将对象分组B. 根据查询需求动态创建新的对象类C. 根据历史数据预测未来数据的内容D. 根据历史数据预测未来数据的内容,并自动创建新的对象类25. 面向对象数据库的查询语言通常是什么?A. SQLB. OQL(Object Query Language)C. NoSQLD. DQL(Database Query Language)26. 在面向对象数据库中,什么是泛化?A. 将数据与操作数据的函数放在一起B. 将数据与操作数据的函数分别放置C. 将数据与操作数据的函数分别放置在不同的组件中D. 将数据与操作数据的函数分别放置在不同的层次中27. 面向对象数据库中的多态性如何实现?A. 继承B. 封装C. 抽象D. 多态性28. 什么是面向对象数据库中的关联?A. 数据之间的直接联系B. 数据之间的间接联系C. 数据之间的依赖关系D. 数据之间的平等关系29. 在面向对象数据库中,什么是聚合?A. 数据对象之间的组合B. 数据对象之间的聚集C. 数据对象之间的关联D. 数据对象之间的依赖关系30. 面向对象数据库中的继承有几种类型?A. 一级继承B. 二级继承C. 三级继承D. 四级继承31. 在面向对象数据库中,什么是抽象数据类型(ADT)?A. 一种数据库的数据模型B. 一种数据库的操作接口C. 一种数据库的数据结构D. 一种数据库的数据访问方法32. 什么是面向对象数据库的四层模式结构?A. 表模式、用户模式、存储模式和概念模式B. 表模式、用户模式、局部模式和全局模式C. 表模式、视图模式、存储模式和概念模式D. 表模式、用户模式、全局模式和存储模式33. 在面向对象数据库中,什么是对象类?A. 数据对象的抽象B. 数据对象的实例C. 数据对象的组织D. 数据对象的定义34. 什么是继承在面向对象数据库中的含义?A. 子类可以继承父类的属性和方法B. 子类可以覆盖父类的属性和方法C. 子类可以添加新的属性和方法D. 子类可以限制父类的属性和方法35. 什么是泛型在面向对象数据库中的用途?A. 为了增加数据库的灵活性B. 为了增加数据库的可扩展性C. 为了增加数据库的性能D. 为了增加数据库的复杂性36. 什么是聚合在面向对象数据库中的含义?A. 两个或多个对象之间的直接联系B. 两个或多个对象之间的间接联系C. 两个或多个对象之间的弱联系D. 两个或多个对象之间的强联系37. 在面向对象数据库中,什么是动态绑定?A. 在运行时确定对象的方法调用B. 在编译时确定对象的方法调用C. 在运行时确定对象的数据成员访问D. 在编译时确定对象的数据成员访问38. 什么是反射在面向对象数据库中的用途?A. 为了增加数据库的灵活性B. 为了增加数据库的可扩展性C. 为了增加数据库的性能D. 为了增加数据库的复杂性二、问答题1. 什么是面向对象数据库?2. 面向对象数据库与传统数据库的区别是什么?3. 如何实现面向对象数据库中的对象持久化?4. 面向对象数据库的优势和劣势是什么?5. 什么是对象关系数据库?它与面向对象数据库有什么区别?6. 什么是数据库事务?它为什么重要?7. 什么是数据库索引?它有什么作用?8. 什么是数据库备份和恢复?它为什么重要?参考答案选择题:1. A2. A3. B4. C5. D6. A7. D8. A9. A 10. B11. C 12. A 13. A 14. B 15. A 16. ABCD 17. D 18. C 19. A 20. D21. ACD 22. A 23. ABCD 24. B 25. B 26. C 27. D 28. A 29. B 30. A31. B 32. A 33. A 34. A 35. A 36. A 37. A 38. A问答题:1. 什么是面向对象数据库?面向对象数据库(Object-Oriented Database,简称OODB)是一种采用面向对象方法论和关系模型相结合的数据库管理系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1关于递归函数的描述,以下选项中正确的是A 函数内部包含对本函数的再次调用B 函数比较复杂C 包含一个循环结构D 函数名称作为返回值正确答案:A2关于递归函数基例的说明,以下选项中错误的是A 递归函数必须有基例B 每个递归函数都只能有一个基例C 递归函数的基例决定递归的深度D 递归函数的基例不再进行递归正确答案:B3以下选项中,不属于函数的作用的是A 复用代码B 提高代码执行速度C 降低编程复杂度D 增强代码可读性正确答案:B4假设函数中不包括global保留字,对于改变参数值的方法,以下选项中错误的是A 参数是整数类型时,不改变原参数的值B 参数是组合类型(可变对象)时,改变原参数的值C 参数是列表类型时,改变原参数的值D 参数的值是否改变与函数中对变量的操作有关,与参数类型无关正确答案:D5在Python中,关于函数的描述,以下选项中正确的是.A Python函数定义中没有对参数指定类型,这说明,参数在函数中可以当作任意类型使用B 函数eval()可以用于数值表达式求值,例如eval("2*3+1")C 一个函数中只允许有一条return语句D Python中,def和return是函数必须使用的保留字正确答案:B6给出如下代码:def func(a,b):c=a**2+bb=areturn ca=10b=100c=func(a,b)+a以下选项中描述错误的是A 执行该函数后,变量c的值为200B 执行该函数后,变量a的值为10C 执行该函数后,变量b的值为100D 该函数名称为func正确答案:A7在Python中,关于全局变量和局部变量,以下选项中描述不正确的是A 一个程序中的变量包含两类:全局变量和局部变量B 全局变量一般没有缩进C 全局变量在程序执行的全过程有效D 全局变量不能和局部变量重名正确答案:D8关于面向对象和面向过程编程描述,以下选项中正确的是A 面向对象编程比面向过程编程更为高级B 模块化设计就是面向对象的设计C 面向对象和面向过程是编程语言的分类依据D 所有面向对象编程能实现的功能采用面向过程同样能完成正确答案:D9以下选项中,对于递归程序的描述错误的是A 书写简单B 执行效率高C 递归程序都可以有非递归编写方法D 一定要有基例正确答案:B10下面代码的输出结果是>>>f=lambda x,y:y+x>>>f(10,10)A 10,10B 10C 20D 100正确答案:C11关于形参和实参的描述,以下选项中正确的是A 程序在调用时,将形参复制给函数的实参B 参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参C 函数定义中参数列表里面的参数是实际参数,简称实参D 程序在调用时,将实参复制给函数的形参正确答案:D12 关于lambda函数,以下选项中描述错误的是A 定义了一种特殊的函数B lambda不是Python的保留字C lambda函数将函数名作为函数结果返回D lambda函数也称为匿名函数正确答案:B13以下选项中,对于函数的定义错误的是A def vfunc(*a,b):B def vfunc(a,b):C def vfunc(a,b=2):D def vfunc(a,*b):正确答案:A14关于函数的参数,以下选项中描述错误的是A 可选参数可以定义在非可选参数的前面B 一个元组可以传递给带有星号的可变参数C 在定义函数时,可以设计可变数量参数,通过在参数前增加星号(*)实现D 在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认值正确答案:A15关于return语句,以下选项中描述正确的是A 函数可以没有return语句B 函数必须有一个return语句C 函数中最多只有一个return语句D return只能返回一个值正确答案:A16关于函数,以下选项中描述错误的是A Python使用del保留字定义一个函数B 使用函数的主要目的是降低编程难度和代码重用C 函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可。
D 函数是一段具有特定功能的、可重用的语句组正确答案:A17关于Python的全局变量和局部变量,以下选项中描述错误的是A 简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放B 全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效C 局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用D 使用global保留字声明简单数据类型变量后,该变量作为全局变量使用正确答案:C18关于Python的lambda函数,以下选项中描述错误的是A lambda函数将函数名作为函数结果返回B 可以使用lambda函数定义列表的排序原则C lambda用于定义简单的、能够在一行内表示的函数D f = lambda x,y:x+y 执行后,f的类型为数字类型正确答案:D19下面代码实现的功能描述为def fact(n):if n==0:return 1else:return n*fact(n-1)num =eval(input("请输入一个整数:"))print(fact(abs(int(num))))A 接受用户输入的整数N,判断N是否是水仙花数B 接受用户输入的整数N,判断N是否是完数并输出结论C 接受用户输入的整数N,判断N是否是素数并输出结论D 接受用户输入的整数N,输出N的阶乘值正确答案:D20给出如下代码:def fact(n):s = 1for i in range(1,n+1):s *= ireturn s以下选项中描述错误的是A fact(n)函数功能为求n的阶乘B 代码中n是可选参数C range()函数是Python内置函数D s是局部变量正确答案:B21给出如下代码:ls = ["car","truck"]def funC(a):ls.append(a)returnfunC("bus")print(ls)以下选项中描述错误的是A ls.append(a) 代码中的ls是列表类型B 执行代码输出结果为['car', 'truck']C ls.append(a) 代码中的ls是全局变量D funC(a)中的a为非可选参数正确答案:B22给出如下代码:ls = ["car","truck"]def funC(a):ls =[]ls.append(a)returnfunC("bus")print(ls)以下选项中描述错误的是A 执行代码输出结果为['car', 'truck']B 执行代码输出结果为['car', 'truck', 'bus']C ls.append(a) 代码中的ls是列表类型D 代码函数定义中,ls.append(a)中的ls是局部变量正确答案:B23给出如下代码:import turtledef drawLine(draw):turtle.pendown() if draw else turtle.penup()turtle.fd(50)turtle.right(90)drawLine(True)drawLine(True)drawLine(True)drawLine(True)以下选项中描述错误的是A 代码drawLine(True)中True替换为–1,运行代码结果不变B 代码def drawLine(draw)中的draw可取值True或者FalseC 运行代码,在Python Turtle Graphics 中,绘制一个正方形D 代码drawLine(True)中True替换为0,运行代码结果不变正确答案:D24给出如下代码:import turtledef drawLine(draw):turtle.pendown() if draw else turtle.penup()turtle.fd(50)turtle.right(90)drawLine(True)drawLine(0)drawLine(True)drawLine(True)turtle.left(90)drawLine(0)drawLine(True)drawLine(True)以下选项中描述错误的是:A 代码drawLine(True)中True替换为0,运行代码结果不变B 代码def drawLine(draw)中的draw可取数值0、1、–1等C 代码drawLine(True)中True替换为–1,运行代码结果不变D 运行代码,在Python Turtle Graphics 中,绘制一个数码管数字2 正确答案:A25下面代码的运行结果是def func(num):num += 1a =10func(a)print(a)A 11B intC 10D 出错正确答案:C26下面代码的输出结果是def func(a,b):return a>>bs = func(5,2)print(s)A 6B 1C 12D 20正确答案:B27下面代码的输出结果是def func(a,b):a *= breturn as = func(5,2)print(s)A 10B 1C 12D 20正确答案:A28下面代码的输出结果是def f2(a):if a > 33:return Trueli = [11, 22, 33, 44, 55] res = filter(f2, li)print(list(res))A [22,33,44]B [11,33,55]C [44,55]D [33,44,55]正确答案:C29下面代码的输出结果是def fib(n):a,b = 1,1for i in range(n-1):a,b = b,a+breturn aprint (fib(7))A 8B 21C 13D 5正确答案:C30下面代码的输出结果是def hello_world():print('ST',end="*")def three_hellos():for i in range(3):hello_world()three_hellos()A ST*B ST*ST*ST*C ***D ST*ST*正确答案:B31下面代码的输出结果是def exchange(a,b):a,b = b,areturn (a,b)x = 10y = 20x,y = exchange(x,y)print(x,y)A 10 10B 20 20C 20 10D 20,10正确答案:C32下面代码的输出结果是MA = lambda x,y : (x > y) * x + (x < y) * y MI = lambda x,y : (x > y) * y + (x < y) * xa = 10b = 20print(MA(a,b))print(MI(a,b))A2010B1020C1010D2020正确答案:A33关于下面的代码,以下选项中描述正确的是>>> list(range(0,10,2))A 按位置参数调用B 执行结果为0, 2, 4, 6, 8C 按关键字参数调用D 按可变参数调用正确答案:A34关于下面代码,以下选项中描述正确的是def fact(n, m=1) :s = 1for i in range(1, n+1):s *= ireturn s//mprint(fact(m=5,n=10))A 按可变参数调用B 按位置参数调用C 执行结果为10886400D 参数按照名称传递正确答案:D35关于函数的返回值,以下选项中描述错误的是A 函数可以有return,也可以没有B 函数可以返回0个或多个结果C 函数必须有返回值D return可以传递0个返回值,也可以传递任意多个返回值正确答案:C36关于函数局部变量和全局变量的使用规则,以下选项中描述错误的是A return不可以传递任意多个函数局部变量返回值B 对于基本数据类型的变量,无论是否重名,局部变量与全局变量不同C 可以通过global保留字在函数内部声明全局变量D 对于组合数据类型的变量,如果局部变量未真实创建,则是全局变量正确答案:A37关于函数,以下选项中描述错误的是A 函数在需要时被调用,其代码被执行B 函数主要通过接口(interface)与外界通信,传递信息C 函数使用时需要了解函数内部实现细节D 函数:具有特定功能的可重用代码片段,实现解决某个特定问题的算法正确答案:C38关于函数的目的与意义,以下选项中描述错误的是A 函数能调用未实现的函数B 有助于采用分而治之的策略编写大型复杂程序C 程序功能抽象,以支持代码重用D 使用时无须了解函数内部实现细节正确答案:A39关于函数,以下选项中描述错误的是A 一条函数定义定义一个用户自定义函数对象B 函数名称不可赋给其他变量C 函数定义语句可执行D 函数也是数据正确答案:B40关于函数的参数传递(parameter passing),以下选项中描述错误的是A 函数调用时,需要将形式参数传递给实际参数B 形式参数是函数定义时提供的参数C Python参数传递时不构造新数据对象,而是让形式参数和实际参数共享同一对象D 实际参数是函数调用时提供的参数正确答案:A41关于函数的关键字参数使用限制,以下选项中描述错误的是A 不得重复提供实际参数B 关键字参数必须位于位置参数之后C 关键字参数必须位于位置参数之前D 关键字参数顺序无限制正确答案:C42下面代码的输出结果是a = 4a ^= 3b = a ^ 2print(a,end=",")print(b)A 4,3B 5,7C 64, 4096D 7,5正确答案:D43执行下面代码,错误的是def f(x, y = 0, z = 0): pass # 空语句,定义空函数体A f(1, 2)B f(1, 2, 3)C f(1)D f(1, , 3)正确答案:D44执行下面代码,错误的是def f(x, y = 0, z = 0): pass # 空语句,定义空函数体A f(1, z = 3)B f(z = 3, x = 1, y = 2)C f(1, y = 2, z = 3)D f(1, x = 1, z = 3)正确答案:D45执行下面的代码,以下选项中正确的是def f(x, y = 0, z = 0): pass # 空语句,定义空函数体A f(1, y = 2, t = 3)B f(x = 1, y = 2, z = 3)C f(x = 1, 2)D f(1, x = 1, z = 3)正确答案:B46关于嵌套函数,以下选项中描述错误的是A 嵌套函数是在函数内部定义函数Bdef f():print("Outer function f")def g():print("Inner function g")g()f.g()Cdef f():print("Outer function f")def g():print("Inner function g")g()f()D 内层函数仅供外层函数调用,外层函数之外不得调用正确答案:B47下面代码的执行结果是>>> def area(r, pi = 3.14159):return pi * r *r>>> area(pi = 3.14, r = 4)A 出错B 无输出C 50.24D 39.4384正确答案:C48下面代码的执行结果是>>> def area(r, pi = 3.14159):return pi * r * r>>> area(3.14, 4)A 无输出B 出错C 50.24D 39.4384正确答案:D49下面代码的执行结果是def greeting(args1, *tupleArgs, **dictArgs): print(args1)print(tupleArgs)print(dictArgs)names = ['HTY', 'LFF', 'ZH']info = {'schoolName' : 'NJRU', 'City' : 'Nanjing'} greeting('Hello,', *names, **info)A ['HTY', 'LFF', 'ZH']B 出错C 无输出DHello,('HTY', 'LFF', 'ZH'){'schoolName': 'NJRU', 'City': 'Nanjing'}正确答案:D50下面代码的执行结果是def greeting(args1, *tupleArgs, **dictArgs): print(args1)print(tupleArgs)print(dictArgs)names = ['HTY', 'LFF', 'ZH']info = {'schoolName' : 'NJRU', 'City' : 'Nanjing'} greeting(*names,'Hello,',**info)A 出错B ['HTY', 'LFF', 'ZH']CHTY('LFF', 'ZH', 'Hello,'){'schoolName': 'NJRU', 'City': 'Nanjing'}D 无输出正确答案:C51以下代码的输出结果是>>> def f(x, y = 0, z = 0): pass>>> f(1, , 3)A notB passC NoneD 出错正确答案:D52以下代码的输出结果是def fun1(a,b,*args):print(a)print(b)print(args)fun1(1,2,3,4,5,6)A12[3, 4, 5, 6]B12(3, 4, 5, 6)C1,2,3,4,5,6D123, 4, 5, 6正确答案:B53函数表达式all([1,True,True]) 的结果是:A 出错B 无输出C FalseD True正确答案:D54以下关于Python 函数对变量的作用,错误的是A 简单数据类型变量仅在函数内部创建和使用,函数退出后变量被释放B 对于组合数据类型的全局变量,如果在函数内部没有被真实创建的同名变量,则函数内部不可以直接使用并修改全局变量的值C 简单数据类型在函数内部用global保留字声明后,函数退出后该变量保留D 全局变量指在函数之外定义的变量,在程序执行全过程有效正确答案:B55关于函数的描述,错误的是.A 使用函数主要有两个目的:降低编程难度和增加代码复用。