2022年3月计算机二级python选择题在线题库11/15 题库 IT考试网 · 2021年10月14日 17:48 · 6254阅读 本套题共40道选择题,每题1分; 1.下列叙述中正确的是()。 A.快速排序法适用于顺序存储的线性表 B.快速排序适用于链式存储的线性表 C.链式存储的线性表不可能排序 D.堆排序适用于非线性结构 A 【解析】排序可以在不同的存储结构上实现,但快速排序法适用于顺序存储的线性表,不适用于链式存储的线性表。堆排序适用于线性结构,不适用于非线性结构。 2.循环队列的存储空间为Q(1:50)。经过一系列正常的入队与退队操作后,front=rear=25。后又成功地将一个元素入队,此时队列中的元素个数为()。 A.50 B.1 C.26 D.2 B 【解析】当front=rear=25时可知队列要么为空要么队列满,题目中又成功地将一个元素入队,说明之前队列为空(为满时队列中无法入队元素),为空的队列入队一个元素后队列中元素个数为1。 3.树的度为3,且有9个度为3的结点,5个度为1的结点,但没有度为2的结点。则该树总的结点数为()。 A.32 B.14 C.33 D.19 C 【解析】在树中,树中的节点数等于树中所有节点的度之和再加1。题干中树的度为3,有9个度为3的结点,5个度为1的结点,无度为2的结点,设有n个度为0的结点,则总结点数=9×3+5×1+0×2+n×0+1=33个。 4.设栈与队列初始状态为空。首先A,B,C,D,E依次入栈,再F,G,H,I,J依次入队;然后依次出栈至栈空,再依次出队至队空。则输出序列为()。 A.F,G,H,I,J,A,B,C,D,E B.F,G,H,I,J,E,D,C,B,A C.E,D,C,B,A,J,I,H,G,F D.E,D,C,B,A,F,G,H,I,J D 【解析】栈称为“后进先出”表或“先进后出”的线性表;队列称为“先进先出”或“后进后出”的线性表。A,B,C,D,E依次入栈,则依次出栈顺序为E,D,C,B,A;F,G,H,I,J依次入队,则依次出队顺序为F,G,H,I,J。故输出顺序为E,D,C,B,A,F,G,H,I,J。 5.属于结构化程序设计原则的是( )。 A.模块化 B.可继承性 C.可封装性 D.多态性 A 【解析】结构化程序设计方法的原则包括:自顶向下、逐步求精、模块化、限制使用goto语句。B、C、D三项属于面向对象方法的特点。 6.确定软件项目是否进行开发的文档是( )。 A.需求分析规格说明书 B.可行性报告 C.软件开发计划 D.测试报告 B 【解析】可行性报告产生于软件定义阶段,用于确定软件项目是否进行开发。 7.基本路径测试是属于( )。 A.黑盒测试方法且是静态测试 B.黑盒测试方法且是动态测试 C.白盒测试方法且是动态测试 D.白盒测试方法且是静态测试 C 【解析】白盒测试法主要有逻辑覆盖、基本路径测试等。黑盒测试方法主要有等价类划分法、边界值分析法、错误推测法和因果图等。基本路径测试根据软件过程性描述中的控制流确定程序的环路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试用例对每一条独立执行路径进行测试。因此基本路径测试属于动态测试。 8.关系数据库中的键是指()。 A.关系的所有属性 B.关系的名称 C.关系的专用保留字 D.能唯一标识元组的属性或属性集合 D 【解析】在关系(二维表)中凡是能唯一标识元组的最小属性集称为该关系的键或者码。 9.商品销售的售货单和商品之间的联系是( )。 A.多对多 B.一对多 C.多对一 D.一对一 A 【解析】一张售货单可以有多种商品的记录,一种商品也可以出现在多张售货单上。因此售货单和商品之间的联系是多对多。 10.定义学生选修课程的关系模式如下: SC (S#, Sn, C#, Cn, G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分) 则对主属性部分依赖的是( )。 A.(S#,C#)→G B.S#→Sn C.(S#,C#)→S# D.(S#,C#)→C# B 【解析】关系SC中的主键是(S#,C#),但S#(学号)单独就可以决定Sn(姓名),存在着对主属性的部分依赖。 11.在Python语言中,可以作为源文件后缀名的是( )。 A.png B.pdf C.py D.ppt C 【解析】在Python语言中,源文件的扩展名(后缀名)一般使用.py。 12.以下不属于Python语言保留字的是( )。 A.goto B.False C.True D.pass A 【解析】保留字,也称关键字,是指被编程语言内部定义并保留使用的标识符。Python 3.x有35个关键字,分别为:and,as,assert,async,await,break,class,continue,def,del,elif,else,except,False,finally,for,from,global,if,import,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,while,with,yield。 13.以下代码的输出结果是( )。 print( 0.1 + 0.2 == 0.3 ) A.-1 B.True C.False D.0 C 【解析】在Python语言中,0.1+0.2=0.30000000000000004。原因是:对于十进制数,它只能表示以进制数的质因子为分母的分数。10 的质因子有 2 和 5,因此 1/2、1/4、1/5、1/8和 1/10 都可以精确表示;相反,1/3、1/6 和 1/7 都是循环小数,因为它们的分母使用了质因子 3 或者 7。二进制下(进制数为2),只有一个质因子,即2,因此只能精确表示分母质因子是2的分数。二进制中,1/2、1/4 和 1/8 都可以被精确表示,但1/5 或者 1/10 就变成了循环小数。所以,在十进制中能够精确表示的 0.1 与 0.2(1/10 与 1/5),到了计算机所使用的二进制中就变成了循环小数。当对这些循环小数进行数学运算并将二进制数据转换成人类可读的十进制数据时,会对小数尾部进行截断处理。在不同的语言中,运行0.1 + 0.2 会输出不同的结果。 14.以下关于Python字符编码的描述中,正确的是( )。 A.Python字符编码使用ASCII编码存储 B.chr(x)和ord(x)函数用于在单字符和Unicode编码值之间进行转换 C.print(chr(‘a’))输出97 D.print(ord(65))输出A B 【解析】在Python中,字符编码以Unicode编码存储。chr(x)和ord(x)函数用于在单字符和Unicode编码值之间进行转换。chr(x)函数返回Unicode编码对应的字符,ord(x)函数返回单字符x对应的Unicode编码,如chr(1010)返回’c’,ord(“和”)返回21644。因此,C、D两项错误。 15.以下代码的输出结果是( )。 a = 10.99 print(complex(a)) A.0.99 B.10.99i+j C.10.99 D.(10.99+0j) D 【解析】 a=10.99,说明实部为10.99,虚部为0,故complex(a)返回复数10.99+0j。 16.以下保留字不属于分支或循环逻辑的是( )。 A.elif B.do C.for D.while B 【解析】elif是分支逻辑保留字,for和while是循环逻辑保留字,在Python中没有do保留字。 17.在Python语言中,使用for..in..方式形成的循环不能遍历的类型是( )。 A.列表 B.复数 C.字符串 D.字典 B 【解析】在Python语言中,使用for..in..方式形成的循环能遍历的类型有字符串、文件、range()函数或组合数据类型,不能遍历复数。 18.以下关于Python语言中try语句的描述中,错误是()。 A.try用来捕捉执行代码发生的异常,处理异常后能够回到异常处继续执行 B.当执行try代码块触发异常后,会执行except后面的语句 C.一个try代码块可以对应多个处理异常的except代码块 D.try代码块不触发异常时,不会执行except后面的语句 A 【解析】Python语言使用保留字try和except进行异常处理,基本的语法格式如下: try: <语句块1> except: <语句块2> “语句块1”是正常执行的程序内容,当执行这个语句块发生异常时,则执行except保留字后面的“语句块2”,一个try代码块可以对应多个处理异常的except代码块。 19.Python语言中用来表示代码块所属关系的语法是( )。 A.花括号 B.括号 C.缩进 D.冒号 C 【解析】在Python语言中,缩进指每行语句开始前的空白区域,用来表示Python程序间的包含和层次关系。 20.以下描述错误的是( )。 A.Python语言是一门动态的解释型语言 B.当Python脚本程序发生了异常,如果不处理,运行结果不可预测 C.编程语言中的异常和错误是完全相同的概念 D.Python通过try、except等保留字提供异常处理功能 C 【解析】异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。错误是指导致系统不能按照用户意图工作的一切原因、事件。在程序设计过程中,由于某些错误的存在,致使程序无法正常运行,处理这些错误以使程序正确运行就称为错误处理。异常和错误是完全不同的概念。 21.以下关于Python函数的描述中,错误的是( )。 A.函数代码是可以重复使用的 B.每次使用函数需要提供相同的参数作为输入 C.函数通过函数名进行调用 D.函数是一段具有特定功能的语句组 B 【解析】函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。经过定义,一组语句等价于一个函数,在需要使用这组语句的地方,直接调用函数名称即可。采用参数名称传递方式不需要保持参数传递的顺序,参数之间的顺序可以任意调整,只需要对每个必要参数赋予实际值即可,每次使用函数不需要提供相同的参数作为输入。 22.函数中定义了3个参数,其中2个参数都指定了默认值,调用函数时参数个数最少是( )。 A.0 B.2 C.1 D.3 C 【解析】函数定义时的语法如下: def <函数名>(<非可选参数列表>,<可选参数>=<默认值>): <函数体> return <返回值列表>可选参数一般都放置在非可选参数的后面。题目中:函数中定义了3个参数,其中2个参数都指定了默认值,那么调用函数时参数个数最少是1个。 23.以下关于Python函数的描述中,正确的是( )。 A.函数eval()可以用于数值表达式求值,例如eval(“2*3+1”) B.Python中,def和return是函数必须使用的保留字 C.Python函数定义中没有对参数指定类型,这说明参数在函数中可以当作任意类型使用 D.一个函数中只允许有一条return语句 A 【解析】在Python语言中,return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return,此时函数并不返回值。B、D两项错误。Python函数定义中没有对参数指定类型,则函数内的默认参数是对函数的默认参数属性__defaults__的引用,C项错误。 eval()函数将去掉字符串最外侧的引号,并按照Python语句方式执行去掉引号后的字符内容,使用方式:<变量>=eval(<字符串>),其中变量用来保存对字符串内容进行Python运算的结果,故函数eval()可以用于数值表达式求值,如eval(“2*3+1”)=7。 24.关于以下代码的描述中,正确的是( )。 def func(a,b): c=a**2+b b=a return c a=10 b=2 c=func(b,a)+a A.执行该函数后,变量c的值为112 B.该函数名称为fun C.执行该函数后,变量b的值为2 D.执行该函数后,变量b的值为10 C 【解析】程序中,将实参b的值传给形参a,将实参a的值传给形参b,则在函数体中c=2**2+10=14,函数返回14,则实参c=14+10=24;形参a和b在函数结束后会自动释放,并没有影响到实参a和b的值,故实参a仍然是10,实参b仍然是2。 25.以下关于Python全局变量和局部变量的描述中,错误的是( )。 A.局部变量在使用过后立即被释放 B.全局变量一般没有缩进 C.全局变量和局部变量的命名不能相同 D.一个程序中的变量包含两类:全局变量和局部变量 C 【解析】根据程序中变量所在的位置和作用范围,变量分为局部变量和全局变量。局部变量指在函数内部定义的变量,仅在函数内部有效,且作用域也在函数内部,当函数退出时变量将不再存在。全局变量一般指在函数之外定义的变量,在程序执行全过程有效,一般没有缩进。全局变量和局部变量的命名可以相同,C项错误。 26.以下的函数定义中,错误的是( )。 A.def vfunc(s,a=1,*b): B.def vfunc(a=3,b): C.def vfunc(a,**b): D.def vfunc(a,b=2): B 【解析】函数定义时的语法如下: def <函数名>(<非可选参数列表>,<可选参数>=<默认值>): <函数体> return <返回值列表> 可选参数一般放置在非可选参数的后面。B项错误。 27.以下关于Python列表的描述中,正确的是( )。 A.列表的长度和内容都可以改变,但元素类型必须相同 B.不可以对列表进行成员运算操作、长度计算和分片 C.列表的索引是从1开始的 D.可以使用比较操作符(如>或<等)对列表进行比较 D 【解析】列表是包含0个或多个元素的有序序列,属于序列类型。列表用中括号([])表示,由于列表属于序列类型,故继承了序列类型的所有属性和方法。索引是列表的基本操作,用于获得列表中的一个元素,该操作沿用序列类型的索引方式,即正向递增序号或反向递减序号,使用中括号作为索引操作符,索引号不得超过列表的元素范围,否则将产生IndexError错误。索引下标从0开始。列表可以进行元素增加、删除、替换、查找等操作。列表没有长度限制,元素类型可以不同,能够包含其他的组合数据类型,可以使用比较操作符(如>或<等)对列表进行比较,也可以对列表进行成员运算操作、长度计算和分片。故D项正确。 28.以下关于Python字典的描述中,错误的是( )。 A.在Python中,用字典来实现映射,通过整数索引来查找其中的元素 B.在定义字典对象时,键和值用冒号连接 C.字典中的键值对之间没有顺序并且不能重复 D.字典中引用与特定键对应的值,用字典名称和中括号中包含键名的格式 A 【解析】在Python中,字典是存储可变数量键值对的数据结构,通过字典类型实现映射。字典使用大括号{ }建立,每个元素是一个键值对,使用方式:{<键1>:<值1>,<键2>:<值2>,…,<键n>:<值n>},其中,键和值通过冒号连接,不同键值对通过逗号隔开。字典具有和集合类似的性质,即键值对之间没有顺序且不能重复。通过键可以索引值,并可以通过键修改值,因此可以直接利用键值对关系索引元素。索引模式:<值>=<字典变量>[<键>]。 29.以下用来处理Python字典的方法中,正确的是( )。 A.interleave B.get C.insert D.replace B 【解析】字典的操作方法有(d代表字典变量): d.keys():返回所有键的信息。 d.values():返回所有值的信息。 d.items():返回所有的键值对。 d.get(key,default):键存在则返回相应值,否则返回默认值default。 d.pop(key,default):键存在则返回相应值,同时删除键值对,否则返回默认值default。 d.popitem():随机从字典中取出一个键值对,以元组(key,value)形式返回,同时将该键值对从字典中删除。 d.clear():删除所有键值对,清空字典。 30.以下代码的输出结果是( )。 ls = [‘book’,666,[2018,’python’,314],20] print(ls[2][1][-2]) A.n B.python C.o D.结果错误 C 【解析】列表索引序号从0开始,列表遵循正向递增索引和反向递减索引,故ls[2][1][-2]是字符o。 31.以下代码的输出结果是( )。 d = {‘food’:{‘cake’:1,’egg’:5}} print(d.get(‘ egg ‘,’no this food’)) A.egg B.1 C.food D.no this food D 【解析】根据字典的索引方式可知,d.get(‘ egg ‘,’no this food’)索引的是字典第一层,但是第一层只有键food,没有键egg,故索引不出值,输出的是“no this food ”。 32.以下代码的输出结果是( )。 a = [[1,2,3], [4,5,6], [7,8,9]] s = 0 for c in a: for j in range(3): s += c[j] print(s) A.[1, 2, 3, 4, 5, 6, 7, 8, 9] B.45 C.24 D.0 B 【解析】外层for循环是将a[0]=[1,2,3],a[1]=[4,5,6],a[2]=[7,8,9]依次赋给变量c;内层for循环将变量j从0递增到2,即累加c[1]+c[2]+c[3]的值,所以内层循环加外层循环是计算1+2+3+4+5+6+7+8+9的值,s=45。 33.以下关于Python文件打开模式的描述中,错误的是( )。 A.只读模式r B.覆盖写模式w C.追加写模式a D.创建写模式n D 【解析】文件打开模式有: r:只读模式,如果文件不存在,返回异常FileNotFoundError,默认值。 x:创建写模式,文件不存在则创建,存在则返回异常FileExistsError。 w:覆盖写模式,文件不存在则创建,存在则完全覆盖原文件。 a:追加写模式,文件不存在则创建,存在则在原文件最后追加内容。 文件打开模式中没有n,故D项错误。 34.以下关于CSV文件的描述中,正确的是( )。 A.CSV文件只能采用Unicode编码表示字符 B.CSV文件的每一行是一维数据,可以使用Python的元组类型表示 C.CSV格式是一种通用的文件格式,主要用于不同程序之间的数据交换 D.CSV文件是一个一维数据 C 【解析】CSV是一种通用的、相对简单的文件格式,最广泛的应用是在程序之间转移表格数据。CSV没有通用标准规范,使用的字符编码同样没有被指定,但ASCII是最基本的通用编码。CSV文件可以保存一维数据或二维数据,每一行是一维数据,可以使用Python的列表类型表示。 35.给定列表ls = [1, 2, 3, “1”, “2”, “3”],其元素包含两种数据类型,列表ls的数据组织维度是( )。 A.二维数据 B.一维数据 C.多维数据 D.高维数据 B 【解析】二维数据由多个一维数据构成,可以看作是一维数据的组合形式。本题中该列表中虽然包含两种数据类型,但仍然是一维数据。 36.在Python语言中,使用open()打开一个Windows操作系统D盘下的文件,路径名错误的是()。 A.D:\PythonTest\a.txt B.D:\\PythonTest\\a.txt C.D:/PythonTest/a.txt D.D:// PythonTest//a.txt A 【解析】在Python语言中,使用open()打开文件的操作过程中需要注意,由于’\’是字符串中的转义符,所以表示路径时,使用”\\”、”/”或”//”代替”\”,A项错误。 37.在Python语言中,将二维数据写入CSV文件,最可能使用的函数是( )。 A.write() B.split() C.join() D.exists() C 【解析】在Python语言中,二维列表对象输出为CSV格式文件采用遍历循环和字符串的join()方法相结合的方法。方法如下: #ls代表二维列表,此处省略 f=open(“cpi.csv”,”w”) for row in ls f.write(“,”.join(row)+”\n”) f.close() 38.以下不属于Python数据分析领域第三方库的是( )。 A.scrapy B.numpy C.pandas D.matplotlib A 【解析】在Python语言中,用于数据分析的第三方库有numpy、scipy、pandas和matplotlib。scrapy库是网络爬虫方向的第三方库。 39.在Python语言中,用来安装第三方库的工具是( )。 A.install B.pip C.PyQt5 D.pyinstaller B 【解析】在Python语言中,使用pip工具来安装和管理 Python第三方库,pip属于Python的一部分。 40.以下属于Python机器学习领域第三方库的是( )。 A.turtle B.numpy C.pygame D.mxnet D 【解析】在Python语言中,turtle库是Python重要的标准库之一,用于基本的图形绘制;numpy库属于数据分析领域;pygame库属于游戏开发领域,都不属于机器学习领域的第三方库。 Loading … 本文来自网络,不代表IT考试网立场,转载请注明出处:https://www.itkaoshi.net/3478.html