![国家二级(Python)机试模拟试卷2(共388题)_第1页](http://file4.renrendoc.com/view2/M00/3F/35/wKhkFma6tniAUyV9AAHTCpVjGVs192.jpg)
![国家二级(Python)机试模拟试卷2(共388题)_第2页](http://file4.renrendoc.com/view2/M00/3F/35/wKhkFma6tniAUyV9AAHTCpVjGVs1922.jpg)
![国家二级(Python)机试模拟试卷2(共388题)_第3页](http://file4.renrendoc.com/view2/M00/3F/35/wKhkFma6tniAUyV9AAHTCpVjGVs1923.jpg)
![国家二级(Python)机试模拟试卷2(共388题)_第4页](http://file4.renrendoc.com/view2/M00/3F/35/wKhkFma6tniAUyV9AAHTCpVjGVs1924.jpg)
![国家二级(Python)机试模拟试卷2(共388题)_第5页](http://file4.renrendoc.com/view2/M00/3F/35/wKhkFma6tniAUyV9AAHTCpVjGVs1925.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国家二级(Python)机试模拟试卷2(共9套)(共388题)国家二级(Python)机试模拟试卷第1套一、单项选择题(本题共38题,每题1.0分,共38分。)1、设线性表的长度为12。最坏情况下冒泡排序需要的比较次数为()。A、66B、78C、144D、60标准答案:A知识点解析:最坏情况下冒泡排序需要的比较次数为n(n—1)/2,本题中n=12,故需要比较66次。本题选择A选项。2、设栈与队列初始状态为空。将元素A,B,C,D,E,F,G,H依次轮流入栈和入队,然后依次轮流退队和出栈,则输出序列为()。A、G,B,E,D,C,F,A,HB、B,G,D,E,F,C,H,AC、D,C,B,A,E,F,G,HD、A,B,C,D,H,G,F,E标准答案:B知识点解析:栈是先进后出的线性表,队列是先进先出的线性表。将元素A,B,C,D,E,F,G,H依次轮流人栈和入队,这时栈中的元素为ACEG,队列中的元素为BDFH;然后依次轮流退队和出栈,即队列中B元素退队,然后栈中G元素出栈,队列中D元素退队,栈中E元素出栈,以此顺序,完成所有元素退队和出栈,则输出序列为B,G,D,E,F,C,H,A。本题选择B选项。3、树的度为3,共有29个结点,但没有度为1和2的结点。则该树中叶子结点数为()。A、OB、9C、18D、不可能有这样的树标准答案:D知识点解析:树的度为3,即树中只存在度为0、1、2、3的结点,假设叶子结点数为n,由于没有度为1和2的结点,则度为3的结点数为29一n,根据树中的结点数=树中所有结点的度之和+1,得3×(29一n)+0×1+0×2+n×0+1=29,得出的n不为整数,因此不存在这样的树。本题选择D选项。4、循环队列的存储空间为Q(0:59),初始状态为空。经过一系列正常的人队与退队操作后,from=25,rear=24。循环队列中的元素个数为()。A、1B、2C、59D、60标准答案:C知识点解析:设循环队列的存储空间为Q(1:m),初始状态为空。在循环队列运转起来后,如果rearfront>0,则队列中的元素个数为rear-front个;如果rear—front<0,则队列中的元素个数为rear—front+m。本题中front=25,rear=24,rear一front<0,则元素个数为24—25+60=59。本题选择C选项。5、下面描述正确的是()。A、软件是程序、数据与相关文档的集合B、程序就是软件C、软件既是逻辑实体又是物理实体D、软件的运行不一定对计算机系统具有依赖性标准答案:A知识点解析:计算机软件是由程序、数据及相关文档构成的完整集合,它与计算机硬件一起组成计算机系统。本题选择A选项。6、单元测试不应涉及的内容是()。A、模块的接口B、模块的执行路径C、模块的局部数据结构D、模块的出错处理功能标准答案:B知识点解析:单元测试主要针对模块的5个基本特征进行:模块接口测试,局部数据结构测试,重要的执行路径的检查,检查模块的错误处理能力,影响以上各点及其他相关点的边界条件测试。本题选择B选项。7、面向对象方法中,将数据和操作置于对象的统一体中的实现方式是()。A、结合B、抽象C、封装D、隐藏标准答案:C知识点解析:封装是指从外面看只能看到对象的外部特性,对象的内部对外是不可见的,即将数据和操作置于对象的统一体中。本题选择C选项。8、在数据库设计中,将ER图转换成关系数据模型的过程属于()。A、物理设计阶段B、需求分析阶段C、概念设计阶段D、逻辑设计阶段标准答案:D知识点解析:数据库的逻辑设计主要工作是将。ER图转换成指定RDBMS中的关系模式。本题选择D选项。9、定义学生选修课程的关系模式如下:SC(S#,Sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分)该关系可进一步规范化为()。A、S(S#,Sn,C#,Cn,Cr),SC(S#,C#,G)B、S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)C、C(C#,Cn,Cr),SC(S#,Sn,C#,G)D、S(S#,Sn),C(C#,Cn),SC(S#,C#,Cr,G)标准答案:B知识点解析:关系SC的主键为复合键(学号,课程号),但明显存在课程号→课程名,课程号→学分等,存在非主属性对主属性的部分依赖。对关系SC进行如下的分解,就可以消除对非主属性的部分依赖,满足第二范式:S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)。本题选择B选项。10、Python语言中,以下表达式结果为False的选项是()。A、”CD”<”CDFG”B、”DCBA”<”DC”C、””<”G”D、”LOVE”>”love”标准答案:B知识点解析:字符串比较规则:从第一个字符开始,位置一一对应比较编码大小;当第一个字符串全部字符和另一个字符串的前部分字符相同时,长度长的字符串为大。本题选择B选项。11、以下不是Python语言关键字的选项是()。A、classB、defC、defineD、elif标准答案:C知识点解析:保留字,也称关键字,是指被编程语言内部定义并保留使用的标识符。Python3.x版本中有35个保留字,分别为:and,as,assert,async,await,break,class,continue,def,del,elif,else,excep!,False,finally,for,from,global,if,import,in,is,lambda,None,nonlocal,not,or.pass,raise,return,True,try,while,with,yield。define不是Python语言关键字。本题选择C选项。12、以下对文件描述错误的选项是()。A、文件是一个存储在辅助存储器上的数据序列B、文本文件和二进制文件都是文件C、文件中可以包含任何数据内容D、文本文件能用二进制文件方式读入标准答案:D知识点解析:文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容。文件包括文本文件和二进制文件两种类型。文本文件和二进制文件的存储方式不同,所以文本文件不可以用二进制文件方式读入。本题选择D选项。13、ls=[2,”apple”,[42,”yellow”,”misd”],1.2],表达式ls[2][一1][2]的结果是()。A、mB、iC、sD、d标准答案:C知识点解析:列表索引正向递增索引从0开始,反向递减索引从一1开始,ls[2][一1][2]指的是列表中下标为2的元素下的下标为一1元素下的下标为2的元素,输出结果是s。本题选择C选项。14、以下选项不能改变turtle绘制方向的是()。A、turtle.open()B、turtle.left()C、turtle.fd()D、turtle.seth()标准答案:A知识点解析:turtle.fd(distance):向当前画笔方向移动distance距离,当值为负数时,表示向相反方向前进;turtle.left(angle):向左旋转angle角度;turtle.seth(to_angle):设置当前前进方向为to_angle,该角度是绝对方向角度。turtle库中不存在open()函数。本题选择A选项。15、以下选项不属于组合数据类型的是()。A、字典类型B、复数类型C、列表类型D、集合类型标准答案:B知识点解析:能够表示多个数据的类型称为组合数据类型。Python语言中最常用的组合数据类型有3大类:集合类型、序列类型(典型代表是字符串类型和列表类型)和映射类型(典型代表是字典类型)。复数类型不属于组合数据类型。本题选择B选项。16、以下关于random库的描述,错误的是()。A、random库是Python的第三方库B、通过fromrandomimport*可以引入random随机库C、设定相同种子,每次调用随机函数生成的随机数相同D、通过importrandom可以引入random随机库标准答案:A知识点解析:random库用于产生各种分布的伪随机序列,是Python的标准库,而不是Python的第三方库,本题选择A选项。17、以下关于函数定义的描述,正确的是()。A、函数必须要有返回值B、函数定义中可以定义无限多个参数C、函数定义的关键字是classD、函数定义时默认值参数是在非可选参数前面的标准答案:B知识点解析:函数定义:函数是指一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可。return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。Python语言通过保留字def定义函数,定义语法如下:def<函数名>(<非可选参数列表>,<可选参数>=<默认值>):<函数体>return<返回值列表>可选参数一般都放置在非可选参数的后面。本题选择B选项。18、以下关于函数作用的描述中,错误的是()。A、复用代码B、提高代码的执行速度C、增强代码的可读性D、降低代码编程的复杂性标准答案:B知识点解析:使用函数可以降低编程复杂性和增加代码复用,增强代码可读性。代码复用降低了代码行数和代码维护难度。本题选择B选项。19、下面关于局部变量和全局变量的描述,正确的是()。A、全局变量不可以定义在函数中B、全局变量在使用后立即被释放C、局部变量在使用后立即被释放D、局部变量不可以和全局变量的命名相同标准答案:C知识点解析:根据程序中变量所在的位置和作用范围,变量分为局部变量和全局变量。局部变量指在函数内部定义的变量,仅在函数内部有效,且作用域也在函数内部,当函数退出时变量将不再存在。全局变量一般指在函数之外定义的变量,在程序执行全过程有效。全局变量在函数内部使用时,需要提前使用保留字global声明,语法形式:global<全局变量>。使用global对全局变量声明时,该变量要与外部全局变量同名。本题选择C选项。20、以下的程序的输出结果是()。ls=[“Python”,”family”,”miss”]deffunc(a):ls.append(a)rune(”pink”)print(1s)A、[’pink’]B、[’Python’,’family’,’miss’,’pink’]C、[”Python”,”family”,”miss”]D、程序报错标准答案:B知识点解析:该程序将字符串”pink”传递给形参a,函数体中通过append()方法将a添加到列表ls中,最后输出列表,ls=[’Python’,’family’,’miss’,’pink’]。本题选择B选项。21、以下关于浮点数3.0和整数3的描述,正确的是()。A、两者使用相同的硬件执行单元B、两者使用相同的计算机指令处理方法C、两者是相同的数据类型D、两者具有相同的值标准答案:D知识点解析:浮点数3.0和整数3具有相同的值,硬件执行单元、计算机指令处理方法和数据类型均不相同。本题选择D选项。22、以下关于random.uniform(a,b)的描述,正确的是()。A、生成[a,b]之间的随机小数B、生成[a,b]之间的随机整数C、生成一个均值为a,方差为b的正态分布D、生成一个(a,b)之间的随机数标准答案:A知识点解析:random.uniform(a,b):生成一个[a,b]之间的随机小数。本题选择A选项。23、下面属于P)rthon文本处理方向的第三方库的是()。A、PILB、mayaviC、TVTKD、pdfminer标准答案:D知识点解析:mayavi和TVTK是数据可视化方向的第三方库,PIL是图像处理方面的第三方库。本题选择D选项。24、以下属于Python机器学习方向的第三方库的是()。A、randomB、SnowNLPC、TensorflowD、loso标准答案:C知识点解析:snowNLP和loso是自然语言处理方向的第三方库;random库用于产生各种分布的伪随机序列,是Python的标准库。本题选择C选项。25、下面不属于Python的标准库的是()。A、timeB、turtleC、pygameD、random标准答案:C知识点解析:pygame是Python在游戏开发方向的第三方库,不属于Python的标准库。本题选择C选项。26、以下程序的输出结果是()。sum=1foriinrange(1,11):sum+=iprint(sum)A、1B、56C、67D、56.0标准答案:B知识点解析:foriinrange(1,11)是将1,2,3,4,5,6,7,8,9,10依次赋给变量i,用变量sum累加每一次变化的i的值,最终sum=56。本题选择B选项。27、以下程序的输出结果是()。a=3.6e一1b=4.2e3print(b—a)A、4199.64B、7.8e2C、0.6e一4D、4199.064标准答案:A知识点解析:程序中b=4200,a=0.36,b—a=4199.64。本题选择A选项。28、以下程序的输出结果是()。ls=list(range(5))pdnt(ls)A、{0,1,2,3,4}B、[0,1,2,3,4]C、{1,2,3,4}D、[1,2,3,4]标准答案:B知识点解析:range()函数的语法:range(start,stop,step),作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列(注意不包含数stop),step是步进参数。一般默认start为0,步进step=1,如range(5),生成0,1,2,3,4。list()生成列表,所以最后列表ls=[0,1,2,3,4]。本题选择B选项。29、以下程序的输出结果是()。foriin”miss”:forjinrange(3):print(i,end=”)ifi==”i”:breakA、missmissmissB、mmmissssssC、mmmiiissssssD、mmmssssss标准答案:B知识点解析:外层for循环依次将字符串“miss”中的字符赋给变量i,内层for控制循环3次,注意是先执行print()再判断if条件,输出第一个“i”后,碰到if判断条件,当i==“i”时退出内层循环,所以结果为mmmissssss。本题选择B选项。30、下面程序输出的结果是()。s1,s2=”Mom”,”Dad”print(”{}loves{}”.format(s2,s1))A、DadlovesMomB、MomlovesDadC、s1lovess2D、s2lovessl标准答案:A知识点解析:f)ython语言使用.format()格式化方法,使用方式:<模板字符串>.format(<逗号分隔的参数>),其中模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用大括号({})表示,对应format()方法中逗号分隔的参数。如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应.format()方法中的不同参数。参数根据出现先后存在一个默认序号。本题选择A选项。31、以下程序的输出结果是()。a,b,c=’I’,chr(64),”you”s=a+b+Cprint(s)A、I@youB、IyouC、I4youD、Ichr(64)you标准答案:A知识点解析:程序中,chr(64)输出的是字符@,之后用”+”连接字符串,最后输出I@you。本题选择A选项。32、下面程序的输出结果是()。lisl=[1,2,[’python’]]lis2=[’loves’]lisl[1]=lis2print(lisl)A、[1is2,2,[’python’]]B、[1,[’loves’],[’python’]]C、[1,2,’python’,’loves’]D、[1,2,[’python’,’loves’]]标准答案:B知识点解析:列表索引序号从0开始,lisl[1]=lis2是将列表lis2赋值并覆盖lis1[1]位置上的元素,运算后lis1=[1,[’loves’],[’python’]]。本题选择B选项。33、下面程序的输出结果是()。L1=[4,5,6,8]print(L1.reverse())A、[8,6,5,4]B、[4,5,6,8]C、NoneD、[4,5,6,8,]标准答案:C知识点解析:reverse()方法的作用是将整个列表中的元素反转,第一个元素放在最后一个元素位置上,最后一个元素放在第一个元素位置上,第二个元素放在倒数第二个元素位置上,倒数第二个元素放在第二个元素位置上,最终列表为[8,6,5,4],但此方法本身无返回值。本题选择C选项。34、下面程序的输出结果是()。ls=[“橘子”,”芒果”,”草莓”,”西瓜”,”水蜜桃”]forkinls:print(k,end=””)A、橘子芒果草莓西瓜水蜜桃B、橘子芒果草莓西瓜水蜜桃C、西瓜D、”橘子””芒果””草莓””西瓜””水蜜桃”标准答案:B知识点解析:for循环遍历列表ls,依次把ls中的元素赋值给变量k,并使用函数print()输出各元素(格式为元素间用空格分隔)。本题选择B选项。35、以下程序的输出结果是()。try:print((3+4j)*(3—4j))except:print(”运算错误!!”)A、(25+0j)B、5C、运算错误!!D、3标准答案:A知识点解析:(3+4j)*(3—4j)是复数的乘法运算。设c1=a+bj,c2=c+dj(a、b、c、d均为实数),c1*c2=(ac—bd)+(bc+ad)j。结果是(25+0j)。本题选择A选项。36、以下程序的输出结果是()。deffun(x):try:retumx*4except:returnXprint(fun(”5”))A、20B、5555C、5D、9标准答案:B知识点解析:fun(”5”)是将字符5赋给形参x,由于5是字符类型,不是数字类型,不能进行数值运算,所以“x*4”是把字符5连续复制4次输出。本题选择B选项。37、以下关于Python列表的描述,错误的是()。A、列表元素可以被任意修改B、列表元素的数据类型要一致C、列表元素的个数不限D、列表元素可以由多个共同变量表示标准答案:B知识点解析:列表可以进行元素增加、删除、替换、查找等操作。列表没有长度限制,元素类型可以不同,能够包含其他的组合数据类型。本题选择B选项。38、以下程序的输出结果是()。s=”LOVES’’print(”{:*^13}".format(s))A、LOVESB、********LOVESC、LOVES********D、****LOVES****标准答案:D知识点解析:本题考查的是字符串输出格式化知识点,其中“{:*^13},,表示输出的字符串长度为13,居中对齐,空白处用“*”填充。最后输出的是****LOVES****,D项正确。二、基本编程题(本题共3题,每题1.0分,共3分。)39、考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为30个字符,艾特字符@填充,右对齐,带千位分隔符。如果输入正整数超过30位,则按照真实长度输出。例如:键盘输入正整数n为5201314,屏幕输出@@@@@@@@@@@@@@@5,201,314试题程序:#请在程序的______处使用一行代码或表达式替换#注意:请不要修改其他已给出代码n=eval(input(“请输入正整数:”))print(”{_______}”.format(n))标准答案:n=eval(input(”请输入正整数:”))print("{0:@>30,}"t.format(n))知识点解析:该题目主要考查python字符串的格式化方法。字符串的.format()格式化方法的使用方法如下:<模板字符串>.format(<逗号分隔的参数>)。题目的输出格式为右对齐、30个字符、@填充、千位分隔符,模板字符串的设计为{0:@>30,}或{:@>30,}。40、考生文件夹下存在一个文件PY102.py,请写代码替换横线,不修改其他代码,实现以下功能:a和b是两个列表变量,列表a为[11,3,8]已给定,键盘输入列表b,计算a中元素与b中对应元素乘积的累加和。例如:键盘输入列表b为[4,5,2],累加和为11*4+3*5+8*2=75,因此,屏幕输出计算结果为75试题程序:#请在程序的________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码a=[11,3,8]b=eval(input())#例如:[4,5,2]______foriin_______:s+=a[i]*b[i]print(s)标准答案:a=[11,3,8]b=eval(input())s=0foriinrange(3):s+=a[i]*b[i]print(s)知识点解析:本题用变量s收集两个列表中对应元素乘积的和,因此要先定义变量s。两个列表中对应元素乘积可表示为a[i]*b[i],再求和s+=a[i]*b[i];由于列表中只有3个元素,索引序号从0开始,所以for循环遍历中i的取值依次为0、1、2,因此填入range(3)。41、考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:以255为随机数种子,随机生成5个在l(含)到50(含)之间的随机数,每个随机数后跟随一个空格进行分隔,屏幕输出这5个随机数。试题程序:#请在_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码importrandom______foriinrange(_______):print(______,end=””)标准答案:importrandomrandom.seed(255)foriinrange(5):print(random.randint(1,50),end=“”)知识点解析:题目要求以255为随机数种子,seed()函数用于初始化随机数种子,因此第一空应填入:random.seed(255)。题目要求随机生成5个在1(含)到50(含)之间的随机数,因此for循环需要遍历5次,第二空应填入:5。randint(a,b)函数用于生成一个[a,b]之间的整数(包含a和b),题目要求的区间是1到50,第三空应填入:random.randint(1,50)。三、简单应用题(本题共2题,每题1.0分,共2分。)42、考生文件夹下存在一个文件PY201.py,请写代码替换横线,不修改其他代码,实现以下功能:使用turtle库的turtle.fd()函数和turtle.right()函数绘制一个边长为200,黄底黑边的五角星。效果如下图。试题程序:#请在________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码importturtleturtle.color(______,______)turtle.________foriinrange(_______):turtle.fd(_______)turtle.right(144)turtle.endl_fill()标准答案:importturtleturtle.color(’black’,’yellow’)turtle.begin_fill()foriinrange(5):turtle.fd(200)turtle.right(144)turtle.endfill()知识点解析:turtle.fd()函数是turtle.forward()函数的简写,作用是向当前方向前进的距离;turtle.fight()函数是以当前行进角度为原点,行进方向向右改变相对角度值。turtle.color()函数用来设置画笔的颜色和填充颜色。turtle.begin_fill()方法在填充图形前调用。经过分析知识五角星执行同样的操作总共有5次,所以for循环遍历的次数应该为5,range()方法的开始值和结束值是从0到4,即[0,5)。43、考生文件夹下存在一个文件PY202.py,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能:键盘输入两个大于0的整数,按要求输出这两个整数之间(不包括这两个整数)的所有素数。素数又称质数,是指除了1和它本身以外不能被其他整数整除的数。试题程序:#以下代码为提示框架#请在…处使用一行或多行代码替换#请在_______处使用一行代码替换#注意:提示框架代码可以任意修改,以完成程序功能为准lower=int(input(’输入区间最小值:’))upper=int(input(’输入区间最大值:’))fornuminrange(______,________):…标准答案:lower=int(input(’输入区间最小值:’))upper=int(input(’输入区间最大值:’))fornuminrange(lower+1,upper):ifnum>1;foriinrange(2,num);if(num%i)==0;breakelse;print(num)知识点解析:题目要求输出两个整数之间(不包括这两个整数)的所有素数,因此range()函数的参数应为lower+1和upper。for循环遍历range(lower+1,upper)返回的每个整数num,判断该数是否为素数。如果num大于1(1既不是素数也不是合数),若该数能被[2,num—1]之间任何一个整数整除,那么该数一定不是素数,否则一定是素数。四、综合应用题(本题共1题,每题1.0分,共1分。)44、考生文件夹下存在一个文件PY301.py,该文件是本题目的代码提示框架,其中代码可以任意修改。请按照源文件内部说明修改代码,实现以下功能:设计一个猜字母的程序,程序随机给出26个小写字母中的一个,答题者输入猜测的字母,若输入的不是26个小写字母之一,让用户重新输入;若字母在答案之前或之后,程序给出相应正确提示;若答错5次,则答题失败并退出游戏;若回答正确,程序输出回答次数并退出游戏。试题程序:#以下代码为提示框架#请在…处使用一行或多行代码替换#请在______处使用一行代码替换#注意:提示框架代码可以任意修改,以完成程序功能为准import_________letter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,’o’,’p’,’q’,’r’,’s’,’t’,’u’,’v’,’w’,’x’,’y’,’z’]letter=letter_list[random.______(0,25)]count=0whileTrue:…标准答案:importrandomletter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,‘h’,’i’,’j’,’k’,‘l’,’m’,’n’,’o’,’p’,’q’,’r’,’s’,’t’,’u’,’v’,’w’,’x’,’y’,’z’]letter=letter_list[random.randint(0,25)]count=0whileTrue:letter_input=input(’请输入26个小写英文字母中的任一个:’)count+=1ifletter_inputnotinletter_list:print(’请重新输入字母’)else:ifcount>=5:print(’猜测超过5次,答题失败’)breakelseifletter_input==letter:print(’恭喜你答对了,总共猜了{}次’,format(count))breakelifletter_input>letterprinr(’你输入的字母排在该字母之后’)elifletter_input<letter:print(’你输入的字母排在该字母之前’)elseprint(’未知错误’)知识点解析:随机抽取26个小写字母,需要使用Python的random库中的函数。randint(a,b)方法生成一个[a,b]之间的整数,用来随机抽取列表中的字母。根据题目要求总体分为两个方向:①输入的字符不是小写字母中的任一个字符,则输出“请重新输人字母”;②若输入的字符在列表中,则判断输入的次数是否大于5,大于5则输出“猜测超过5次,答题失败”并退出循环,在输人次数之内,对输入的字符与随机抽取的字符进行比较,即大于、小于和等于,不同的比较范围对应不同的输出。国家二级(Python)机试模拟试卷第2套一、单项选择题(本题共36题,每题1.0分,共36分。)1、一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。A、12345ABCDEB、EDCBA54321C、ABCDEl2345D、54321EDCBA标准答案:B知识点解析:栈按先进后出的原则组织数据,所以入栈最早的元素最后出栈,本题选择B选项。2、下列叙述中正确的是()。A、循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B、在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C、在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D、循环队列中元素的个数由队头指针和队尾指针共同决定标准答案:D知识点解析:循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A错误;在循环队列中需要队头指针与队尾指针来共同反映队列中元素的动态变化情况,所以选项B,C错误。本题选择D选项。3、下列叙述中正确的是()。A、顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B、顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C、顺序存储结构能存储有序表,链式存储结构不能存储有序表D、链式存储结构比顺序存储结构节省存储空间标准答案:A知识点解析:链式存储结构既可以针对线性结构也可以针对非线性结构,所以选项B,C错误。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D选项错误。本题选择A选项。4、数据流图中带有箭头的线段表示的是()。A、控制流B、事件驱动C、模块调用D、数据流标准答案:D知识点解析:数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。本题选择D选项。5、在面向对象方法中,不属于“对象”基本特点的是()。A、一致性B、分类性C、多态性D、标识唯一性标准答案:A知识点解析:对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。本题选择A选项。6、在数据管理的3个阶段中,数据共享最好的是()。A、人工管理阶段B、文件系统阶段C、数据库系统阶段D、3个阶段相同标准答案:C知识点解析:数据管理发展至今已经历了3个阶段:人工管理阶段、文件系统阶段及数据库系统阶段。最后一个阶段结构简单,使用方便,逻辑性强,物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,本题选择C选项。7、有3个关系R、S、T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。A、笛卡儿积B、交C、并D、自然连接标准答案:D知识点解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性,并且在结果中把重复的属性列去掉,所以根据T关系中的有序组可知R与S进行的是自然连接运算。本题选择D选项。8、一棵二叉树共有25个节点,其中5个是叶子节点,则度为1的节点数为()。A、16B、10C、6D、4标准答案:A知识点解析:根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1=4个,所以度为1的结点的个数是25-5-4=16个。本题选择A选项。9、在满足实体完整性约束的条件下()。A、一个关系中应该有一个或多个候选关键字B、一个关系中只能有一个候选关键字C、一个关系中必须有多个候选关键字D、一个关系中可以没有候选关键字标准答案:A知识点解析:实体完整性约束要求关系的主键中属性值不能为空值,本题选择A选项。10、在Python中,关于数据类型的描述错误的是()。A、整数的书写格式支持十进制、二进制、八进制及十六进制B、如果想知道参数的数据类型,可以使用type()函数获得C、整数、浮点数、复数及布尔值都是Python的基本数据类型D、浮点数是带有小数的数字,它存在范围的限制,如果计算结果超出上限和下限的范围不会报错,但会有warning的警告标准答案:D知识点解析:浮点数的取值范围为-10308~10308,浮点数之间的区分精度约为2.22×10-16。对于除高精度科学计算外的绝大部分运算来说,浮点数类型的数值范围和小数精度足够“可靠”,一般认为浮点数类型没有范围限制。如果计算结果超出上限和下限的范围会产生溢出错误。本题选择D选项。11、以下关于字符串的描述正确的是()。A、字符应视为长度为1或2的字符串B、字符串中的字符可进行数学运算,但进行数学运算的字符必须为数字C、在三引号字符串中可包含换行回车符等特殊的字符D、字符串可以进行切片赋值标准答案:C知识点解析:字符应视为长度为1的字符串;字符串中的字符不可以进行数学运算,如果是数字字符串需要将其转换为数值类型方可计算;字符串可进行切片,但不能赋值。本题选择C选项。12、Python提供3种基本的数字类型,它们是()。A、整数类型、二进制类型、浮点数类型B、整数类型、浮点数类型、复数类型C、整数类型、二进制类型、复数类型D、二进制类型、浮点数类型、复数类型标准答案:B知识点解析:Python中3种基本数字类型是整数类型、浮点数类型、复数类型。本题选择B选项。13、下列不属于Python合法的标识符的是()。A、use_timeB、int32C、_selfnameD、180xl标准答案:D知识点解析:Python中合法的标识符可以采用大写字母、小写字母、数字、下划线及汉字等字符及其组合进行命名,但首字母不能为数字。本题选择D选项。14、Python中定义函数的关键字是()。A、classB、defC、functionD、defun标准答案:B知识点解析:class是定义类的关键字。def是定义函数的关键字。function和defun不是关键字。本题选择B选项。15、下列关于列表的说法正确的是()。A、列表中的值可以是任何数据类型,被称为元素或项B、列表的索引是从l开始的,以此类推C、使用append()函数可以向列表的指定位置插入元素D、使用remove()函数可以从列表中删除元素,但必须知道元素在列表中的位置标准答案:A知识点解析:列表的索引是从0开始的,以此类推;使用append()函数可以向列表插入元素,但只能插入列表的末尾;使用remove(x)函数是将列表中出现的第一个x元素删除。本题选择A选项。16、以下代码的输出结果是()。forsin"PythonNice!":ifs=="i":breakprint(s,end="")A、PythonB、PythonNC、PythonNiD、PythonNice标准答案:B知识点解析:for循环遍历字符串,将字符串中的字符依次赋值给变量s,当s==i的时候,跳出该循环,输出之前变量s被赋值的字符,所以输出为PythonN。本题选择B选项。17、以下代码的输出结果是()。a=5.2b=2.5print(a//b)A、2.08B、2.1C、2D、2.0标准答案:D知识点解析://返回两个数的整数商,且返回的类型满足以下关系:①整数和浮点数混合运算时,输出结果是浮点数;②整数之间运算,结果为整数。因此,5.2//2.5=2.0。本题选择D选项。18、下面代码的输出结果是()。foriin"PYTHON":forkinrange(2):print(i,end="")ifi==’H’:breakA、PPYYTTHHOONNB、PPYYTTOONNC、PPYYTHOONND、PPYYTTH标准答案:C知识点解析:外层循环用来遍历字符串PYTHON,内层循环用来控制输出每个字符的次数。当i==’H’时,break结束内层循环,故输出结果中只有一个’H’,其他字符均为两个。本题选择C选项。19、下面代码的输出结果是()。x=10whilex:x-=1ifx%2:print(x,end=’’)else:passA、86420B、975311C、97531D、864200标准答案:C知识点解析:while条件为真时进入循环体,执行循环体中的内容。如果x的值为偶数则if条件为假,不执行任何操作,为奇数则if条件为真,输出该奇数;进入下一次循环,判断while条件,判断是否进入循环体,执行循环体中的代码。后面的操作类似,直到while条件不满足。经过一系列的运算,输出结果为97531。本题选择C选项。20、下面代码的输出结果是()。letter=[’A’,’B’,’C’,’D’,’D’,’D’]foriinletter:ifi==’D’:letter.remove(i)print(1etter)A、[‘A’,‘B’,‘C’]B、[‘A’,‘B’,‘C’,‘D’,‘D’]C、[‘A’,‘B’,‘C’,‘D’,‘D’,‘D’]D、[‘A’,‘B’,‘C’,‘D’]标准答案:D知识点解析:遍历列表lettez,当i==’D’时,执行letter.remove(i),此时列表letter=[’A’,’B’,’C’,’D’,’D’];再遍历当i==’D’,执行letter.remove(i),此时列表letter=[A’,’B’,’C’,’D’]。因为列表的元素个数随着“D”元素的删除而减小,当删除第一个“D”元素之后,列表元素的个数即变为5,for循环又是控制循环次数的,因此只遍历5次,当第二个“D”元素删除时,循环结束。本题选择D选项。21、以下关于程序的异常处理的描述中,错误的是()。A、except语句后面可以指定异常类型B、异常和错误是两个相同的意思C、带有else子句的异常处理结构,当try中的语句块正常执行结束且没有异常时执行else子句中的代码D、异常处理机制虽然可以解决程序的一些错误,但不建议过度依赖标准答案:B知识点解析:编程语言的异常和错误是两个相似但不相同的概念。异常和错误都可能引起程序执行错误而退出,它们属于程序没有考虑到的例外情况。本题选择B选项。22、下面代码的输出结果是()。>>>s=(3,)>>>type(s)A、<class‘dict’>B、<class‘tuple’>C、<class‘list’>D、<class‘set’>标准答案:B知识点解析:变量s是元组类型,type()返回的是表达式的值的类型。本题选择B选项。23、S和T是两个集合,对S&T的描述正确的是()。A、S和T的交运算,包括同时在集合S和T中的元素B、S和T的并运算,包括在集合S和T中的所有元素C、S和T的差运算,包括在集合S但不在T中的元素D、S和T的补运算,包括S和T中的几个非相同元素标准答案:A知识点解析:S&T返回一个新集合,包括同时在集合s和T中的元素。本题选择A选项。24、以下关于文件读写的描述中,错误的是()。A、对文件进行读写操作之后必须关闭文件以防文件丢失B、以追加写模式打开的文件,文件存在则在原文件最后追加内容,不存在则创建C、文件对象的seek()方法用来返回文件指针的当前位置D、文件对象的readlines()方法用来读取文件中的所有行,以每行为元素形成一个列表标准答案:C知识点解析:文件对象的seek()方法用来定位文件的读/写位置,tell()方法用来返回文件指针的当前位置。本题选择C选项。25、一个类继承另一个类,那么被继承的这个类被称为()。A、超类B、子类C、类D、继承类标准答案:A知识点解析:一个类继承另一个类,那么被继承的这个类被称为超类或者父类。本题选择A选项。26、在Python的类定义中,对函数变量的访问形式为()。A、<对象>.<变量>B、<对象>.方法(变量)C、<类名>.<变量>D、<对象>.方法(变量)标准答案:A知识点解析:访问函数的变量时,需要使用点表示法:<对象>.(变量名>。本题选择A选项。27、下面关于Python中类的继承,说法错误的是()。A、创建子类时,父类必须包含在当前文件夹且位于子类的前面B、定义子类时,必须在圆括号内指明子类所要继承的父类的名称C、如果调用的是继承的父类中的公有方法,可以在这个公有方法中访问父类中的私有属性和私有方法D、如果在子类中实现了一个公有方法,该方法也能调用继承的父类中的私有方法和私有属性标准答案:D知识点解析:在Python类的继承中,如果调用的是继承父类的公有方法,可以在公有方法中访问父类中的私有属性和私有方法;但是如果子类中实现了一个公有方法,那么这个方法是不能够调用继承父类中的私有方法和私有属性的,本题选择D选项。28、不属于Python机器学习第三方库的是()。A、PylonsB、TensorFlowC、kerasD、mxnet标准答案:A知识点解析:Pylons是基于Python的一个Web开发框架的第三方库,keras、TensorFlow及mxnet是Python机器学习领域的第三方库。本题选择A选项。29、下面哪一种导入方式是错误的?()A、importnumpyB、importndarrayfromnumpyC、fromnumpyimport*D、importnumpyasnp标准答案:B知识点解析:在Python语法中,A、C、D选项的导入方式都是正确的,而B选项这种导入方式正确的写法应该是fromnumpyimportndarray。本题选择B选项。30、下面关于Python的说法正确的是()。A、Python不支持面向对象程序设计B、Python中使用的所有函数库,都是采用Python语言编写的C、Python中的内置函数需要用关键字import来导入,而不能直接使用D、Python中如果导入了某个模块,在后面的代码中就可以使用它的所有公共函数、类及属性标准答案:D知识点解析:A选项,Python是支持面向对象程序设计的;B选项,并不是所有的函数库都是采用Python编写的,很多采用C、C++、Java等语言编写的专业库可以经过简单的接口封装供Python程序调用;C选项,Python中的内置函数可以直接使用而不需要用import来导入。本题选择D选项。31、下面代码的输出结果是()。foriinrange(0,10,2):print(i,end="")A、02468B、2468C、0246810D、246810标准答案:A知识点解析:range(start,end,step)产生的是以[start,end)为区间并且步长为step的一个序列。通过for循环遍历输出,元素之间以空格符分隔。本题选择A选项。32、下面代码的意义是()。>>>car=’BWM’>>>Id(car)A、查看变量所占的位数B、转换成布尔值C、查看变量在内存中的地址D、把变量中的元素随机排列标准答案:C知识点解析:id(x)是Python中的内置函数,用来查看变量在内存中的地址。本题选择C选项。33、以下属于Python网络爬虫框架领域的第三方库的是()。A、pandasB、grabC、xpinyinD、snowNLP标准答案:B知识点解析:A选项是Python数据分析方向的一个库,C选项是Python中一个用于把汉字转换成拼音的库,D选项是Python中用来处理中文文本的库。本题选择B选项。34、下面这条语句的输出结果是()。f=(Lambdaa="hello",b="python",c="world":a+b.split("o")[1]+c)print(f("hi"))A、hellopythonworldB、hipythworldC、hellonworldD、hinworld标准答案:D知识点解析:这是一个Python的匿名函数,是字符串连接输出的一个函数,即a+b+c的输出。该函数有3个默认值参数,在调用该函数时传入了一个实参hi,根据函数的传参要求可知参数a的值被改变,其他值不变。split()是一个字符串分隔的方法,把b根据o这个字符分隔为两个字符串,且返回的是列表类型,访问其中的元素需要用到索引访问。所以结果是hi+n+world=hinworld,本题选择D选项。35、下面关于递归函数,描述错误的是()。A、递归函数必须有一个明确的结束条件B、递归函数就是一个函数在内部调用自身C、递归效率不高,递归层次过多会导致栈溢出D、每进入更深一层的递归时,问题规模相对于前一次递归是不变的标准答案:D知识点解析:A选项正确,递归函数必须要有一个明确的结束条件作为递归的出口;B选项正是递归函数的含义,正确;C选项正确,在计算机中,函数调用是通过栈这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧,由于栈的大小不是无限的,因此递归调用的次数过多,会导致栈溢出;D选项,每当进入更深一层的递归时,问题规模会相对前一次递归减小。本题选择D选项。36、下面这段代码的输出是()。l=’abcd’deff(x,result=[’a’,’b’,’c’,’d’]):ifx:result.remove(x[-1])f(x[:-1])returnresuitprint(f(1))A、[‘a’,‘b’,‘c’,‘d’]B、[‘b’,‘c’,‘d’]C、[‘a’,‘b’,‘c’]D、[]标准答案:D知识点解析:这段代码是一个递归函数,作用是把result列表中所有与1中一致的元素删除,所以最后的结果是一个空的列表,即[]。本题选择D选项。二、基本编程题(本题共3题,每题1.0分,共3分。)37、在考生文件夹下有一个文件“PY101.py”,请按照文件里的说明,完善横线处代码,用键盘输入一个1-26的数字,对应于英文大写字母表中的索引,在屏幕上显示输出对应的英文字母。示例如下。请输入一个数字:1输出大写字母:A试题程序:#请在程序的________处使用一行代码替换#注意:请不要修改其他已给出代码s=eval(input("请输入一个数字:"))ls=[0]foriinrange(65,91):ls.append(chr(________(1)________))print("输出大写字母:{}".format(________(2)________))标准答案:s=eval(input("请输入一个数字:"))ls=[0]foriinrange(65,91):ls.append(chr(1))print("输出大写字母:{}".format(ls[s]))知识点解析:本题考查字符串的chr()函数和列表索引查找。题目要求输入一个1~26的任意数字,返回对应的大写字母,这可以借助列表来实现。将A~Z共26个大写字符通过for循环依次添加到列表ls中,由于列表的索引从0开始,因此,ls[1]对应的是大写字母A,ls[26]对应的是大写字母Z,即可实现根据输入的数字返回对应的大写字母。chr(j)函数的作用是返回Unicode值i对应的字符,Unicode值65~90对应大写字母A~Z。因此第1空填i,第2空填ls[s]。38、在考生文件夹下有一个文件“PY102.py”,请按照文件内的说明,完善代码,实现下面功能:用键盘输入一个十进制数保存在变量s中,转换为二进制数输出显示在屏幕上,示例如下。请输入一个十进制数:25转换成二进制数是:11001试题程序:#请在程序的________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码s=input("请输入一个十进制数:")num=________(1)________print("转换成二进制数是:{________(2)________}".format(________(3)________))标准答案:s=input("请输入一个十进制数:")num=int(s)print("转换成二进制数是:{:b}".format(num))知识点解析:本题考查input()函数和format()方法的使用。由于input()函数返回的结果为字符串类型,所以需要将s转换为整数类型用于计算,这可以使用int()函数,因此第1空应填入int(s)。题目要求以二进制数输出,可使用format()方法完成,对于整数类型,输出格式包括6种:b表示输出整数的二进制方式;c表示输出整数对应的Unicode字符;d表示输出整数的十进制方式;o表示输出整数的八进制方式;x表示输出整数的小写十六进制方式;x表示输出整数的大写十六进制方式。因此第2空应填入:b,第3空应填入num。39、在考生文件夹下有一个文件“PY103.py”,请按照文件内的说明,完善代码,实现下面的功能。用键盘输入一个中文字符串变量s,内部包含中文逗号(,)和句号(。)。计算字符串s中的中文词语数。示例如下。请输入一个中文字符串,包含标点符号:问君能有几多愁?恰似一江春水向东流。中文词语数:9试题程序:#请在程序的________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码import________(1)________g=input("请输入一个中文字符串,包含标点符号:")m=________(2)________print("中文词语数:{}".format(________(3)________))标准答案:importjiebas=input("请输入一个中文字符串,包含标点符号:")m=jieba.lcut(s)print("中文词语数:{}".format(len(m))知识点解析:该题考查的是jieba中文分词库的使用。jieba库是Python的第三方库,使用时需要提前导入,因此第l空填jieba。lcut()函数是最常用的一种中文分词函数,支持精确模式,返回列表类型,因此第2空应填入jieba.lcut(s)。统计中文词语数即统计列表的长度,可使用len()函数计算,因此第3空应填入len(m)。三、简单应用题(本题共2题,每题1.0分,共2分。)40、考生文件夹下存在一个文件“PY201.py”,请写代码替换横线,不修改其他代码,实现以下功能。使用turtle库中的pencolor()和fillcolor()方法为图形着色(画笔颜色为黑色,填充颜色为红色),使用setup()方法在桌面(400,400)的位置创建600像素×600像素的画布窗体,效果如下所示。试题程序#请在________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()________(1)________(’black’)________(2)________(’red’)pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()标准答案:fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()pencolor(’black’)fillcolor("red")pensize(2)beginfill()left(140)forward(111.65)curvemove()left(120)curveruove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()知识点解析:turtle库是Python的标准库,其中setup(width,height,startx,starty)用来设置画布窗体的大小和位置;pencolor()用来设置画笔的颜色;fillcolor()用来填充图形颜色。由题干给出的图形可知,画笔的颜色应为黑色,填充颜色应为红色,因此第1空应填pencolor,第2空应填fillcolor。41、考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能。输出九九乘法表。按照乘法表的格式输出九九乘法表,并将输出的结果保存在考生文件夹下,命名为“PY202.txt”。试题程序:#以下代码为提示框架#请在…处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fo=open("PY202.txt","w")…fo.close()标准答案:fo=open("PY202.txt","w")foriinrange(1,10):forjinrange(i,i+1):fo.write("{}*{}={}",format(j,i,i*j))fo.write("\n")fo.close()知识点解析:输出《九九乘法表》。首先要先查看乘法表的规律,乘法表竖向是1~9,横向的每行是从1到每行的行号,所以可以使用两个for循环遍历输出。格式可以使用format()方法控制,最后把输出的《九九乘法表》存入文件PY202.txt中。四、综合应用题(本题共1题,每题1.0分,共1分。)42、考生文件夹下存在一个文件“PY301.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请按照源文件内部说明修改代码,实现以下功能。设计一个猜字母的程序,程序随机给出26个小写字母中的一个,答题者输入猜测的字母,若输入的不是26个小写字母之一,让用户重新输入;若字母在答案之前或之后,程序给出相应正确提示;若答错5次,则答题失败并退出游戏;若回答正确,程序输出回答次数并退出游戏。试题程序:#以下代码为提示框架#请在…处使用一行或多行代码替换#请在________处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准import________letter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,’o’,’p’,’q’,’r’,’s’,’t’,’u’,’v’,’w’,’x’,’y’,’z’]letter=letter_list[random.________(0,25)]count=0whileTrue:…标准答案:importrandomletter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,’o’,’p’,’q’,’r’,’s’,’t’,’u’,’v’,’w’,’x’,’y’,’z’]letter=letter_list[random.randim(0,25)]courlt=0whileTrue:letter_input=input(’请输入26个小写英文字母中的任一个’)count+=1ifletter_inputnotinletter_list:print(’请重新输入字母’)elseifcount>5print(’猜测超过5次。答题失败’)breakifletter_inpot==letter:print(’恭喜你答对了,总共猜了{}次’.format(count))breakelifletter_input>letter:print(’你输入的字母排在该字母之后’)elifletter_input<letter:print(’你输入的字母排在该字母之前’)elifletter_input<letter:elseprint(’未知错误’)知识点解析:随机抽取26个小写字母,需要使用Python的random库中的函数。randint(a,b)函数生成一个区间为[a,b]的整数,用来随机抽取列表中的字母。根据题目要求总体分为两个方向:①输入的字符不是小写字母中的任一个字符,则输出“请重新输入字母”;②若输入的字符在列表中,则判断输入的次数是否大于5,大于5则输出“猜测超过5次,答题失败”并退出循环,在输入次数之内,对输入的字符与随机抽取的字符进行比较,即大于、小于及等于,不同的比较范围对应不同的输出。国家二级(Python)机试模拟试卷第3套一、单项选择题(本题共40题,每题1.0分,共40分。)1、下列叙述中正确的是()。A、在CPU执行一条指令的过程中至少占用一个机器周期B、在CPU执行一条指令的过程中只需要占用一个机器周期C、在CPU执行一条指令的过程中至少要占用二个机器周期D、在CPU执行一条指令的过程中只需要占二个机器周期标准答案:A知识点解析:计算机工作的过程就是取指令、分析指令、执行指令3个基本动作的重复。考虑到所有的器件中存储器的速度很慢,CPU访问一次内存所花的时间较长,因此,通常用内存中读取一个指令字的最短时间来规定CPU周期,也称为机器周期。由于指令执行时取指令必须访问存储器,所以占用一个机器周期。分析指令是由指令译码电路完成的,所占用的时间极短,无须分配一个完整的机器周期,一般是在取指周期后期(取指结束之前的很短时间内)就可以完成。指令的执行和指令中的操作数有关,比较复杂:可能不访问存储器(无操作数);访问一次存储器((单地址直接寻址等);访问两次或多次存储器等。因此,指令执行可能会是一个机器周期到几个机器周期。本题答案为A选项。2、下列关于多道程序环境下进程描述正确的是()。A、单CPU的计算机只允许执行1个进程B、单CPU的计算机允许多个进程并发执行C、多个程序可以合并成一个进程执行D、多个CPU共同执行一个程序标准答案:B知识点解析:多道程序设计技术是指允许多个程序同时进入内存并运行。即同时把多个程序放入内存,并允许它们交替在CPU中运行,多个程序可共享系统中的各种硬、软件资源。多个程序并发执行时多道程序系统的特点。本题答案为B选项。3、下列叙述中正确的是()。A、在栈中,栈顶指针的动态变化决定栈中元素的个数B、在循环队列中,队尾指针的动态变化决定队列的长度C、在循环链表中,头指针和链尾指针的动态变化决定链表的长度D、在线性链表中,头指针和链尾指针的动态变化决定链表的长度标准答案:A知识点解析:在栈中,栈顶指top动态反映了栈中元素的变化情况,A选项叙述正确。在循环队列中,队尾指针和队头指针的动态变化决定队列的长度,B选项叙述错误。在链式存储结构中,无论是循环链表还是线性链表,插入和删除元素时,只需要改变相应位置的结点指针即可,头指针和尾指针无法确定链表的长度,C、D选项叙述错误。本题答案为A选项。4、某带链的队列初始状态为front=rear=NULL。经过一系列正常的入队与退队操作后,front=10,rear=5。该队列中的元素个数为()。A、4B、5C、6D、不确定标准答案:D知识点解析:带链的队列是采用链式存储结构表示的队列。链式存储的存储单元是不连续的,因为是不连续的存储空间,所以指针将不会有规律地连续变化。当front=rear=NULL时,队为空;当front=rear且不等于NULL时,队列中存在一个元素,其他情况无法判断。本题答案为D选项。5、设二叉树中有20个叶子结点,5个度为1的结点,则该二叉树中总的结点数为()。A、45B、46C、44D、不可能有这样的二叉树标准答案:C知识点解析:对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。叶子结点个数为20,则度为2的结点个数为20-1=19。该二叉树的总的结点数为19+5+20=44。本题答案为C选项。6、属于软件详细设计阶段任务的是()。A、模块实现的算法设计B、软件体系结构设计C、数据库逻辑设计D、编写概要设计文档标准答案:A知识点解析:详细设计的任务是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。本题答案为A选项。7、某系统总体结构如下图所示,该系统结构图的最大扇出数是()。A、1B、2C、3D、5标准答案:C知识点解析:扇出指由一个模块直接调用的其他模块个数。在该结构图中,“某系统”模块和“功能2”模块调用的其他模块个数最多,为3个,则最大扇出数为3。本题答案为C选项。8、按照传统的数据模型分类,数据库系统可分为()。A、层次、网状和关系B、大型、中型和小型C、西文、中文和兼容D、数据、图形和多媒体标准答案:A知识点解析:按照传统的数据模型分类,数据模型分为层次模型、网状模型、关系模型。本题答案为A选项。9、数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能称为()。A、数据存储功能B、数据定义功能C、数据操纵功能D、数据控制功能标准答案:C知识点解析:数据定义功能:数据的模式定义与数据的物理存取构建。数据操纵功能:数据的操纵,包括查询与增、删、改等操作。数据控制功能;数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。本题答案为C选项。10、现有表示患者和医疗的关系如下:P(P#,Pn,Pg,By),其中P#为患者编号,Pn为患者姓名,Pg为性别,By为出生日期,Tr(P#,D#,Date,Rt),其中D#为医生编号,Date为就诊日期,Rt为诊断结果。检索在1号医生处就诊且诊断结果为感冒的病人姓名的表达式是()。A、πPn(πP#(σD#=1∧Rt=’感冒’(Tr))P)B、πP#(σD#=1∧Rt=’感冒’(Tr))C、σD#=1∧Rt=’感冒’(Tr)D、πPn(σD#=1∧Rt=’感冒’(Tr))标准答案:A知识点解析:检索医生编号为1且诊断结果为感冒是选择行,用σ操作,检索患者姓名是选择列(投影),用π操作,则在表达式中应同时存在π和σ,C选项错果。B选项进行的投影运算检索的是患者编号,不符合题意,B选项错误。D选项,在关系Tr中没有属性Pn,不能检索到患者姓名,D选项错误。本题答案为A选项。11、以下选项中,说法不正确的是()。A、在不同函数中可以使用同名的变量B、主调函数内的局部变量在被调函数内不赋值也可以直接使用C、函数可以减少代码的重复,也使得程序结构更加清晰D、如果想定义一个什么也不做的函数,函数体可以使用pass表示标准答案:B知识点解析:首先需要知道子函数和被调函数之间是两个不同的函数,并且在两个函数即使使用相同的名称定义变量,它也是两个不同的变量,局部变量的作用域,只局限于该函数中。12、对于序列numbers=[1,2,3,4,5,6,7,8,9,10],以下选项的操作中得不到结果[1,3,5,7,9]的是()。A、>>>numbers[::2]B、>>>numbers[:-1:2]C、>>>numbers[1:11:2]D、>>>numbers[0::2]标准答案:C知识点解析:可以通过索引对列表元素进行访问,列表的下标是从0开始的;列表的下标有两种序号,正向递增和反向递减、所以numbers[1:11:2]是输出的是[2,4,6,8,10],选项C的操作得不到结果[1,3,5,7,9]。13、执行下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州省铜仁地区名校2023-2024学年七年级英语第二学期期末调研试题含答案
- 英语教材的二次开发
- 物联网控制技术 课件 C过控第三章 约束与选择控制
- 物联网控制技术 课件 A计控3数字控制技术
- 开闭幕词之公司年会闭幕词
- 2024-2034年全球及中国住宅入口门行业市场发展分析及前景趋势与投资发展研究报告
- 缝纫品整型工省职业技能标准
- 电动自行车安全隐患全链条整治行动实施方案
- 沉浸式体验市场动向分析及投资机遇研究报告模板
- 医保医师承诺书范文
- 浙江省名校协作体2024-2025学年高三上学期开学考试数学试题(原卷版)
- 2024新教科版一年级上册第二单元我们自己第2课发现生长教学课件含微课视频
- 2024-2030年LED交通标志和信号灯行业市场现状供需分析及重点企业投资评估规划分析研究报告
- GB/T 39414.5-2024北斗卫星导航系统空间信号接口规范第5部分:公开服务信号B2b
- 2024年云南玉溪供排水限公司招聘20人(高频重点提升专题训练)共500题附带答案详解
- 部编版小学五年级上册道德与法治教案
- 安全伴我行-大学生安全教育智慧树知到期末考试答案章节答案2024年哈尔滨工程大学
- 协作机器人行业市场分析报告2024年
- 2024年宁夏银川金凤区社区网格员招聘100人历年(高频重点提升专题训练)共500题附带答案详解
- 城市轨道交通综合监控系统全套教学课件
- 医院与陪护公司的协议范文
评论
0/150
提交评论