全国计算机二级公共基础知识考题分析.ppt
全国计算机等级考试二级公共基础知识,第一章 数据结构和算法第二章 程序设计基础第三章 软件工程基础第四章 数据库设计基础,第一章 数据结构和算法,【例1】算法的时间复杂度取决于()。A)问题的规模B)待处理的数据的初态C)问题的难度 D)A)和B)【答案】D)【解析】在同一问题规模下,算法的时间复杂度不仅与问题的规模有关,与输入数据也有关,即输入数据所有的可能取值范围及输入各种数据或数据集的概率有关。【例2】通过列举少量的特殊情况,经过分析,最后找出一般的关系。从本质上讲,归纳就是通过观察一些简单而特殊的情况,最后总结出一般性的结论的算法设计方法是。【答案】归纳法【解析】归纳法的基本思想是,通过列举少量的特殊情况,经过分析,最后找出一般的关系。从本质上讲,归纳就是通过观察一些简单而特殊的情况,最后总结出一般性的结论。,页1,页2,【例3】如果算法P调用另一个算法Q,而算法Q又调用算法P,则称为。【答案】间接递归调用【解析】如果一个算法显式地调用自己则称为直接递归,如果通过另一算法调用自己为间接递归调用。,【例4】在数据结构中,从逻辑上可以把数据结构分成()。A)内部结构和外部结构B)线性结构和非线性结构C)紧凑结构和非紧凑结构D)动态结构和静态结构【答案】B)【解析】逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间为一对一的关系,非线性结构表示数据元素之间为一对多或者多对一的关系。,页3,【例5】线性结构中元素之间存在着关系,而树型结构中元素之间存在着一对多关系。【答案】一对一【解析】线性结构主要是指元素之间的一对一的关系,而树型结构是指元素之间一对多的关系。【例6】对数据结构的两种基本运算是()。A)插入和查找B)分类和分解C)插入和删除D)复制和修改【答案】C)【解析】一个数据结构中的元素结点可能是在动态地变化的。根据需要或在处理过程中,可以在一个数据结构中增加一个新结点(称为插入运算),也可以删除数据结构中的某个结点(称为删除运算)。插入和删除是对数据结构的两种基本运算。除此之外,对数据结构的运算还有查找、分类、合并、分解、复制和修改等。,页4,【例7】对线性表,在下列()情况下应当采用链表表示。A)经常需要随机地存取元素 B)经常需要进行插入和删除操作 C)表中元素需要占据一片连续的存储空间 D)表中元素的个数不变【答案】B)【解析】由于链表不是顺序存储的,即当进行插入和删除操作时不需要进行移动大量的元素,所以当一些需要经常进行插入和删除操作的情况应当采用链表的方式存储。【例8】对于长度为的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为。【答案】n2【解析】删除一个元素,平均移动的元素的个数为(n1+n2+0)/n=(n1)/2;插入一个元素,平均移动元素个数为(n+n1+n2+1)/n=(n+1)/2,所以总体移动元素个数为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【答案】B)【解析】由顺序栈的结构可知,本题答案为B)。,页6,【例11】一个队列的入队序列是,则队列的输出序列是()。A),B),C),D),【答案】D)【解析】由队列的先进先出的特点可以知道,入队序列是,出队序列只能是,所以答案为D)。【例12】从一个循环队列中删除一个元素,通常的操作是先取出元素,然后。【答案】移动队头指针【解析】根据队列的特点,删除元素是在队头进行的操作,因此,首先取出并保存队头元素,然后移动队头指针,使移动后的指针成为新的队头指针。,页7,【例13】可以用带表头结点的链表表示线性表,也可用不带表头结点的链表表示的线性表,前者最主要的好处是()。A)可以加快对表的遍历 B)使空表和非空表的处理统一C)节省存储空间 D)可以提高存取表元素的速度【答案】B)【解析】用带头结点的链表表示线性表时,空表和非空表的插入、删除是相同的。当往空链表插入时,只要把待插入元素的指针域指向头结点的指针域,把头结点的指针域指向新增元素即可,当往非空链表插入元素时只要找到插入的位置,执行同样的操作即可完成插入。当链表只有一个元素时,删除操作只要修改指针指向下一个元素的指针所指的元素即可,跟一般的链表删除操作是一样的。【例14】在双向链表中,每个结点有两个指针域,一个指向前驱结点,另一个指向。【答案】后继结点【解析】根据双向链表的数据结构可知,双向链表每个结点有两个指针域,这两个指针分别指向它的前驱结点和后继结点。,页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】某二叉树的先序和后序遍历序列正好相反,则该二叉树一定是()。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】如下图二叉树的遍历,其中序遍历序列为;先序遍历序列为;后序遍历序列为。【答案】DGBAECHIF ABDGCEFHI GDBEIHFCA【解析】中序遍历:若二叉树为空,则空操作;否则(1)中序遍历左子树;(2)访问根结点;(3)中序遍历右子树。先序遍历:若二叉树为空,则空操作;否则(1)访问根结点;(2)前序遍历左子树;(3)前序遍历右子树。后序遍历:若二叉树为空,则空操作;否则(1)后序遍历左子树;(2)后序遍历右子树;(3)访问根结点。,页11,【例20】有一棵树如右图所示,回答下面的问题:(1)这棵树的根结点是。(2)这棵树的叶子结点是。(3)结点k3的度是。(4)这棵树的度为。(5)这棵树的深度是。(6)结点k3的孩子结点是。(7)结点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、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、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)D)(9,16,4,25,21,5,13,18,5,17,8,24)【答案】B)【解析】直接选择排序法的思想是:以无序表的第一个元素作为比较标准,依次同后面的元素进行比较,如果有一个元素比第一个元素小则记录这个元素的下标,然后以新的最小元素继续往下比较,有更小的元素再记录该下标,再比较,当对整个数组扫描一趟后就可以得到最小元素的下标,然后与无序表的第一个元素交换位置。本题很明显第一趟扫描结果最小元素是,与第一个元素交换位置后得到B结果。,页15,【例26】在快速排序过程中,每次划分,将被划分的表(或子表)分成左、右两个子表,考虑这两个子表,下列结论一定正确的是()。A)左、右两个子表都已各自排好序B)左边子表中的元素都不大于右边子表中的元素C)左边子表的长度小于右边子表的长度D)左、右两个子表中元素的平均值相等【答案】B)【解析】快速排序基本思想是:任取待排序表中的某个元素作为基准(一般取第一个元素),通过一趟排序,将待排元素分为左右两个子表,左子表元素的排序码均小于或等于基准元素的排序码,右子表的排序码则大于基准元素的排序码,然后分别对两个子表继续进行排序,直至整个表有序。【例27】在对n个元素的序列进行排序时堆排序所需要的附加存储空间是()。A)O(log2n)B)O(1)C)O(n)D)(nlog2n)【答案】B)【解析】堆排序的空间复杂度为O(1);时间复杂度在最好情况为O(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个元素的序列进行冒泡排序时,最少的比较次数是。【答案】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,即记录不需移动;反之,当待排序列中记录按关键字非递增有序排序时,总的比较次数达到最大值(n+2)(n1)/2。由A)选项、B)选项、C)选项和D)选项四个选项中知B)选项已经基本有序,需要比较的次数最少。,第二章 程序设计基础,页18,【例1】对建立良好的程序设计风格,下面描述正确的是()。A)符号的命名只要符合语法B)程序应力求简单、清晰、可读性好C)程序的注释可有可无D)充分考虑程序的执行效率【答案】B)【解析】本题主要考查程序设计应该遵循的一些原则,良好的程序设计风格可以减少编码错误,减少程序阅读时间,从而提高软件的开发效率。程序是由人来编写的,为了测试和维护程序,往往还要阅读和跟踪程序,因此程序设计的风格总体而言应该强调简单和清晰,程序必须是可以理解的。【例2】关于对语句结构的要求,不正确的是()。A)在一行内只写一条语句B)程序编写应优先考虑效率C)尽量避免使用临时变量D)避免不必要的转移【答案】B)【解析】本题主要考查程序设计中语句结构的要求。,页19,【例3】源程序文档化一般应注意符号名的命名、和视觉组织。【答案】程序的注释【解析】考查程序文档化的具体要求。【例4】在设计和编程时,对所有的输入数据都要检验数据的。【答案】合法性【解析】输入和输出信息是用户直接关心的,输入和输出方式和格式应尽可能方便用户的使用,因为系统能否被用户接受,取决于输入和输出的风格。【例5】注释说明了程序的功能,它分为和功能性注释。【答案】序言性注释【解析】考查注释的作用。注释一般为序言性注释和功能性注释。(1)序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期等。(2)功能性注释一般嵌在源程序体之中,用于描述其后的语句或程序做什么。,页20,【例6】序言性注释主要内容不包括()。A)数据的状态B)主要算法C)开发简历D)程序功能说明【答案】A)【解析】考查序言性注释的主要内容。序言性注释通常位于每个程序的开头部分,它给出程序的整体说明,主要描述内容可以包括:程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期等等。【例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语句【答案】A)【解析】考察结构化程序设计方法的主要原则。,页22,【例10】按照程序段本身语句行的自然顺序,一条语句一条语句地执行程序,这样的程序结构称为。【答案】顺序结构【解析】考查顺序结构的定义。顺序结构是一种简单的程序设计,它是最基本、最常用的结构,顺序结构是顺序执行的结构,就是按照语句的自然顺序,一条一条地执行程序。【例11】在程序设计语言中,重复结构对应两类循环语句,分别是和直到型循环结构。【答案】当型循环结构【解析】考查两类循环语句。在程序设计中,重复结构对应两类循环语句:(1)对先判断后执行循环体的称为当型循环结构;(2)对先执行循环体后判断的称为直到型循环语句。,页23,【例12】结构化程序设计方法的结构不包括()。A)选择结构 B)顺序结构C)跳转结构 D)循环结构【答案】C)【解析】主要考查结构化设计的基本知识。结构化程序设计方法是指采用自顶而下、逐步求精、模块化和尽量避免goto跳转语句的设计方法。采用结构化程序设计方法编写程序,可使程序结构良好、易读、易理解、易维护。使用顺序、选择(分支)和循环三种基本控制结构足以表达出各种其他形式的程序设计方法。【例13】结构化程序设计的三种基本结构是()。A)顺序、选择、重复 B)递归、嵌套、调用C)过程、子过程、主程序 D)顺序、转移、调用【答案】A)【解析】考查程序设计的三种基本结构。经过推理证明,程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。,页24,【例14】严格控制goto语句的使用,意思是指()。.用一个非结构化的程序设计语言去实现一个结构化的构造.若不使用goto语句会使功能模糊.在某种可以改善而不是损害程序可读性的情况下.取消goto语句的使用【答案】C)【解析】严格控制goto语句的使用。其意思是指:(1)用一个非结构化的程序设计语言去实现一个结构化的构造;(2)若不使用goto语句会使功能模糊;(3)在某种可以改善而不是损害程序可读性的情况下。【例15】就程序设计方法和技术的发展而言,程序设计主要经过了和面向对象的程序设计阶段。【答案】结构化程序设计【解析】本题考查程序设计方法所经历的阶段。,页25,【例16】在面向对象的方法出现以前,我们都是采用面向()的程序设计方法。A)结构 B)过程C)用户 D)以上都不对【答案】B)【解析】考查程序设计发展的基础知识。【例17】软件部件的内部实现和外部可访问性分离,这是指软件的()。A)封装性B)抽象性C)继承性D)共享性【答案】A)【解析】在面向对象的程序设计中,对象是数据和一组相关的操作的封装体。从外面只能看到对象的外部特性,根本无需知道数据的具体结构以及实现操作的具体算法,对象的内部,即处理能力的实行和内部状态,对外是不可见的。从外面不能直接使用对象的处理能力,也不能直接修改其内部的状态,对象的内部状态只能由其自身改变。这就是类的封装性。,页26,【例18】面向对象的开发方法中,类与对象的关系是()。A)抽象与具体B)具体与抽象C)部分与整体D)整体与部分【答案】A)【解析】现实世界中的很多事物都具有相似的性质,把具有相似的属性和操作的对象归为类,也就是说类是具有共同属性、共同方法的对象的集合,是对对象的抽象,它描述了该对象类型的所有对象的性质,而一个对象则是其对应类的一个具体实例。【例19】信息隐蔽是通过()实现的。A)抽象性B)封装性C)继承性D)传递性【答案】B)【解析】在面向对象的程序设计中,对象是数据和一组相关的操作的封装体。从外面只能看到对象的外部特性,根本无需知道数据的具体结构以及实现操作的具体算法,对象的内部,即处理能力的实行和内部状态,对外是不可见的。从外面不能直接使用对象的处理能力,也不能直接修改其内部的状态,对象的内部状态只能由其自身改变。这就是类的封装性。通过这种封装性,类向外界隐藏了自己的信息。,页27,【例20】面向对象的程序设计主要优点包括与人类习惯的思维方法一致、稳定性好、易于开发大型软件产品和可维护性好等5个方面。【答案】可重用性好【解析】面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方式来认识、理解和描述客观事物。【例21】在面向对象方法中,使用已经存在的类定义作为基础建立新的类定义,这样的技术叫做。【答案】继承【解析】继承是面向对象方法的一个主要特征。继承是使用已有的类定义作为基础建立新类的定义技术。已有的类可当作基类来引用,则新类相应地可当作派生类来引用。【例22】对象根据所接受的消息而做出动作,同样的消息被不同的对象所接受时可能导致完全不同的行为,这种现象称为。【答案】多态性【解析】对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行为,该现象称为多态性。,页28,【例23】在面向对象分析和设计中,通常把对象所进行的操作称为。【答案】方法或者服务【解析】对象可以做的操作表示它的动态行为,在面向对象分析和面向对象设计中,通常把对象的操作也称为方法或服务。【例24】类是具有共同属性和服务的一组对象的集合,它为属于该类的全部对象提供了抽象的描述,其内部包括和行为两个主要部分。【答案】属性【解析】类是具有共同属性、共同操作性质的对象的集合,是已经定义了的关于对象的特征、外观和行为的模板,它包含属性和行为两个重要部分。【例25】对象的基本特点包括、分类性、多态性、封装性和模块独立性好等5个特点。【答案】标识惟一性【解析】对象的基本特点。,页29,【例26】由于下列哪些因素使得用面向对象的程序设计方法开发得软件可维护性好?().用面向对象的方法开发的软件稳定性比较好.用面向对象的方法开发的软件比较容易修改.用面向对象的方法开发的软件比较容易理解.用面向对象的方法开发的软件易于测试和调试A)和 B)和C)、和 D)、和【答案】D)【解析】面向对象得方法开发的软件可维护性好是因为:稳定性比较好;比较容易修改;比较容易理解;易于测试和调试。【例27】多态性是指同样的消息被不同的接受时可导致不同的行为。【答案】对象【解析】对象根据所接受的消息做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,这种现象就叫做多态性。,页30,【例28】在面向对象分析和设计中,通常把对象所进行的操作称为。【答案】方法或者服务【解题要点】对象可以做的操作表示它的动态行为,在面向对象分析和面向对象设计中,通常把对象的操作也称为方法或服务。【例29】类是具有共同属性和服务的一组对象的集合,它为属于该类的全部对象提供了抽象的描述,其内部包括和行为两个主要部分。【答案】属性【解题要点】类是具有共同属性、共同操作性质的对象的集合,是已经定义了的关于对象的特征、外观和行为的模板,它包含属性和行为两个重要部分。【例30】面向对象的程序设计方法,其核心方法是()。A)算法 B)操作C)数据 D)对象 答案】D)【解析】面向对象的程序设计方法,其核心方法是对象,对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。,第三章 软件工程基础,页31,【例1】对软件的特点,下面描述正确的是()。A)软件是一种物理实体B)软件在运行使用期间不存在老化问题C)软件开发、运行对计算机没有依赖性,不受计算机系统的限制D)软件的生产有一个明显的制作过程【答案】B)【解析】本题主要考查对软件定义以及软件特点的理解。软件在运行期间不会因为介质的磨损而老化,只可能因为适应硬件环境以及需求变化进行修改而引入错误,导致失效率升高从而软件退化。【例2】以下哪项不是软件危机问题的表现()。A)开发成本不断提高,开发进度难以控制B)生产率的提高赶不上硬件发展和应用需求的增长C)软件质量难以保证,维护或可维护程度非常低D)软件生命周期短,需要定期更换【答案】D)【解析】软件危机问题可以归结为成本、质量、生产率等问题。,页32,【例3】以下哪项是软件生命周期的主要活动阶段()。A)需求分析 B)软件开发C)软件确认 D)软件演进【答案】A)【解析】注意软件工程过程和软件生命周期的活动区别。【例4】以下哪项不是需求分析包括的部分()。A)需求获取 B)需求分析C)编写需求规格说明书 D)创建系统模型【答案】D)【解析】考查需求分析。【例5】软件按功能分类可分为:应用软件、和支撑软件(或工具软件)。【答案】系统软件【解题要点】考查软件分类内容。,页33,【例6】现代软件工程方法之所以得以实施,其重要的保证是软件开发工具和软件环境的保证,使软件在、工程质量等多方面得到改善。【答案】开发效率【解析】现代软件工程方法之所以得以实施,其重要的保证是软件开发工具和软件环境的保证,使软件在开发效率、工程质量等多方面得到改善。软件工程鼓励研制和采用各种先进软件开发方法、工具和环境。工具和环境的使用进一步提高了软件的开发效率、维护效率和软件质量。【例7】常见的需求分析方法有()。A)结构化分析方法 B)面向过程分析方法C)模型化分析方法 D)事务化分析方法【答案】A)【解析】了解常见分析方法,排除干扰项,常见的分析方法是结构化分析方法和面向对象分析方法。,页34,【例8】结构化分析的步骤是()。去掉具体模型中非本质因素,抽象出当前系统的逻辑模型通过对用户的调查,以软件的需求为线索,获得当前系统的具体模型评审直到确认完全符合用户对软件的要求完善目标系统并补充细节,写出目标系统的软件需求规格说明根据计算机特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型A)B)C)D)【答案】C)【解析】清楚了解结构化分析的步骤。【例9】软件需求规格说明书没有以下哪一个作用()。A)便于用户、开发人员进行理解交流 B)反映出用户问题的结构,可以作为软件开发工作的基础和依据。C)作为确认测试和验收的依据 D)提供软件开发成本的预算【答案】D)【解析】前三项是说明书的作用。,页35,【例10】数据流图是描述数据处理过程的工具,是需求理解的的图形表示,它直接支持系统的功能建模。【答案】逻辑模型【解析】数据流图是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。建立数据流图的步骤如下:第一步:由外向里:先画系统的输入输出,然后画系统的内部。第二步:自顶向下:顺序完成顶层、中间层、底层数据流图。第三步:逐层分解。【例11】概括地说,数据字典的作用是对中出现的被命名的图形元素的确切解释。【答案】数据流图【解析】概括地说,数据字典的作用是对数据流图中出现的被命名的图形元素的确切解释。通常数据字典包含的信息有名称、别名、何处使用/如何使用、内容描述、补充信息等。,页36,【例12】从技术观点看,软件设计包括()。A)结构设计、数据设计、接口设计、程序设计B)结构设计、数据设计、接口设计、过程设计C)结构设计、数据设计、文档设计、过程设计D)结构设计、数据设计、文档设计、程序设计【答案】B)【解析】考查软件工程设计方法的基础知识。【例13】软件概要设计的基本任务不包括()。A)设计软件系统结构 B)数据库结构及数据库设计C)程序设计及数据结构设计 D)概要设计文档评审【答案】C)【解析】考查软件工程概要设计的基础知识。软件开发概要设计不考虑具体数据结构和程序结构,只建立各种模型。,页37,【例14】典型的数据流类型有()。A)事务型和变换型 B)事务型和管理型C)管理型和变换型 D)输入型和输出型【答案】A)【解析】典型数据流就是事务型和变换型,没有管理型。【例15】以下常见设计工具归类正确的是()。A)图形工具:程序流程图,N-S,PDL,HIPOB)表格工具:判定表C)语言工具:PADD)以上都不对【答案】B)【解析】常见设计工具:图形工具(程序流程图,N-S,PAD,HIPO),表格工具(判定表),语言工具(PDL)。,页38,【例16】N-S图的具有的特征是()。A)结构清晰,结构化程度高 B)易于阅读 C)易于确定局部数据和(或)全局数据的作用域 D)可以说明简单或复杂的数据结构【答案】C)【解析】考查各种常见设计工具的重要特征。【例17】在事务型数据流图转化为程序结构图时,事务中心映射成为软件结构中的调度模块。【答案】发送分支【解析】事务分析的设计步骤与变换分析设计步骤大致相同,主要差别在于由数据流图到软件结构的映射方法不同。它是将事务中心映射成为软件结构中发送分支的调度模块,将接收通路映射成软件结构的接收分支。,页39,【例18】关于内聚,以下说法正确的是()。A)内聚是从性能角度来度量模块内的联系的B)内聚有多种形式,其中偶然内聚是最弱的C)如果一个模块内的处理元素是相关的,但不一定以特定次序执行,则称为过程内聚D)内聚是衡量软件模块化的度量标准【答案】B)【解析】考查内聚的含义。【例19】关于耦合的说法,哪个是正确的()。A)耦合性是模块内部连接紧密程度的度量B)耦合程度越低,连接紧密程度越高C)耦合和内聚是模块独立性的两个定性标准。D)可以设计出非直接耦合的模块。【答案】c)【解析】考查耦合的含义。,页40,【例20】以下哪个是软件测试的目的()。A)证明程序没有错误 B)演示程序的正确性C)发现程序中的错误 D)改正程序中的错误【答案】C)【解析】关于测试目的的基本知识,IEEE的定义是:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。【例21】关于软件测试的准则,以下说法正确的是()。A)测试可以随时进行,有一定的随机性B)所有测试都要追溯到需求C)程序员应该自己首先测试一下自己的程序D)测试中应该采取穷举测试法【答案】B)【解析】考查测试准则。,页41,【例22】从功能角度划分,测试可以分为()。A)白盒测试和黑盒测试 B)静态测试和动态测试C)逻辑测试和路径测试 D)边界测试和错误推测【答案】A)【解析】从功能角度划分,测试可以分白盒测试和黑盒测试。【例23】软件测试是保证软件质量的重要手段,包括需求定义阶段的需求测试、编码阶段的、集成测试以及后期的确认测试和系统测试。【答案】单元测试【解析】软件测试过程分4个步骤,即单元测试、集成测试、确认测试和系统测试。【例24】边界值分析法是对各种设计测试用例的方法。【答案】输入输出范围的边界情况【解析】边界值分析法是对各种输入、输出范围的边界情况设计测试用例的方法。,页42,【例25】软件测试的实施步骤不包括()。A)单元测试 B)集成测试C)系统测试 D)文档测试【答案】D)【解析】软件测试是保证软件质量的重要手段,软件测试是一个过程,其测试流程是该过程规定的程序,目的是使软件测试工作系统化。软件测试过程分4个步骤,即单元测试、集成测试、验收测试和系统测试。【例26】系统测试不包括以下哪一项()。A)功能测试 B)软件单元接口测试C)操作测试 D)外部接口测试【答案】B)【解析】系统测试的目的是在真实的系统工作环境下检验软件是否能与系统正确连接,发现软件与系统需求不一致的地方。具体实施包括:功能测试、性能测试、操作测试、配置测试、外部接口测试和安全测试等。,页43,【例27】以下哪些不是程序调试的基本步骤()。A)分析错误原因B)错误定位C)修改设计代码以排除错误D)回归测试,防止引入新错误【答案】A)【解析】考查程序调试的基本步骤。【例28】在修改错误时应遵循的原则有()。A)注意修改错误本身而不仅仅是错误的征兆和表现B)修改错误的是源代码而不是目标代码C)遵循在程序设计过程中的各种方法和原则D)以上三个都有【答案】D)【解析】考查修改错误原则。,页44,【例29】由程序调试的概念可知,程序调试活动由两部分组成,其一是根据错误的迹象确定程序中错误的确切性质、原因和。其二是对程序进行修改,排除这个错误。【答案】位置【解析】程序的调试任务是诊断和改正程序中的错误。调试主要在开发阶段进行。程序调试活动由两部分组成,一是根据错误的迹象确定程序中错误的确切性质、原因和位置;二是对程序进行修改,排除这个错误。【例30】主要指通过人的思维来分析源程序代码和错误,是主要的调试手段。【答案】静态调试【解析】理解调试的分类和各种调试的区别。调试主要分为静态和动态两种,静态调试主要是人工进行,不运行软件程序,是主要的调试方法。动态调试是一种辅助手段。,第四章数据库设计基础,第四章 数据库设计基础,页45,【例1】在数据库管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是()。A)数据库系统B)文件系统C)人工管理D)数据项管理【答案】A)【解析】考查数据库技术发展的几个阶段及各个阶段的特点。数据库系统三级体系结构中提供子模式/模式和模式/内模式的两级映射,保证了独立性的实现。【例2】数据库系统依靠()支持数据的独立性。A)具有封装机制B)定义完整性约束条件C)模式分级,各级模式之间的映射D)DDL语言和DML语言互相独立【答案】C)【解析】考查数据库系统的独立性特点。数据库的三级模式结构指数据库系统由外模式、模式和内模式3级构成。数据库管理系统在这3级模式之间提供了两层映射:外模式/模式映射,模式/内模式映射。这两层映射保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。,页46,【例3】对关系数据库来讲,下面()的说法是错误的。A)每一列的分量是同一类型的数据,来自同一个域B)不同列的数据可以出自同一个域C)行的顺序可以任意交换,但是列的顺序不能任意交换D)关系中的任意两个元组不能完全相同【答案】C)【解析】考查关系数据库的性质和特点。【例4】对数据库中的数据可以进行查询、插入、删除、修改(更新),这是因为数据库管理系统提供了()。A)数据定义功能B)数据操纵功能C)数据维护功能D)数据控制功能【答案】B)【解析】该题考查考生对数据库管理系统基本功能的理解。,页47,【例5】下列概念中,()不是数据库管理系统必须提供的数据控制功能。A)安全性B)完整性C)移植性D)一致性【答案】C)【解析】考查数据库管理系统的数据控制功能。【例6】关系数据库管理系统与网状数据库系统相比()。A)前者运行效率较高B)前者的数据模型更为简洁C)前者比后者产生的较早一些D)前者的数据操作语言是过程性语言【答案】B)【解析】考查关系数据库管理系统和网状数据库系统的区别。关系模型数据库系统采用二维表结构表示数据及其联系,结构简洁。,页48,【例7】关系的数据操纵语言按照表达式查询方式可以分为两大类,关系代数和_。【答案】关系演算【解析】考查关系的数据操纵语言的分类。关系代数是一种抽象的查询语言,是关系数据操纵语言的一种表达方式,是用对关系的运算来表达查询的。关系演算是以数理逻辑中的谓词演算公式为基础的。按照谓词变元的不同,关系演算可以分为元组关系演算和域关系演算。它也是关系数据操纵语言的一种表达方式。【例8】数据库管理系统DBMS对数据库运行的控制主要通过4个方面来实现,它们分别是_、完整性、故障恢复和并发操作。【答案】数据的安全性【解析】考查DBMS对数据库的运行控制操作。【例9】用树型结构来表示实体之间联系的模型称为()。A)关系模型B)层次模型C)网状模型D)数据模型【答案】B)【解析】考查层次模型的特点。,页49,【例10】数据库的三级模式结构由外模式、概念模式和内模式组成,它适合于()。关系型数据库层次型数据库网状型数据库A)只有 B)和C)和 D)都适合【答案】D)【解析】考查数据库三级模式的概念。【例11】将E-R图转换到关系模式时,实体与联系都可以表示成()。A)属性 B)关系 C)键D)域【答案】B)【解析】考查E-R图向关系模式的转换。E-R图由实体、实体的属性和实体之间的联系三个要素组成,关系模型的逻辑结构是一组关系模式的集合,将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。,页50,【例12】关系模型是把实体之间的联系用()来表示。A)二维表格B)树C)图D)E-R图【答案】A)【解析】考查关系模型之间实体联系的表示。【例13】在下面两个关系中,职工号和部门号分别为职工关系和部门关系的主码。职工(职工号,职工名,部门号,职务,工资)部门(部门号,部门名,部门人数,工资总额)在这两个关系的属性中,只有一个属性是外码。它是()。A)“职工”关系中的“职工号”B)“职工”关系中的“部门号”C)“部门”关系中的“部门号”D)“部门”关系中的“部门名”【答案】B)【解析】本题考查外码的定义。外码的定义是:如果一个关系中的属性或属性组合并非该关系的码,但却是另外一个关系的主码,则称其为该关系的外码。在“职工”关系中,“部门号”并非职工关系的主码,但是却是“部门”关系中的主码,所以它是“职工”关系的外码。,页51,【例14】关系模型的完整性规则是对关系的某种约束条件,包括实体完整性约束、_和自定义完整性的约