全国计算机二级公共基础知识考题分析.ppt
《全国计算机二级公共基础知识考题分析.ppt》由会员分享,可在线阅读,更多相关《全国计算机二级公共基础知识考题分析.ppt(137页珍藏版)》请在三一办公上搜索。
1、全国计算机等级考试二级公共基础知识,第一章 数据结构和算法第二章 程序设计基础第三章 软件工程基础第四章 数据库设计基础,第一章 数据结构和算法,【例1】算法的时间复杂度取决于()。A)问题的规模B)待处理的数据的初态C)问题的难度 D)A)和B)【答案】D)【解析】在同一问题规模下,算法的时间复杂度不仅与问题的规模有关,与输入数据也有关,即输入数据所有的可能取值范围及输入各种数据或数据集的概率有关。【例2】通过列举少量的特殊情况,经过分析,最后找出一般的关系。从本质上讲,归纳就是通过观察一些简单而特殊的情况,最后总结出一般性的结论的算法设计方法是。【答案】归纳法【解析】归纳法的基本思想是,通
2、过列举少量的特殊情况,经过分析,最后找出一般的关系。从本质上讲,归纳就是通过观察一些简单而特殊的情况,最后总结出一般性的结论。,页1,页2,【例3】如果算法P调用另一个算法Q,而算法Q又调用算法P,则称为。【答案】间接递归调用【解析】如果一个算法显式地调用自己则称为直接递归,如果通过另一算法调用自己为间接递归调用。,【例4】在数据结构中,从逻辑上可以把数据结构分成()。A)内部结构和外部结构B)线性结构和非线性结构C)紧凑结构和非紧凑结构D)动态结构和静态结构【答案】B)【解析】逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间为一对一的关系,非线性结构表示数据元素之间为一对多或者多
3、对一的关系。,页3,【例5】线性结构中元素之间存在着关系,而树型结构中元素之间存在着一对多关系。【答案】一对一【解析】线性结构主要是指元素之间的一对一的关系,而树型结构是指元素之间一对多的关系。【例6】对数据结构的两种基本运算是()。A)插入和查找B)分类和分解C)插入和删除D)复制和修改【答案】C)【解析】一个数据结构中的元素结点可能是在动态地变化的。根据需要或在处理过程中,可以在一个数据结构中增加一个新结点(称为插入运算),也可以删除数据结构中的某个结点(称为删除运算)。插入和删除是对数据结构的两种基本运算。除此之外,对数据结构的运算还有查找、分类、合并、分解、复制和修改等。,页4,【例7
4、】对线性表,在下列()情况下应当采用链表表示。A)经常需要随机地存取元素 B)经常需要进行插入和删除操作 C)表中元素需要占据一片连续的存储空间 D)表中元素的个数不变【答案】B)【解析】由于链表不是顺序存储的,即当进行插入和删除操作时不需要进行移动大量的元素,所以当一些需要经常进行插入和删除操作的情况应当采用链表的方式存储。【例8】对于长度为的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为。【答案】n2【解析】删除一个元素,平均移动的元素的个数为(n1+n2+0)/n=(n1)/2;插入一个元素,平均移动元素个数为(n+n1+n2+1)/n=(n+1)/2,所以总体移动
5、元素个数为n/2。,页5,【例9】设初始输入序列为1,2,3,4,5,利用一个栈产生输出序列,下列()序列是不可能通过栈产生的。A)1,2,3,4,5 B)5,3,4,1,2 C)4,3,2,1,5 D)3,4,5,2,1【答案】B)【解析】由于栈的压入和退出只能在栈顶进行,所以要使出栈的第一个数是序列的最后一个数5,只能先把序列所有元素都压入栈,但这时出栈序列只能是5,4,3,2,1,所以B)选项的出栈序列是错误的。【例10】判断一个栈ST(最多元素为MaxSize)为空的条件是()。A)STtop!=1B)STtop=1C)STtop!=MaxSize1D)STtop=MaxSize1【答
6、案】B)【解析】由顺序栈的结构可知,本题答案为B)。,页6,【例11】一个队列的入队序列是,则队列的输出序列是()。A),B),C),D),【答案】D)【解析】由队列的先进先出的特点可以知道,入队序列是,出队序列只能是,所以答案为D)。【例12】从一个循环队列中删除一个元素,通常的操作是先取出元素,然后。【答案】移动队头指针【解析】根据队列的特点,删除元素是在队头进行的操作,因此,首先取出并保存队头元素,然后移动队头指针,使移动后的指针成为新的队头指针。,页7,【例13】可以用带表头结点的链表表示线性表,也可用不带表头结点的链表表示的线性表,前者最主要的好处是()。A)可以加快对表的遍历 B)
7、使空表和非空表的处理统一C)节省存储空间 D)可以提高存取表元素的速度【答案】B)【解析】用带头结点的链表表示线性表时,空表和非空表的插入、删除是相同的。当往空链表插入时,只要把待插入元素的指针域指向头结点的指针域,把头结点的指针域指向新增元素即可,当往非空链表插入元素时只要找到插入的位置,执行同样的操作即可完成插入。当链表只有一个元素时,删除操作只要修改指针指向下一个元素的指针所指的元素即可,跟一般的链表删除操作是一样的。【例14】在双向链表中,每个结点有两个指针域,一个指向前驱结点,另一个指向。【答案】后继结点【解析】根据双向链表的数据结构可知,双向链表每个结点有两个指针域,这两个指针分别
8、指向它的前驱结点和后继结点。,页8,【例15】有关二叉树的下列说法正确的是()。A)二叉树的度为2 B)一棵二叉树的度可以小于2C)二叉树中任何一个结点的度都为2D)任何一棵二叉树中至少有一个结点的度为2【答案】B)【解析】根据二叉树的一些概念,不难得知A)选项、C)选项和D)选项均为错误答案。【例16】设深度为h的二叉树上只有度为0和度为2的结点,则此二叉树中所包含的结点数至少为()。A)2h B)2h1 C)2h+1 D)h+1【答案】B)【解析】结点最少的情况,除根结点层只有1个结点外,其余h-1层均有两个结点,结点总数2(h1)+1=2h1。,页9,【例17】某二叉树的先序和后序遍历序
9、列正好相反,则该二叉树一定是()。A)空或只有一个结点 B)完全二叉树C)二叉排序树 D)深度等于其结点数【答案】D)【解析】对于深度等于结点数的二叉树,每层只有一个结点,假设从上向下分别为a1,a2,an,则先序遍历序列为a1,a2,an。后序遍历为an,an-1,a1。本题答案为D)选项。【例18】已知某二叉树的后序遍历序列是DACBE,中序遍历序列是DEBAC,则它的前序遍历序列是()。A)ACBED B)DEABC C)DECAB D)EDBAC【答案】D)【解析】根据各种遍历算法,不难得出前序遍历序列是EDBAC。,页10,【例19】如下图二叉树的遍历,其中序遍历序列为;先序遍历序列
10、为;后序遍历序列为。【答案】DGBAECHIF ABDGCEFHI GDBEIHFCA【解析】中序遍历:若二叉树为空,则空操作;否则(1)中序遍历左子树;(2)访问根结点;(3)中序遍历右子树。先序遍历:若二叉树为空,则空操作;否则(1)访问根结点;(2)前序遍历左子树;(3)前序遍历右子树。后序遍历:若二叉树为空,则空操作;否则(1)后序遍历左子树;(2)后序遍历右子树;(3)访问根结点。,页11,【例20】有一棵树如右图所示,回答下面的问题:(1)这棵树的根结点是。(2)这棵树的叶子结点是。(3)结点k3的度是。(4)这棵树的度为。(5)这棵树的深度是。(6)结点k3的孩子结点是。(7)结
11、点k3的双亲结点是。【答案】k1;k2,k5,k7,k4;2;3;4;k5,k6;k1【解析】树是由n(n0)个结点组成的有限集合。若n=0,称为空树;若n0,则:(1)有一个特定的称为根(root)的结点。它只有直接后件,但没有直接前件;(2)除根结点以外的其它结点可以划分为m(m0)个互不相交的有限集合T0,T1,Tm1,每个集合Ti(i=0,1,m1)又是一棵树,称为根的子树,每棵子树的根结点有且仅有一个直接前件,但可以有0个或多个直接后件。,页12,【例21】对18个元素的有序表用二分法查找A3的比较序列的下标为()。A)1、2、3 B)9、5、2、3 C)9、5、3 D)9、4、2、
12、3【答案】D)【解析】第一次(1+18)/2=9,第二次(1+8)/2=4,第三次(1+3)/2=2,第四次(3+3)/2=3。本题答案为D)。【例22】设有一个已按各元素的值排好序的线性表(长度大于2),对给定的值k,分别用顺序查找法和二分查找法查找一个与k相等的元素,比较的次数分别是s和b,在查找不成功的情况下,s和b的关系是()。A)s=b B)sb C)slog2n+1。,页13,【例23】已知有序表为(12,18,24,35,47,50,62,83,90,115,134),当用二分法查找100时,需进行次比较可确定成功。【答案】3【解析】构造的判定树如下图当查找100时,需要和50、
13、90、110比较,由于110的左子树为空,查找结束,比较了3次。,【例24】在n个记录的有序顺序表中进行二分法查找,最大的比较次数是。【答案】log2n+1【解析】相当于遍历了一个完全二叉树从树根到树叶的长度,即log2n+1。,页14,【例25】设关键码序列(16,9,4,25,15,2,13,18,17,5,8,24),要按关键码递增的次序排列,采用直接选择排序法,一趟扫描后的结果是()。A)(15,2,4,18,16,5,8,24,17,9,13,25)B)(2,9,4,25,15,16,13,18,17,5,8,24)C)(9,4,16,15,2,13,18,17,5,8,24,25)
14、D)(9,16,4,25,21,5,13,18,5,17,8,24)【答案】B)【解析】直接选择排序法的思想是:以无序表的第一个元素作为比较标准,依次同后面的元素进行比较,如果有一个元素比第一个元素小则记录这个元素的下标,然后以新的最小元素继续往下比较,有更小的元素再记录该下标,再比较,当对整个数组扫描一趟后就可以得到最小元素的下标,然后与无序表的第一个元素交换位置。本题很明显第一趟扫描结果最小元素是,与第一个元素交换位置后得到B结果。,页15,【例26】在快速排序过程中,每次划分,将被划分的表(或子表)分成左、右两个子表,考虑这两个子表,下列结论一定正确的是()。A)左、右两个子表都已各自排
15、好序B)左边子表中的元素都不大于右边子表中的元素C)左边子表的长度小于右边子表的长度D)左、右两个子表中元素的平均值相等【答案】B)【解析】快速排序基本思想是:任取待排序表中的某个元素作为基准(一般取第一个元素),通过一趟排序,将待排元素分为左右两个子表,左子表元素的排序码均小于或等于基准元素的排序码,右子表的排序码则大于基准元素的排序码,然后分别对两个子表继续进行排序,直至整个表有序。【例27】在对n个元素的序列进行排序时堆排序所需要的附加存储空间是()。A)O(log2n)B)O(1)C)O(n)D)(nlog2n)【答案】B)【解析】堆排序的空间复杂度为O(1);时间复杂度在最好情况为O
16、(nlog2n),平均情况为O(nlog2n),最坏情况为O(nlog2n)。,页16,【例28】对记录的关键字为50,26,38,80,70,90,8,30,40,20进行排序,各趟排序结束时的结果为:50,26,38,80,70,90,8,30,40,2050,8,30,40,20,90,26,38,80,7026,8,30,40,20,80,50,38,90,708,20,26,30,38,40,50,70,80,90其使用的排序方法是()。A)快速排序 B)冒泡排序C)希尔排序 D)插入排序【答案】C)【解析】由排序结果可知,该排序是增量序列为5、3、1的希尔排序。【例29】对n个元素
17、的序列进行冒泡排序时,最少的比较次数是。【答案】n1【解析】当初始元素正序时,第一趟比较n1次,交换数为0,完成排序。,页17,【例30】用插入法对下列四个表由小到大进行排序,比较次数最少的是()。A)(94,32,40,90,80,46,21,69)B)(21,32,46,40,80,69,90,94)C)(32,40,21,46,69,94,90,80)D)(90,69,80,46,21,32,94,40)【答案】B)【解析】在直接插入排序过程中,当待排序列中记录按关键字非递减有序排序时,所需进行关键字比较的次数最小,为n1,即记录不需移动;反之,当待排序列中记录按关键字非递增有序排序时,
18、总的比较次数达到最大值(n+2)(n1)/2。由A)选项、B)选项、C)选项和D)选项四个选项中知B)选项已经基本有序,需要比较的次数最少。,第二章 程序设计基础,页18,【例1】对建立良好的程序设计风格,下面描述正确的是()。A)符号的命名只要符合语法B)程序应力求简单、清晰、可读性好C)程序的注释可有可无D)充分考虑程序的执行效率【答案】B)【解析】本题主要考查程序设计应该遵循的一些原则,良好的程序设计风格可以减少编码错误,减少程序阅读时间,从而提高软件的开发效率。程序是由人来编写的,为了测试和维护程序,往往还要阅读和跟踪程序,因此程序设计的风格总体而言应该强调简单和清晰,程序必须是可以理
19、解的。【例2】关于对语句结构的要求,不正确的是()。A)在一行内只写一条语句B)程序编写应优先考虑效率C)尽量避免使用临时变量D)避免不必要的转移【答案】B)【解析】本题主要考查程序设计中语句结构的要求。,页19,【例3】源程序文档化一般应注意符号名的命名、和视觉组织。【答案】程序的注释【解析】考查程序文档化的具体要求。【例4】在设计和编程时,对所有的输入数据都要检验数据的。【答案】合法性【解析】输入和输出信息是用户直接关心的,输入和输出方式和格式应尽可能方便用户的使用,因为系统能否被用户接受,取决于输入和输出的风格。【例5】注释说明了程序的功能,它分为和功能性注释。【答案】序言性注释【解析】
20、考查注释的作用。注释一般为序言性注释和功能性注释。(1)序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期等。(2)功能性注释一般嵌在源程序体之中,用于描述其后的语句或程序做什么。,页20,【例6】序言性注释主要内容不包括()。A)数据的状态B)主要算法C)开发简历D)程序功能说明【答案】A)【解析】考查序言性注释的主要内容。序言性注释通常位于每个程序的开头部分,它给出程序的整体说明,主要描述内容可以包括:程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期
21、等等。【例7】程序的语句结构利用确保每一个模块的独立性。【答案】信息隐蔽【解析】程序的语句结构利用信息隐蔽确保每一个模块的独立性。,页21,【例8】结构化程序设计方法提出于()。A)20世纪50年代 B)20世纪60年代C)20世纪70年代 D)20世纪80年代【答案】C)【解析】20世纪70年代提出了“结构化程序设计(structured programming)”的思想和方法。结构化程序设计方法引入了工程思想和结构化思想,使大型软件的开发和编程得到了极大的改善。【例9】结构化程序设计方法的主要原则有下列4项,不正确的是()。A)自下向上 B)逐步求精C)模块化 D)限制使用goto语句【答
22、案】A)【解析】考察结构化程序设计方法的主要原则。,页22,【例10】按照程序段本身语句行的自然顺序,一条语句一条语句地执行程序,这样的程序结构称为。【答案】顺序结构【解析】考查顺序结构的定义。顺序结构是一种简单的程序设计,它是最基本、最常用的结构,顺序结构是顺序执行的结构,就是按照语句的自然顺序,一条一条地执行程序。【例11】在程序设计语言中,重复结构对应两类循环语句,分别是和直到型循环结构。【答案】当型循环结构【解析】考查两类循环语句。在程序设计中,重复结构对应两类循环语句:(1)对先判断后执行循环体的称为当型循环结构;(2)对先执行循环体后判断的称为直到型循环语句。,页23,【例12】结
23、构化程序设计方法的结构不包括()。A)选择结构 B)顺序结构C)跳转结构 D)循环结构【答案】C)【解析】主要考查结构化设计的基本知识。结构化程序设计方法是指采用自顶而下、逐步求精、模块化和尽量避免goto跳转语句的设计方法。采用结构化程序设计方法编写程序,可使程序结构良好、易读、易理解、易维护。使用顺序、选择(分支)和循环三种基本控制结构足以表达出各种其他形式的程序设计方法。【例13】结构化程序设计的三种基本结构是()。A)顺序、选择、重复 B)递归、嵌套、调用C)过程、子过程、主程序 D)顺序、转移、调用【答案】A)【解析】考查程序设计的三种基本结构。经过推理证明,程序设计语言仅仅使用顺序
24、、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。,页24,【例14】严格控制goto语句的使用,意思是指()。.用一个非结构化的程序设计语言去实现一个结构化的构造.若不使用goto语句会使功能模糊.在某种可以改善而不是损害程序可读性的情况下.取消goto语句的使用【答案】C)【解析】严格控制goto语句的使用。其意思是指:(1)用一个非结构化的程序设计语言去实现一个结构化的构造;(2)若不使用goto语句会使功能模糊;(3)在某种可以改善而不是损害程序可读性的情况下。【例15】就程序设计方法和技术的发展而言,程序设计主要经过了和面向对象的程序设计阶段。【答案】结构化程序
25、设计【解析】本题考查程序设计方法所经历的阶段。,页25,【例16】在面向对象的方法出现以前,我们都是采用面向()的程序设计方法。A)结构 B)过程C)用户 D)以上都不对【答案】B)【解析】考查程序设计发展的基础知识。【例17】软件部件的内部实现和外部可访问性分离,这是指软件的()。A)封装性B)抽象性C)继承性D)共享性【答案】A)【解析】在面向对象的程序设计中,对象是数据和一组相关的操作的封装体。从外面只能看到对象的外部特性,根本无需知道数据的具体结构以及实现操作的具体算法,对象的内部,即处理能力的实行和内部状态,对外是不可见的。从外面不能直接使用对象的处理能力,也不能直接修改其内部的状态
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 二级 公共 基础知识 考题 分析
链接地址:https://www.31ppt.com/p-5233536.html