答案:驱动疑难解答→http://www.51pass.org/zngzus
【真题11】下列对于软件测试的描述中正确的是________。(2005年4月) A)软件测试的目的是尽可以多地发现程序中的错误 B)软件测试的目的是使程序符合结构化原则 C)软件测试的目的是证明程序是否正确
D)软件测试的目的是使程序运行结果正确
解析:1、软件测试的目标是在精心控制的环境下执行程序,以发现程序中的 错误,给出程序可靠性的鉴定。1、软件测试的目标是在精心控制的环境下执行 程序,以发现程序中的错误,给出程序可靠性的鉴定。
2、测试不是为了证明程序是正确的,而是在设想程序有错误的前提下进行的, 其目的是设法暴露程序中的错误和缺陷。 答案:A疑难解答→http://www.51pass.org/cpmzcd 【真题12】软件测试的目的是________。(2010年9月) A)改正程序中的错误 B)发现程序中的错误 C)评估软件可靠性
D)发现并改正程序中的错误
-49-解析:软件测试的目的是尽可能多的发现程序中的错误,而不是为了单纯的改 正程序中的错误。
答案:B疑难解答→http://www.51pass.org/opazdg Point7:程序的调试 出题趋势
考试日期05-405-906-406-907-910-3 出题次数111111
考点精讲
1、程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行。
2、程序调试的基本步骤:(1)错误定位;(2)修改设计和代码,以排除错误;(3)进行回归测试,防止引进新的错误。
3、程序调试可分为静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的调试手段,而动态调试是辅助静态调试。主要调试方法有:(1)强行排错法;(2)回溯法;(3)原因排除法。
真题分析
【真题1】软件调试的目的是________。(2007年9月) A)改善软件的性能 B)验证软件的正确性 C)发现错误
D)改正错误
解析:软件调试的任务是诊断和改正程序中的错误。程序调试活动由两部分组 成,一是根据错误的迹象确定程序中错误的确切性质、原因和位置;二是对程 序进行修改,排除这个错误。
答案:D疑难解答→http://www.51pass.org/nvpzqr
【真题2】软件__【2】__阶段的任务是诊断和改正程序中的错误。(2006年9月) 解析:软件测试的目的是发现程序中的错误,而调试的目的是确定程序中错误
36
的位置和引起错误的原因,并加以改正。换句话说,调试的目的就是诊断和改 正程序中的错误。调试不是测试,但是它总是发生在测试之后。。 答案:调试疑难解答→http://www.51pass.org/qfszou 【真题3】下列叙述中正确的是________。(2006年4月) A)软件维护只包括对程序代码的维护 B)三种说法都不对
-50-C)软件测试应该由程序开发者来完成
D)程序经调试后一般不需要再测试
解析:本题考核软件测试、软件调试和软件维护的概念。
软件测试具有挑剔性,测试不是为了证明程序是正确的,而是在设想程序有错 误的前提下进行的,其目的是设法暴露程序中的错误和缺陷,就是说,测试是 程序执行的过程,目的在于发现错误;一个好的测试在于能发现至今未发现的 错误;一个成功的测试是发现了至今未发现的错误。由于测试的这一特征,一 般应当避免由开发者测试自己的程序。
调试也称排错,目的是发现错误的位置,并改正错误,经测试发现错误后,可 以立即进行调试并改正错误;经过调试后的程序还需进行回归测试,以检查调 试的效果,同时也可防止在调试过程中引进新的错误。
软件维护通常有四类:为纠正使用中出现的错误而进行的改正性维护;为适应 环境变化而进行的适应性维护;为改进原有软件而进行的完善性维护;为将来 的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的维护,还 包括文档的维护。文档可以分为用户文档和系统文档两类。但无论是哪类文 档,都必须与程序代码同时维护。只有与程序代码完全一致的文档才有意义和 价值。
答案:B疑难解答→http://www.51pass.org/hykzzp
【真题4】诊断和改正程序中错误的工作通常称为软件__【3】__。(2005年4月)解析:调试也称排错,调试的目的是发现错误的位置,并改正错误。一般的调 试过程分为错误检查、错误诊断和改正错误。
答案:调试疑难解答→http://www.51pass.org/glszlc 【真题5】软件(程序)调试的任务是________。(2010年3月) A)发现并改正程序中的所有错误 B)确定程序中错误的性质 C)诊断和改正程序中的错误
D)尽可能多地发现程序中的错误
解析:调试也称排错或纠错。它与成功的测试形影相随,测试成功的标志是发 现错误。根据错误迹象,诊断错误的原因和位置,进而改正程序中的错误,这 就是调试的任务。
答案:C疑难解答→http://www.51pass.org/ozyzir
【真题6】下列叙述中正确的是________。(2005年9月) A)软件交付使用后其生命周期就结束 B)软件维护是指修复程序中被破坏的指令 C)软件交付使用后还需要进行维护 D)软件一旦交付使用就不需要再进行维护
-51-解析:本题考核软件维护的概念。维护是软件生命周期的最后一个阶段,也是
37
持续时间最长、付出代价最大的阶段,在软件交付使用后,还需要进行维护。 软件维护通常有以下四类:
1、为纠正使用中出现的错误而进行的改正性维护; 2、为适应环境变化而进行的适应性维护; 3、为改进原有软件而进行的完善性维护;
4、为将来的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的 维护,还包括文档的维护。
答案:C疑难解答→http://www.51pass.org/nkizpe
第3天:数据结构:栈、队列、二叉树等Point1:数据结构的定义 出题趋势 考试日期07-909-9 出题次数11 考点精讲
1、数据结构:是指相互有关联的数据元素的集合。 (1)数据结构研究以下三个方面的问题:
①数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;
②在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; ③对各种数据结构进行的运算。
研究以上问题的主要目的是为了提高数据处理的效率(一是提高数据处理的速度,二是节省数据处理过程所占的空间。) (2)数据的逻辑结构反映数据元素之间的逻辑关系,即前、后件关系,分为线性结构(线性表、栈和队列)和非线性结构(树和图)。包含: ①表示数据元素的信息;
②表示各数据元素之间的前后件关系。
(3)数据的存储结构,是指数据逻辑结构在计算机存储空间中的存放形式,也称数据的物理结构。一般来说,一种数据逻辑结构根据需要可以表示成多种存储结构,常用的数据的存储结构有顺序、链接、索引等。
2、数据的逻辑结构与数据的存储结构不一定相同。一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构。常见的存储结构有顺序、链接、索引等。采用不同的存储结构,数据处理的效率是不相同的。 真题分析
【真题1】下列数据结构中,属于非线性结构的是________。(2009年9月) A)二叉树 -52-B)带链栈 C)循环队列 D)带链队列
解析:线性结构,是最简单最常用的一种数据结构。线性结构的特点是结构中 的元素之间满足线性关系,按这个关系可以把所有元素排成一个线性序列, 如:线性表、串、栈和队列都属于线性结构。而非线性结构是指在该类结构中 至少存在一个数据元素,它具有两个或者两个以上的前件或后件,如树和二叉 树等。
答案:A疑难解答→http://www.51pass.org/ljbzjv 【真题2】下列叙述正确的是________。(2007年9月)
38
A)程序执行的效率只取决于所处理的数据量
B)以上三种说法都不对
C)程序执行的效率与数据的存储结构密切相关 D)程序执行的效率只取决于程序的控制结构
解析:影响程序执行效率的因素有很多,如数据的存储结构、程序处理的数据 量、程序的算法等。顺序存储结构和链式存储结构在数据插入和删除操作上的 效率就存在差别,其中,链式存储结构的效率要高一些。 答案:C疑难解答→http://www.51pass.org/rpgzrj Point2:线性表、线性链表和循环链表 出题趋势
考试日期06-406-909-310-9 出题次数1111
考点精讲
1、如果在一个数据结构中一个数据元素都没有,则称为空的数据结构。根据数据结构中各数据元素之间的前后件关系的复杂程度,分为线性结构与非线性结构。
2、如果一个非空的数据结构满足下列两个条件:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件,则称该数据结构为线性结构。线性表是一个典型的线性结构。常见的有:线性表,栈,队列,循环队列和线性链表等。
3、不满足线性结构条件的数据结构,就是非线性结构。常见的有:数组、广义表、树、二叉树和图都是非线性结构。
4、在计算机内,线性表的存储结构有两种:顺序存储(称为线性表)和链式存储(线性链表)。线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。 真题分析
【真题1】下列叙述中正确的是________。(2009年3月)
-53-A)循环队列是非线性结构
B)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
C)栈是“先进先出”的线性表 D)队列是“先进后出”的线性表
解析:主要考查了栈、队列、循环队列的概念,栈是“先进后出”的线性表, 队列是“先进先出”的线性表。根据数据结构中各数据元素之问的前后件关系的复 杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。循环队列也 是线性结构。有序线性表既可以采用顺序存储结构,又可以采用链式存储结 构。
答案:B疑难解答→http://www.51pass.org/qzuzeq
【真题2】数据结构分为线性结构和非线性结构,带链的队列属于__【5】__结构。(2006年9月)
解析:数据结构分为线性结构和非线性结构,其中队列属于线性结构。队列有 两种存储结构,一种是顺序存储结构,称为顺序队列;另一种是链式存储结 构,称为带链队列。题目中所说的带链的队列就是指带链队列。无论队列采取 哪种存储结构,其本质还是队列,仍属于一种线性结构。因此,本题的正确答 案是线性结构。
答案:线性疑难解答→http://www.51pass.org/uzhzcz 【真题3】下列叙述中正确的是________。(2006年4月)
39
A)双向链表是非线性结构
B)只有根结点的二叉树是线性结构 C)线性链表是线性表的链式存储结构 D)栈与队列是非线性结构
解析:线性链表是线性表的链式存储结构。
栈与队列是特殊的线性表,它们也是线性结构;
双向链表是线性表的链式存储结构,其对应的逻辑结构也是线性结构,而不是 非线性结构;二叉树是非线性结构,而不是线性结构。 一个非空的数据结构如果满足下列两个条件: (1)有且只有一个根结点;
(2)每一个结点最多有一个前件,也最多有一个后件,则称之为线性结构。 答案:C疑难解答→http://www.51pass.org/ggwzkf
【真题4】下列叙述中正确的是________。(2010年9月)
A)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 B)上述三种说法都不对
C)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
D)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
解析:可以从存储密度的角度,比较链式存储结构和顺序存储结构的存储空 间:所谓存储密度是指结点数据本身所占的存储量除以结点结构所占的存储总 -54-量所得的值。这个值越大,存储空间利用率越高。顺序表是静态分配的,其存 储密度为1;而链式存储是动态分配的,其存储密度小于1。
答案:D疑难解答→http://www.51pass.org/pcuzjo Point3:栈、队列和循环队列 出题趋势
考试日05-05-06-06-07-07-08-08-09-09-10-10-期494939493939出题次111111222222数 考点精讲
1、栈(Stack)又称堆栈。
(1)栈是一种运算受限的线性表,其限制是仅允许在表的一端进行插入和删除运算。人们把此端称为栈顶,栈顶的第一个元素被称为栈顶元素,相对地,把另一端称为栈底。向一个栈插入新元素又称为进栈或入栈,它是把该元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称为出栈或退栈,它是把栈顶元素删除掉,使其下面的相邻元素成为新的栈顶元素。
(2)由于栈的插入和删除运算仅在栈顶一端进行,后进栈的元素必定先出栈,所以又把栈称为后进先出表(LastInFirstOut,简称LIFO);先进栈的元素必定后出栈,所以又把栈称为先进后出表(FirstInLastOut,简称FILO)。 2、队列(Queue)简称队。
(1)队列也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入操作,而在表的另一端进行删除操作。我们把允许插入的一端称作队尾(rear),允许删除的一端称作队首(front)。 (2)向队列中插入新元素称为进队或入队,新元素进队后就成为新的队尾元素;从队列中删除队首元素称为离队或出队,该元素离队后,其后继元素就成为新的队首元素。(3)由于队列的插入和删除操作分别是在各自的一端进行的,每个元素必然按照进队的次序离队,所以又把队列称为先进先出表(FirstInFirstOut,简称FIFO)。3、循环队列。就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用,其实质还是
40