2022年3月计算机二级python选择题在线题库14/15 题库 IT考试网 · 2021年10月14日 17:50 · 6771阅读 本套题共40道选择题,每题1分; 1.程序流程图中带有箭头的线段表示的是( )。 A.图元关系 B.数据流 C.控制流 D.调用关系 C【解析】在数据流图中,用标有名字的箭头表示数据流。在程序流图中,用标有名字的箭头表示控制流。所以选C。 2.结构化程序设计的基本原则不包括( )。 A.多态性 B.自顶向下 C.模块化 D.逐步求精 A 【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。 3.软件设计中模块划分应遵循的准则是( )。 A.低内聚低耦合 B.高内聚低耦合 C.低内聚高耦合 D.高内聚高耦合 B 【解析】软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。 4.在软件开发中,需求分析阶段产生的主要文档是( )。 A.可行性分析报告 B.软件需求规格说明书 C.概要设计说明书 D.集成测试计划 B【解析】A错误,可行性分析阶段产生可行性分析报告。C错误,概要设计说明书是总体设计阶段产生的文档。D错误,集成测试计划是在概要设计阶段编写的文档。B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。 5.算法的有穷性是指( )。 A.算法程序的运行时间是有限的 B.算法程序所处理的数据量是有限的 C.算法程序的长度是有限的 D.算法只能被有限的用户使用 A【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。 6.下列关于栈的叙述正确的是( )。 A.栈按“先进先出”组织数据 B.栈按“先进后出”组织数据 C.只能在栈底插入数据 D.不能删除数据 B【解析】栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。 7.在数据库设计中,将E-R图转换成关系数据模型的过程属于( )。 A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 C【解析】E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。 8.有三个关系R、S和T如下: 由关系R和S通过运算得到关系T,则所使用的运算为( )。 A.并 B.自然连接 C.迪卡尔积 D.交 D【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C错误。根据关系T可以很明显地看出,是从关系R与关系S中取得相同的关系组,所以取得是交运算,选择D。 9.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。 A.课号,成绩 B.学号,成绩 C.学号,课号 D.学号,姓名,成绩 C【解析】学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C。 10.在软件开发中,需求分析阶段可以使用的工具是( )。 A.N-S图 B.DFD图 C.PAD图 D.程序流程图 B【解析】在需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表,所以选择B。 11.下列关于Python程序格式的描述中,错误的是( )。 A.缩进表达了所属关系和代码块的所属范围 B.注释可以在一行中的任意位置开始,这一行都会作为注释不被执行 C.进行赋值操作时,在运算符两边各加上一个空格可以使代码更加清晰明了 D.文档注释的开始和结尾使用三重单引号“”’”或三重双引号“”””” B【解析】注释可以在一行中的任意位置开始,但只有在“#”后的才会被作为注释不被执行。 12.下列关于Python缩进的描述中,错误的是( )。 A.Python语言中采用严格的“缩进”来表明程序格式不可嵌套 B.判断、循环、函数等语法形式能够通过缩进包含一批 Python 代码,进而表达对应的语义 C.Python 单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代码根据缩进关系决定所属范围 D.缩进指每一行代码前面的留白部分,用来表示代码之间的层次关系 A【解析】Python语言采用严格的“缩进来表明程序格式”,而且“缩进”中是可以嵌套的。 13.对以下代码的输出描述正确的是( )。 lis=list(range(6)) print(lis) A.[0,1,2,3,4,5] B.[0,1,2,3,4,5,6] C.0,1,2,3,4,5 D.0,1,2,3,4,5,6 A【解析】range(6)取到的是0,1,2,3,4,5这六个数,这些数均为int类型,使用list()方法将其存储在列表变量lis中。 14.下列关于Python 语言的描述正确的是( )。 A.条件 2<=3<=5 是合法的,输出 False。 B.条件 2<=3<=5 是不合法的。 C.条件 2<=3<=5 是合法的,输出 True。 D.条件 2<=3<=5 是不合法的,会抛出异常。 C【解析】A选项中条件是合法的,输出True,只有不合法的条件才会输出False;B选项中条件是合法的;D选项中条件合法输出True,而不是抛出异常。 15.若想要在屏幕上打印输出Hello,World,应该使用下列哪个语句?( ) A.printf(“Hello,World”) B.printf(Hello,World) C.print(“Hello,World”) D.print(Hello,World) C【解析】print()函数用于输出运算结果,根据输出内容不同,有3种用法:①仅用于输出字符串,格式为:print(<待输出字符串>),字符串需要用单引号或者是双引号括起来;②仅用于输出一个或多个变量,格式为:print(<变量1>,<变量2>,…<变量n>);③用于混合输出字符串与变量值,格式为:print(<输出字符串模板>.format(<变量1>,<变量2>,…<变量n>))。该题考查的是第一种用法。 16.在 Python 语言中,可以作为源文件后缀名的是( )。 A.pdf B.docx C.png D.py D【解析】Python 源文件的后缀名为 .py。 17.表达式3**2*5//6%7的计算结果是( )。 A.0 B.1 C.4 D.2 A【解析】按运算符优先级进行计算。3**2=9,9*5=45,45//6=7,7%7=0。 18.以下不属于Python语言控制结构的是( )。 A.顺序结构 B.循环结构 C.分支结构 D.数据结构 D【解析】Python 语言控制结构包括顺序结构、循环结构和分支结构。 19.Python中定义类的关键字是( )。 A.def B.defun C.function D.class D【解析】def 是定义函数的关键字。defun 和 function 不是 Python 中的关键字。class 是定义类的关键字。 20.以下保留字不属于分支结构的是( )。 A.if B.else C.while D.elif C【解析】while 属于循环结构。 21.以下关于分支和循环结构的描述中,正确的是( )。 A.在循环中,continue 语句的作用是跳出当前循环 B.在循环中,break 语句的作用是结束该语句所在的循环 C.带有 else 子句的循环语句,如果是因为执行了 break 语句而退出的话,则会执行 else子句中的代码 D.在Python 中,分支结构和循环结构必须带有 else 子句 B【解析】continue语句用于中断本次循环的执行,继续执行下一轮循环的条件,而不是跳出当前循环;Python 中的 for、while 循环都有一个可选的 else 子句,如果用 break 语句终止循环,那么 else 语句将不会执行。 22.下面代码的输出结果是( )。 for i in range(3): print(i,end = ‘,’) A.0,1,2 B.0,1,2, C.1,2,3 D.1,2,3, B【解析】range()函数与for循环结合使用,一般是可以创建一个整数列表,且range(start,stop[,step])包含三个参数,代表列表的开始和结束以及步长,但其中不包含stop参数的范围,即区间为左闭右开。print()函数的end参数用来设置输出格式,默认为换行。该题表示输出数字之间使用逗号分隔。 23.以下程序中,while 循环的循环次数是( )。 i = 0 while i < 10: if i < 1 : print(“Python”) continue if i == 5: print(“World!”) break i += 1 A.10 B.5 C.4 D.死循环,不能确定 D【解析】while循环的判断条件为真时,进入循环体,为假时,直接执行while同级的代码。初始值为i=0,进入循环体之后,因为i<1,执行 continue 语句跳出本次循环,进入下一循环。i的值始终为0,故程序为死循环。 24.以下关于程序的异常处理的描述中,错误的是( )。 A.一旦代码抛出异常并且没有得到正确的处理,整个程序会崩溃,并且不会继续执行后面的代码 B.一般不建议在 try 中放太多代码,而是应该只放入可能会引发异常的代码 C.带有else子句的异常处理结构,如果不发生异常则执行else子句中的代码 D.在 try-except-else 结构中,如果try 子句的语句引发了异常,则会执行 else 子句中的代码 D【解析】程序的异常处理模块,当try中的代码异常时,进入except语句块中,执行该处的代码;没有异常时,直接执行与try语句同级的代码或者是else后面的代码。 25.当试图访问的对象属性不存在时,为了不让程序抛出异常,需要用到的语句是( )。 A.try-except 语句 B.for 语句 C.eval 语句 D.if 语句 A【解析】try-except 语句用于检测和处理异常。 26.以下关于文件的打开和关闭的描述中,正确的是( )。 A.二进制文件不能使用记事本程序打开 B.二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容 C.使用内置函数 open()且以 w 模式打开文件,若文件存在,则会引发异常 D.使用内置函数 open()打开文件时,只要文件路径正确就总可以正确打开 B【解析】二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容;用内置函数 open()且以w模式打开文件,若文件存在,则会覆盖原来的内容而不会引发异常。 27.以下关于文件读写的描述中,错误的是( )。 A.对文件进行读写操作之后必须关闭文件以确保所有内容都得到保存 B.以写模式打开的文件无法进行读操作 C.文件对象的seek()方法用来返回文件指针的当前位置 D.文件对象的readline()方法用来读取一行字符串 C【解析】文件对象的 seek()方法用来定位文件的读/写位置,tell()方法用来返回文件指针的当前位置。 28.以下关于数据维度的描述,错误的是( )。 A.一维数据由对等关系的有序或无序数据构成,采用线性方式组织,对应于数学中的集合或数组的概念 B.二维数据由关联关系构成,采用表格方式组织,对应于数学中的矩阵 C.高维数据由键值对类型的数据组成,采用对象方式组织 D.一维数据是由对等关系的有序数据构成,无序数据不是一维数据 D【解析】任何可以以序列或集合表示的内容都可以看作是一维数据。 29.以下关于函数的定义与编写的描述,错误的是( )。 A.函数是代码复用的一种方式 B.在Python 中,使用关键字define 定义函数 C.定义函数时,即使函数不需要接收任何参数,也必须保留一对空括号来表示这是一个函数 D.编写函数时,一般建议先对参数进行合法性检查,然后再进行编写 B【解析】在Python中,使用关键字def 定义函数 30.以下关于函数的定义与调用的描述,正确的是( )。 A.在Python 中,不能在一个函数定义中再定义一个嵌套函数 B.在调用函数时,把实参的引用传递给形参 C.一个函数如果带有默认值参数,那么所有参数都必须设置默认值 D.定义Python 函数时必须指定函数的返回值类型 B【解析】Python 允许函数的嵌套定义,在函数内部可以再定义另外一个函数;函数形参不需要声明其类型,也不需要指定函数的返回值类型;函数定义时默认参数和非可选参数可以同时存在。 31.下面代码中 Dog 这个类中的 init 方法共包含几个形参?( ) Class Dog(): def __init__ (self, name, age): self.name = name self.age = age A.0个 B.1个 C.2个 D.3个 D【解析】__init__()方法是一个特殊的方法,每当根据类创建新实例时,Python会自动运行该方法。该方法的开头和结尾各有两个下划线,这是一种约定,旨在避免Python的默认方法和普通方法发生命名冲突。self,name,age 都是init 方法的形参,所以共 3 个。 32.下面哪一种定义是类的私有成员?( ) A._xx B._xx_ C.__xxx D.xxx C【解析】在Python中,类的定义中以一个下划线开头的成员是保护成员,以两个下划线开头和结束的成员是系统定义的特殊成员,以两个或多个下划线开头但不以两个或多个下划线结束的成员是私有成员,所以选C项。 33.下面不属于Python 第三方库的安装方法的是( )。 A.pip 工具安装 B.go get 命令安装 C.自定义安装 D.文件安装 B【解析】go get是go语言的第三方库安装方法,其他三个选项都是Python 的第三方库安装方法。 34.以下属于Python 中导入语句的是( )。 A.class B.return C.import D.print C【解析】Python 中无论是标准库、第三方库还是自定义库,在使用之前都需要进行导入,方法就是使用 import 语句导入模块。 35.下面不属于面向对象的特点是( )。 A.封装 B.多态 C.性能高 D.继承 C【解析】A、B、D 三个选项都是面向对象编程的特点,而C选项则是面向过程的优点,因为面向对象是类调用需要实例化,开销比较大,比较消耗资源,所以面向过程的性能会比面向对象高。 36.下面代码输出的结果是( )。 list1 = [[0, 1, 2],”123.0″,”python”] a = all(list1[0]) b = list1[1].split(“.”) c = ascii(list1[2]) print(a, b, c) A. True [‘123’] ‘python’ B.False [‘0’] ‘1’ C. True [‘123’, ‘0’] ‘1’ D. False [‘123’, ‘0’] ‘python’ D【解析】all(x)函数当组合类型变量x中所有元素为真时返回True,否则返回False,元素除了是 0、None、False 外都算 True。所以a的值为False;b中split 是字符串分隔函数,返回分隔后的值应为[‘123’,‘0’];c中ascii () 的参数是字符串‘python’,所以返回‘python’。 37.下面关于类的说法错误的是( )。 A.类是一种实例 B.在类进行实例化时将会首先执行该类中的 init 方法 C.在对类进行实例化时,传入的实参不用带上 self,它在类执行过程中将自行带上 D.类中的变量前带有前缀 self 意味着此变量在类中任意位置可以使用 A【解析】A选项中类只是一种抽象事物的分类,对象才是一种实例。 38.下面代码的输出结果是( )。 f = lambda x, y: x if x<y else y a = f(“aa”,”bb”) b = f(“bb”,”aa”) print(a, b) A.aa aa B.aa bb C.bb aa D.bb bb A【解析】lambda关键字是用来定义匿名函数。格式为:<函数名> = lambda <参数列表>:<表达式>。本题是用来比较字符串大小,因为aa<bb,所以输出均为aa。 39.下面代码的输出结果是( )。 def add(x): if x>0: return x + add(x-1) else: return 0 result = add(10)print(result) A.0 B.10 C.55 D.45 C 【解析】该函数是一个递归函数,用来计算1到10之间的所有数的和,使用函数时必须调用函数,即函数名(<参数>),也可以将函数对象实例化。结果为55,选C项。 40.假设现在是 2018 年 10 月 1 日的下午两点 20 分 7 秒,则下面代码的输出结果为( )。 import time print(time.strftime(“%Y-%m-%d@%H-%M-%S”,time.gmtime())) A.2018-10-1@14-20-7 B.2018-10-1@14-20-07 C.2018-10-01@14-20-07 D.True@True C【解析】time库是Python的标准库。使用gmtime()函数获取当前时间戳对应的对象;strftime()函数是时间格式化最有效的方法,几乎可以以任何通用格式输出时间,该方法利用一个格式字符串,对时间格式进行表示。 Loading … 本文来自网络,不代表IT考试网立场,转载请注明出处:https://www.itkaoshi.net/3484.html