2022年3月计算机二级python选择题在线题库4/15 题库 IT考试网 · 2021年10月14日 17:55 · 12758阅读 本套题共40道选择题,每题1分; 1.某带链栈的初始状态为 top=bottom=NULL,经过一系列正常的入栈与退栈操作后,top=10,bottom=20。该栈中的元素个数为( )。 A.10 B.不确定 C.1 D.0 B【解析】带链的栈是具有栈属性的链表。线性链表的存储单元是不连续的,为把存储空间中一些离散的空闲存储结点利用起来,把所有空闲的结点组织成一个带链的栈,称为可利用栈。线性链表执行删除操作运算时,被删除的结点可以“回收”到可利用栈,对应于可利用栈的入栈运算;线性链表执行插入运算时,需要一个新的结点,可以在可利用栈中取栈顶结点,对应于可利用栈的退栈运算。可利用栈的入栈运算和退栈运算只需要改动top指针即可。因为是不连续的存储空间,所以top指针将不会有规律地连续变化,因此无法据此判断栈中的元素个数。故本题答案为B选项。 2.设表的长度为15。则在最坏情况下,快速排序所需要的比较次数为( )。 A.15 B.55 C.105 D.75 C【解析】快速排序最坏情况下蜕化为冒泡排序,在最坏情况下,对长度为n的线性表排序,冒泡排序需要比较的次数为n(n-1)/2。本题中n=15,15×(15-1)/2=105。故本题答案为C选项。 3.设循环队列的存储空间为Q(1:100),初始状态为空。现经过一系列正常操作后,front=49,则循环队列中的元素个数为( )。 A.49 B.不确定 C.51 D.50 B【解析】循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。入队运算时,队尾指针进1(即rear+1),然后在rear指针指向的位置插入新元素。退队运算时,排头指针进1(即front+1),然后删除front指针指向的位置上的元素。只知道front的位置,不知道rear的位置,无法判断队列里有几个元素。故本题答案为B选项。 4.某完全二叉树按层次输出(同一层从左到右)的序列为ABCDEFGH。该完全二叉树的中序序列为( )。 A.ABCDEFGH B.HDEBFGCA C.ABDHECFG D.HDBEAFCG D【解析】完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。更确切地说,如果从根结点起,对二叉树的结点自上而下,自左至右用自然数进行连续编号,则深度为m且有n个结点的二叉树,当且仅当其每一个结点都与深度为m的满二叉树中编号从1到n的结点一一对应时,称之为完全二叉树。中序遍历:访问根结点在访问左子树和访问右子树两者之间。即先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左子树和右子树时,仍然首先遍历左子树,然后访问根结点,最后遍历右子树。因此,该完全二叉树的中序序列为HDBEAFCG。故本题答案为D选项。 5.下面属于整数类I的实例的是( )。 A.”229″ B.0.229 C.229E-2 D.229 D【解析】类是具有共同属性、共同方法的对象的集合。229是整数,0.229是浮点数,229E-2是指数,“229”是字符串。故本题答案为D选项。 6.某系统总体结构如下图所示该系统结构图的最大扇出数是( )。 A.3 B.5 C.2 D.1 A【解析】模块的扇出是指本模块的直属下层模块的个数。或者说是由一个模块直接调用的其他模块数。题干中某系统为一个模块,其扇出数目为3,功能2模块扇出数为3,功能3模块扇出数为2,功能2.2扇出数目为2,则该系统结构图的最大扇出数是3。故本题答案为A选项。 7.下面属于软件工程三要素的是( )。 A.方法、工具和环境 B.方法、工具和平台 C.方法、工具和过程 D.工具、平台和过程 C【解析】软件工程三要素是方法、工具和过程。故本题答案为C选项。 8.在数据库中存储的是( )。 A.数据以及数据之间的联系 B.数据模型 C.操作信息 D.数据的操作 A【解析】数据库就是存放数据的仓库,只不过数据库存放数据是按数据所提供的数据模式存放的。故本题答案为A选项。 9.将数据库的结构划分成多个层次,是为了提高数据库的( )。 A.管理规范性 B.数据处理并发性 C.逻辑独立性和物理独立性 D.数据共享 C【解析】数据库领域公认的标准结构是三级模式结构,它包括外模式、概念模式、内模式,有效地组织、管理数据,提高了数据库的逻辑独立性和物理独立性。用户级对应外模式,概念级对应概念模式,物理级对应内模式,使不同级别的用户对数据库形成不同的视图。所谓视图,就是指观察、认识和理解数据的范围、角度和方法,是数据库在用户“眼中”的反映,很显然,不同层次(级别)用户所“看到”的数据库是不相同的。故本题答案为C选项。 10.定义学生选修课程的关系模式如下: S (S#,Sn,Sd, SA)(其属性分别为学号、姓名、所在系、年龄); C(C#,Cn,P#)(其属性分别为课程号、课程名、先选课); SC(S#,C#,G)(其属性分别学号、课程号和成绩)。 检索选修了课程号为2且成绩不及格的学生的姓名的表达式是( )。 A. B. C. D. A【解析】π表示投影运算,针对属性;σ表示选择运算,针对元组;∧为关系交;∞表示自然连接。首先在SC表中选择课程号为2且成绩不及格的记录σC#=2∧G<60 (SC),并找出这些记录中学生的学号πS#(σC#=2∧G<60 (SC));将检索结果与表S进行自然连接生成中间表πS#(σC#=2∧G<60 (SC))∞S,最后在中间表中检索学生的姓名πSn(πS#(σC#=2∧G<60 (SC))∞S)。故本题答案为A选项。 11.关于Python语言的描述,错误的选项是( )。 A.是一种机器语言 B.是一种解释类型的语言 C.支持面向过程 D.支持面向对象 A【解析】Python语言是一种既支持面向过程也支持面向对象的采用解释型方法执行程序的高级脚本语言。 12.执行下列选项,输出了’Hello World’的选项是( )。 A.print(“‘Hello World'”) B.print(‘”HelloWorld”‘) C.print(‘\Hello World\”) D.print(‘\”Hello World\”‘) A【解析】本题输出需要包含单引号的Hello World,所以字符串得含有单引号,A选项,输出去掉最外层双引号,剩下’Hello World’正确。B选项,输出去掉最外层单引号,剩下”HelloWorld”,不符合要求。C选项,去掉最外层单引号,剩下Hello World’,不符合要求。D选项去掉最外层单引号,剩下”Hello World”,不符合要求。 13.以下选项,不是Python保留字的选项是( )。 A.true B.None C.pass D.True 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,with,while,yield。并且Python中区分大小写。 14.表达式 34%6 的结果是( )。 A.6 B.5 C.4 D.3 C【解析】%在Python中是取余数的符号,34%6的余数是4。所以选C选项。 15.下面语句的执行结果,不可能的选项是( )。 import random print(random.uniform(1,3)) A.1.807117374321477 B.3.993002365820678 C.2.5670577649215085 D.2.764076933688729 B【解析】random模块是Python的标准库,其中的uniform方法可以生成两个参数之间的任意数字,经观察四个选项的答案,A、C和D均满足条件。所以选B选项。 16.表达式min([3,5,1,7,9])的结果是( )。 A.9 B.3 C.7 D.1 D【解析】min函数是返回参数的最小值,由题可知,最小值为1.所以选D选项。 17.下面语句的执行结果是( )。 tstr = ‘Baidu Translation is an online translation service’ print(len(tstr.split(‘a’))) A.6 B.8 C.7 D.9 C【解析】分析代码可知,本段代码的输出结果是字符串通过split()方法切割后生成的列表的长度。split()方法是将字符串通过括号内的参数字符切割,没有参数,默认以空白字符切割。本题以字符’a’切割,生成的列表为[‘B’, ‘idu Tr’, ‘nsl’, ‘tion is ‘, ‘n online tr’, ‘nsl’, ‘tion service’],经计算长度为7,所以选C选项。 18.变量sstr = ‘天使的翅膀带着我在尘世飞翔’,执行下列选项,不能输出’翅膀’的是( )。 A.print(sstr[3:-8]) B.print(sstr[3::2]) C.print(sstr[-10:-8]) D.print(sstr[3:5]) B【解析】对字符串中某个子串或区间的检索称为切片。切片的使用方式如下: >[N:M]<字符串或字符串变量 切片获取字符串从N到M(不包含M)的子字符串,其中N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。切片要求N和M都在字符串的索引区间,如果N大于等于M,则返回空字符串。如果N缺失,则默认将N设为0;如果M缺失,则默认表示到字符串结尾。选项中sstr[3:-8]=’翅膀’, sstr[3::2]=’翅带我尘飞’,sstr[-10:-8]=’翅膀’,sstr[3:5]=’翅膀’,所以选B选项。 19.若使以下程序执行结果是144, 空格处该填写的代码是( )。 x = ‘bee’ y = ” for i in x: y += str(_____) print(y) A.ord(i) – ord(‘a’) B.ord(x) – ord(‘a’) C.i-‘a’ D.chr(i) – chr(‘a’) A【解析】观察题目及代码可知y最终是字符串“144”,观察四个选项,C和D明显不成立,首先字符不能做减法运算,C选项错误;chr()函数是将数字转化为字符,D选项错误;ord()函数的参数必须为单个字符,B选项错误;A选项三次循环的ord(i) – ord(‘a’)的值分别为’1’、’4’和’4’,所以选A选项。 20.以下关于循环结构的描述,错误的是( )。 A.break语句执行时,会跳出break所在的第一层循环 B.当try中有循环结构时,循环结构中出错,会跳出循环并进入except C.for或者while与else 搭配使用的时候,循环非正常结束时会执行else D.continue语句执行时,会跳回continue所在的循环开头 C【解析】break语句会跳出break所在的最内层循环;try中的语句出错时会被捕获异常,执行except下的语句,循环也是一样,出现异常,立即跳出循环;for或者while只有正常执行这两个的循环语句结束后,才会执行else语句;continue语句会结束当前当次循环,但不跳出当前循环;所以选C选项。 21.以下关于随机运算函数库的描述,错误的是( )。 A.用random(a,b)产生一个[0.0,1.0)之间的随机小数 B.random.choice([1,2,3]) 函数返回的值有可能是3 C.random.sample(pop,k) 返回从pop类型中随机选取的k个元素构成的列表 D.Python的random库采用梅森旋转算法生成伪随机数序列 A【解析】random库的random()函数可以产生一个在[0.0,1.0)之间的随机小数,不包含1.0,并且random()函数没有参数。 22.以下代码的执行结果是( )。 x,y,z = 3,4,5 print(‘x = {1}, y ={0}, z={0}’.format(x,y,z)) A.x = 4, y =3, z=3 B.x = 4, y =4, z=3 C.x = 4, y =5, z=3 D.x = 3, y =4, z=5 A【解析】format()方法的基本使用方式如下: >{参数序号}’.format(<逗号分隔的参数>)'<模板字符串 参数可以有多个,参数序号0代表着format括号内第一个参数,依次类推。所以代码的执行结果为x = 4, y =3, z=3。 23.执行以下程序,输入60, 输出的结果是( )。 s = eval(input()) k = ‘合格’ if s >= 60 else ‘不合格’ print(s, k) A.合格 B.不合格 C.60 D.60 合格 D【解析】题目中使用的双分支结构的简单形式,将60代入程序中,s=60,然后对s的值进行判断,大于等于60就返回’合格’,否则就返回’不合格’,s=60所以满足条件,返回’合格’,则k=’合格’。最后执行print(s,k)得到的结果为: 60 合格,所以选D选项。 24.以下程序的输出结果是( )。 k = ‘fadfa’ def send(n): s = ” for i in range(-1,-len(n),-1): s += k[i] return s print(k , ‘,’ , send(k)) A.fadfa , afdaf B.fadfa , afda C.fadfa D.afdaf B【解析】程序自上而下执行,创建变量k,创建函数send(),然后打印输出,先输出了变量k,’,’,以及send(k)。将k作为参数传递给send()函数,函数执行,内部有for循环,将值代入可以知道i的值分别为-1、-2、-3和-4。所以s=”+k[-1]+k[-2]+k[-3]+k[-4]=’afda’。最后输出的结果fadfa , afda。选B选项。 25.使用Python的函数,需要的步骤不包括( )。 A.函数测试 B.函数定义 C.函数调用 D.函数执行 A【解析】使用函数需要先定义,然后调用、执行,无需测试。 26.以下程序的输出结果,可能的选项是( )。 import random def test(): x = random.randint(0,10) y = random.randint(10,20) return([x,y]) print(test()) A.(6,20) B.[11, 13] C.[6,20] D.(1, 11) C【解析】通读程序,最后输出的结果是函数的返回值[x,y],x,y是调用random模块randint()函数生成的随机数。randint()函数生成的随机数,是在两个参数范围内的随机整数,并且包含两个参数在内。A选项,两个值均满足条件,但是数据类型错误,输出的应该是列表类型;B选项,第一个值不满足条件;D选项也是如此,同时数据类型也不正确,所以选C选项。 27.以下程序的输出结果是( )。 def myf(x = 2.0,y = 4.0): global sp sp += x * y return(sp) sp = 100 print(sp, myf(4,3)) A.112 112 B.100 100 C.112 100 D.100 112 D【解析】程序自上向下执行,首先创建函数,此时函数未经过调用,无需执行,然后创建变量sp,并打印变量sp的值及函数的返回值,所以第一个值为100。函数myf参数为4和3。代入函数中,函数中使用了global关键字,诱导考生认为全局变量sp已经被修改,但是在打印过程中sp先打印,此时还未执行函数。经运算函数的返回值为112。所以选D选项。 28.以下程序的输出结果是( )。 ss = [‘e’,’h’,’b’,’s’,’l’,’p’] for i in range(len(ss)): print(max(ss),end = ‘,’) ss.remove(max(ss)) A.s,p,l, B.s,p,l,h,e,b C.s,p,l,h,e,b, D.s,p,l C【解析】遍历列表ss,当循环执行时,每次打印最大的字母,同时删除一个最大的字母,虽然列表的长度也随之变化,但是在循环之初已经将列表的长度传入了range()函数中所以,遍历次数不变。排除A、D两个选项。在循环内有print()函数,并且还含有参数end=’,’,在每次打印最大的字母后加上逗号’,’。所以选C选项。 29.以下程序的输出结果是( )。 print(len(list(‘i love python’))) A.13 B.1 C.3 D.11 A【解析】此题打印输出字符串的长度,字符串的长度还需将空格也算入在内,所以选A选项。 30.以下程序的执行结果是( )。 x = [90,87,93] y = (“Aele”, “Bob”,”lala”) z = {} for i in range(len(x)): z[x[i]]=y[i] print(z) A.{’90’: ‘Aele’, ’87’: ‘Bob’, ’93’: ‘lala’} B.{90: ‘Aele’, 87: ‘Bob’, 93: ‘lala’} C.{‘Aele’:’90’, ‘Bob’:’87’, ‘lala’:’93’} D.{‘Aele’:90, ‘Bob’:87, ‘lala’:93} B【解析】程序主要的操作是在循环内,根据x的长度控制循环,循环3次,每次分别用x的值作为z字典的键,以及y对应位置的值作为z字典的值。所以选B选项。 31.以下语句的执行结果是( )。 dic = {90: ‘Aele’, 87: ‘Bob’, 93: ‘lala’} print(dic.pop(90,-1),len(dic)) A.Aele 3 B.-1 3 C.Aele 2 D.-1 2 C【解析】字典的pop()方法,是删除第一个参数对应字典中的键值对,并返回该键值对的值。如果字典中没有第一个参数对应的键,那么就返回第二个参数。所以选C选项。 32.以下语句的执行结果是( )。 ls = [120, ‘120’, int(‘120’), 12*10] print(ls.index(120), ls.count(120)) A.0 2 B.1 3 C.2 4 D.0 3 D【解析】经计算ls=[120,’120′,120,120],列表的index()方法返回的是寻找到参数对应的索引,找到第一个即返回索引值,索引为0。count()方法是计算参数在列表当中的个数,有3个。所以选D选项。 33.以下关于文件的描述,错误的是( )。 A.以文本方式读打开一个文件,读入后能对文件进行写操作 B.以文本方式打开一个空文件,追加方式写入文件,参数用’a+’ C.打开文件的参数’+’,表示在原打开模式基础上,可以对文件进行读写 D.以文本方式写打开一个文件,不能对文件进行读操作 A【解析】采用读方式,不能对文件进行写操作,A错误;想对文件进行追加模式写入,需要使用‘a’模式,B正确;‘+’是对原打开模式的基础上增加功能,比如对读增加写功能,对写增加读功能,C正确;只以写模式打开文件,同样不可以进行读操作,D正确。 34.以下语句的执行结果是( )。 with open(‘a.txt’,’w+’) as fo: fo.write(‘hello’) fo.seek(0) print(fo.read()) A.写到文件a.txt 里一个’hello’字符串,显示在屏幕上一个’hello’字符串 B.写到文件a.txt 里一个’hello’字符串 C.出现读写异常 D.读文件的函数没有从文件里读到字符串 A【解析】分析程序,通过’w+’模式打开文件,此模式既可以写也可以读。先进行了写操作,将’hello’写入文件中,然后设置了指针位置指向为文件头,此时读取文件内容,便会读取到’hello’这个字符串,并打印输出到屏幕上。所以选A选项。 35.不能返回列表数据类型的选项是( )。 A.dict.items() B.lcut(s) C.s.split() D.range() A【解析】A选项返回的是一个将字典的键值对作为元组的,把所有的元组组合起来的items组合数据;B选项将字符串通过中文分词模块,分割后的词汇形成列表;C选项将字符串通过split()方法的参数分割,结果形成列表;D选项通过range()函数的三个参数,形成相对应的列表。所以选A选项。 36.以下关于数据维度的描述,不正确的是( )。 A.二维数据处理等同于二维列表的操作 B.要处理二维数据的每个元素,需要用循环结构处理 C.二维数据用CSV文件格式存储,得用二重循环嵌套实现 D.CSV文件里是用英文半角逗号来分隔数据元素 C【解析】C选项二维数据并不是一定要用二重循环嵌套格式存储,说法太绝对,所以C错误。其它选项皆正确。 37.以下不属于Python的内置函数的选项是( )。 A.get() B.input() C.abs() D.sum() A【解析】get()方法是字典的方法,并不属于Python的内置函数;input()基本的输入函数,abs()绝对值函数,sum()计算和的函数。所以选A选项。 38.以下选项不属于python的pip工具的功能是( )。 A.安装第三方python库 B.对第三方库进行基本的维护 C.卸载已经安装了的第三方库 D.打包python源代码 D【解析】pip工具可以安装第三方库,更新维护第三方库,卸载第三方库等等,但是不可以打包Python源代码。想要打包Python源代码可以使用PyInstaller模块。所以选D选项。 39.关于Beautifulsoup4的描述,正确的选项是( )。 A.用于解析和处理HTML和XML B.用于绘制图形 C.用于处理三维可视化 D.这个库能遍历处理HTML网页上的语法元素 A【解析】Beautifulsoup4是属于文本处理的第三方库,常用来解析和处理HTML和XML。 40.关于pandas的描述,不正确的选项是( )。 A.不能用于金融数据分析 B.是基于numpy扩展而来的第三方库 C.能够高效的进行时间序列分析 D.是用于数据分析的第三方库 A【解析】pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。所以可以用于金融数据分析。 Loading … 本文来自网络,不代表IT考试网立场,转载请注明出处:https://www.itkaoshi.net/3461.html