公共基础知识点合集_第1页
公共基础知识点合集_第2页
公共基础知识点合集_第3页
公共基础知识点合集_第4页
公共基础知识点合集_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 数据结构与算法考点1:算法(概念、特征、组成、方法、算法的复杂度)1、 算法的概念(1) 概念:是指解题方案的准确而完整的描述。【考题1】在计算机中,算法是指( ) A 查询方法 B 加工方法 C对解题方案的准确而完整的描述 D 排序方法【答案】:C【考题2】问题处理方案的正确而完整的描述称为 。【答案】:算法2、 算法的特征(1) 算法的特征具有4种:可行性、确定性、有穷性、拥有足够的情报。 可行性:在算法的执行过程中,每一个步骤都要可行,可通。经过执行能够得到一个结果。 确定性:算法中的每一个步骤都要有确切的含义,不能有二义性,对于相同的输入必须能得出相同的执行结果。 有穷性:一个

2、算法包含的操作步骤是有限的。也就是说,在执行若干个操作步骤之后算法结束,而且每一个步骤都要在合理的时间内完成。 拥有足够的情报:即拥有足够的输入数据。通过大量的给算法输入数据来验证算法输出的结果是否有误。【考题1】下列选项中不属于算法特征的是( )A 无穷性 B 确定性 C 可行性 D 拥有足够的情报【答案】:A【考题2】对于一个算法,它必须要在有限步骤合理时间内完成,这属于算法的( )A 可行性 B 确定性 C 有穷性 D拥有足够的情报【答案】:C【考题3】在算法中,算法的特征具有可行性、确定性、 、拥有足够的情报。【答案】:有穷性3、 算法的组成(1) 算法的组成有两种:对数据对象的运算和

3、操作、算法的控制结构。(2) 算法的控制结构有3种:顺序结构、选择结构、循环结构。4、 算法的方法(1) 在算法中,对问题描述的方法有6种:列举法、归纳法、递推、递归、减半递推技术、回溯法。5、 算法的复杂度(1) 算法的复杂度是对算法中的各种方法进行衡量的标准。(2) 算法的复杂度有两种:算法的时间复杂度和算法的空间复杂度。 算法的时间复杂度:是指执行算法所需要的(计算工作量)基本运算次数。 算法的空间复杂度:是指执行算法所需要的内存空间。 【知道】算法时间复杂度的好与坏不会影响空间复杂度的好与坏。【考题1】算法的时间复杂度是指( )A 执行算法程序所需要的时间 B 算法程序的长度 C 算法

4、执行过程中所需要的基本运算次数 D 算法程序中的指令条数【答案】:C【考题2】算法的空间复杂度是指( )A 算法程序的长度 B 算法程序中的指令条数 C 算法程序所占的存储空间 D 算法执行过程中所需要的存储空间【答案】:D【考题3】下列叙述中正确的是( )A 一个算法的空间复杂度大,则其时间复杂度也必定大 B 一个算法的空间复杂度大,则其时间复杂度必定小 C 一个算法的时间复杂度大,则其空间可复杂度必定小 D 上述三种说法都不对 【答案】:D【解析】:算法时间复杂度的好与坏不会影响空间复杂度的好与坏。考点2:数据结构(逻辑结构、存储结构、线性表、栈、队列、树和二叉树、查找和排序)1、 数据结

5、构(1) 数据结构主要研究和讨论三个方面的内容:逻辑结构、存储结构、运算。【考题1】数据结构包括数据的 和数据的存储结构。【答案】:逻辑结构2、 逻辑结构(1) 满足逻辑结构的的条件: 表示数据元素的信息; 表示各数据元素之间的前后件关系。(2) 逻辑结构的分类:线性结构、非线性结构。 线性结构:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件。 在本书中,线性结构主要讲到的有:线性表、栈、队列。 非线性结构:不满足线性结构条件的就属于非线性结构。 在本书中,非线性结构主要讲到的有:树、二叉树。【考题1】数据结构中,与所使用的计算机无关的是数据的( )A 存储结构 B 物理结构

6、C 逻辑结构 D 物理和存储结构【答案】:C【解析】:逻辑结构讨论的是现实世界中数据与数据之间的关系;存储结构也叫物理结构,指的是逻辑结构在计算机存储空间的存放形式。所以存储结构和计算机有关。A、B和D都不选。【考题2】以下数据结构中不属于线性结构的是( ) A 队列 B 线性表 C 二叉树 D 栈【答案】:C【考题3】数据的逻辑结构有线性结构和 两大类。【答案】:非线性结构3、 存储结构(1) 概念:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)(2) 数据的逻辑结构在计算机存储空间中的存储形式通常有两种:顺序存储结构、链式存储结构。 顺序存储结构:数据在

7、存储空间中必须连续,且元素之间一定要有前后件的关系。 链式存储结构:数据在存储空间中不一定连续,且各元素的存储顺序是任意的。(3) 两种存储结构的优缺点: 顺序存储结构:优点是查找方便。缺点是插入、删除不方便。 链式存储结构:优点是插入、删除方便。缺点是查找不方便。【考题1】数据的存储结构是指( ) A 存储在外存中的数据 B 数据所占的存储空间C 数据在计算机中的顺序存储 D 数据的逻辑结构在计算机中的表示【答案】:D【考题2】下列叙述正确的是( )A 一个逻辑数据结构只能有一种存储结构 B 数据的逻辑结构属于线性结构,存储结构属于非线性结构 C 一个逻辑数据结构可以有多

8、种存储结构,且各种存储结构不影响数据处理的效率 D 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 【答案】:D【解析】:一个逻辑数据结构可以有多种存储结构,例如顺序存储结构和链式存储结构。所以A答案不正确;数据的逻辑结构分为两类:线性结构和非线性结构。存储结构的存储形式可以有多种,例如顺序存储结构和链式存储结构。逻辑结构和存储结构都是我们数据结构的讨论内容。所以B答案不正确;只有D答案正确,因为一个逻辑数据结构可以有多种存储结构,例如顺序存储结构和链式存储结构,且各种存储结构影响数据处理的效率。【考题3】下列叙述中正确的是( ) A 算法的

9、效率只与问题的规模有关,而与数据的存储结构无关B 算法的时间复杂度是指执行算法所需要的计算工作量C 数据的逻辑结构与存储结构是一一对应的D 算法的时间复杂度与空间复杂度一定相关【答案】:B【解析】:算法的执行效率与数据的存储结构密切相关。所以A不正确;B是正确的;数据的逻辑结构与存储结构中的顺序存储结构是一一对应的(一致的),而与链式存储结构就不一定一一对应了。所以C不正确;算法时间复杂度的好与坏不会影响空间复杂度的好与坏,所以不相关,故D不正确。【考题4】下列叙述中正确的是( )A 程序执行的效率与数据的存储结构密切相关 B 程序执行的效率只取决于程序的控制结构C 程序执行的效率只取决于所处

10、理的数据量 D 以上三种说法都不对【答案】:A4、 线性表(1) 线性表往计算机中进行存放,不仅可以采用顺序存储结构存放,还可以采用链式存储结构存放。 顺序表:即线性表采用顺序存储结构存放。 线性链表:即线性表采用链式存储结构存放。(2) 顺序表和线性链表的特点: 顺序表:随机(访问)存取、查找方便,插入删除不方便、事先估计存储空间。 线性链表:顺序(访问)存取、插入删除方便,查找不方便、不必事先估计存储空间。【考题1】在下面关于线性表的叙述中,选出正确的一项( ) A 线性表的每一个元素都有一个直接前驱和直接后继 B 线性表中至少要有一个元素C 线性表中的元素必须按递增或递减的顺序排列D 除

11、第一个元素和最后一个元素外,每个元素都有一个直接前驱和直接后继【答案】:D【解析】:A答案不正确,因为除第一个元素和最后一个元素外,每个元素都有一个直接前驱和直接后继;B答案不正确,线性表中也可以没有元素,此时为空表;C答案不正确,线性表中元素的排列顺序没有要求;D答案正确。【考题2】下列对线性链表描述正确的是( ) A 存储空间不一定连续,且各元素的存储顺序是任意的 B 存储空间不一定连续,且前件元素一定存储在后件元素的前面 C 存储空间必须连续,且前件元素一定存储在后件元素的前面 D 存储空间必须连续,且各元素的存储顺序是任意的【答案】:A【解析】:线性表采用顺序存储结构存储时,数据在计算

12、机存储空间中必须连续,且元素之间一定要有前后件的关系;线性表采用链式存储结构存储时,数据在计算机存储空间中不一定连续,且各元素的存储顺序是任意的。【考题3】下列对线性表叙述中,正确的一项是( ) A 采用链式存储的线性表,必须占用一片连续的存储单元 B 采用顺序存储的线性表,便于进行插入和删除操作 C 采用链式存储的线性表,不必占用一片连续的存储单元D 链式和顺序存储的线性表,都便于进行插入和删除操作【答案】:C【解析】:线性表采用顺序存储结构存储时,数据在计算机存储空间中必须连续,且元素之间一定要有前后件的关系;线性表采用链式存储结构存储时,数据在计算机存储空间中不一定连续,且各元素的存储顺

13、序是任意的。顺序表便于查找,线性链表便于插入和删除操作。【考题4】线性表的顺序存储结构和线性表的链式存储结构分别是( )A 顺序存取的存储结构、顺序存取的存储结构B 随机存取的存储结构、顺序存取的存储结构 C 随机存取的存储结构、随机存取的存储结构D 任意存取的存储结构、任意存取的存储结构【答案】:B【解析】:顺序表的特点是随机(访问)存取;线性链表的特点是顺序(访问)存取。【考题5】链表不具有的特点是( )A 不必事先估计存储空间 B 可随机访问任一元素C 插入删除不需要移动元素 D 所需空间与线性表长度成正比【答案】:B【解析】:线性链表具有的特点:顺序(访问)存取、插入删除方便,查找不方

14、便、不必事先估计存储空间。A、C、D都属于,其D也要知道,线性表多长,在内存空间中也就多长。故B不正确。【考题6】数据结构分为逻辑结构与存储结构,线性链表属于 。 【答案】:存储结构【解析】:线性链表是线性表在计算机的存储空间中的链式存储结构。所以在计算机的存储空间中,因此属于存储结构。5、 栈(1) 栈是一种特殊的线性表,其特殊性是插入与删除运算都只在线性表的一端进行。即栈的一个考点是:入栈和退栈都是在一端(栈顶)进行的。(2) 栈在计算机中进行存储时通常采用的存储方式有:顺序存储结构、链式存储结构。(3) 栈的原则是:先进后出、后进先出。【考题1】下列关于栈的描述正确的是( ) A 在栈中

15、只能插入元素而不能删除元素 B 在栈中只能删除元素而不能插入元素 C 栈是特殊的线性表,只能在一端插入或删除元素D 栈是特殊的线性表,只能在一端插入元素,而不能在一端删除元素【答案】:C【解析】:栈的入栈运算和退栈运算都是在一端进行的,即栈顶。【考题2】下列关于栈的描述中错误的是( ) A 栈是先进后出的线性表 B 栈只能顺序存储 C 栈具有记忆作用 D 对栈的插入与删除操作中,不需要改变栈底指针【答案】:B【解析】:栈通常采用的存储方式有:顺序存储结构、链式存储结构。所以B不正确;关于C答案同学们也要知道,栈具有记忆作用。6、 队列(1) 队列是一个允许在一端进行插入、而在另一端进行删除的线

16、性表。即队列的一个考点是:队列的入队运算是在队尾进行、退队运算是在队头进行的。(2) 队列在计算机中进行存储时通常采用的存储方式有:顺序存储结构、链式存储结构。(3) 队列的原则是:先进先出、后进后出。(4) 循环队列是队列在计算机存储空间中采用顺序存储结构进行存储的一种形式。【考题1】下列关于队列的叙述中正确的是( ) A 在队列中只能插入元素 B 在队列中只能删除数 C 队列是先进先出的线性表 D 队列是先进后出的线性表【答案】:C【解析】:队列是一个先进先出的特殊线性表,其特殊性在于队列的插入是从队尾进行的,删除是从队头进行的。【考题2】一个队列的入队序列是1,2,3,4,则队列的输出序

17、列是( ) A 4,3,2,1 B 1,2,3,4 C 1,4,3,2 D 3,2,4,1【答案】:B【考题3】栈和队列的共同点是( )A 都是先进后出 B 都是先进先出 C 只允许在端点处插入和删除元素 D 没有共同点【答案】:C【解析】:栈和队列的共同点都是在端点处进行运算的。栈的插入与删除运算都只在线性表的一端进行;队列是一个允许在一端进行插入、而在另一端进行删除的特殊线性表。而与前面所讲的线性表不同,它可以在任意位置进行插入、删除运算。【考题4】线性表在计算机中的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的 存储结构。【答案】:顺序【考题5】设某

18、循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向对尾元素),则该循环队列中共有 个元素。【答案】:24【解析】:队头指针中不存放元素,从6号空间到29号空间中,总共有24个元素。7、 树和二叉树(1) 树是一种简单的非线性结构。在树中,所有数据元素之间的关系具有明显的层次特性。树的根节点可以没有或有一个。(2) 二叉树的性质: 2k-1 :在二叉树的第k层上,最多有多少的结点。 2k-1 :深度为k的二叉树中,最多有多少个总结点。 n=n0+n1+n2 :二叉树的总结点个数n等于叶子结点个数n0、度为1的结点个数n1、度为2的结点个数n2之和。

19、n0=n2+1 :叶子结点个数n0等于度为2的结点个数n2加1。(3) 二叉树的特殊情况:满二叉树、完全二叉树。 满二叉树:每一层的结点都达到了最多。 完全二叉树:结点按从上到下、从左到右的顺序依次进行排放的二叉树。(4) 二叉树的遍历方法:前序(根、左边、右边)、中序(左、根、右边)、后序(左、右边、根)。【考题1】一棵二叉树第5层的结点数最多为( ) A 8 B 16 C 32 D 15【答案】:B【解析】:利用二叉树的性质2k-1。【考题2】设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为( )A 12 B 13 C 14 D 15【答案】:B【考题3】设一棵完

20、全二叉树共有699个结点,则在该二叉树中的叶子结点数为( ) A 349 B 350 C 255 D 351【答案】:B【考题4】某二叉树中度为2的结点有18个,则该二叉树中有 个叶子结点。【答案】:19【考题5】在深度为7的满二叉树中,叶子结点的个数为( )A 32 B 31 C 64 D 63【答案】:C【解析】:利用二叉树的性质2k-1。27-1【考题6】在深度为7的满二叉树中,度为2的结点个数为( )A 32 B 31 C 64 D 63【答案】:D【解析】:利用二叉树的性质2k-1。27-1,接着使用n2= n0-1。【考题7】有如右图二叉树,请分别写出: 前序: 中序: 后序: 【

21、答案】:ABDYECFXZ、DYBEAFCZX、YDEBFZXCA8、 查找(1) 查找的方法有两种:顺序查找、二分法查找(对分查找)。 顺序查找:顺序查找在最坏的情况下需要比较n次,即时间复杂度为n。 二分法查找(对分查找):二分法查找在最坏的情况下需要比较log2n次,即时间复杂度为log2n。 只有在顺序存储、并且是有序表的情况下才可以进行二分法查找。【考题1】对长度为n的线性表进行顺序查找,在最坏的情况下所需要的比较次数为( ) A Log2n B n/2 C n D n+1【答案】:C【考题2】下列数据结构中,能用二分法进行查找的是( ) A 顺序存储的有序线性表 B 线性链表 C

22、二叉链表 D 有序线性链表【答案】:A9、 排序 交换类:冒泡排序法:n(n-1)/2 快速排序法:最坏情况下也比较n(n-1)/2次 插入类:简单插入排序法:n(n-1)/2 希尔排序法:O(n1.5) 选择类:简单选择排序法:n(n-1)/2 堆排序法:O(nlog2n)【考题1】对于长度为n的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是( ) A 冒泡排序为n/2 B 冒泡排序为n C 快速排序为n D 快速排序为n(n-1)/2【答案】:D【考题2】希尔排序法属于哪一种类型的排序法( ) A 交换类排序法 B 插入类排序法 C 选择类排序法 D 建堆排序法【答案】:B

23、备考巩固练习一、 选择题(1) 算法一般都可以用哪几种控制结构组合而成( )A 循环、分支、递归 B 顺序、循环、嵌套 C 循环、递归、选择 D 顺序、选择、循环(2) 下列叙述正确的是( ) A 算法的执行效率与数据的存储结构无关 B 算法的空间复杂度是指算法程序中指令(或语句)的条数C 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D 以上三种描述都不对(3) 用链表表示线性表的优点是( ) A 便于插入和删除操作 B 数据元素的物理顺序与逻辑顺序相同C 花费的存储空间较顺序存储少 D 便于随机存取(4) 线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )A 必须是连续的

24、 B 部分地址必须是连续的 C 一定是不连续的 D 连续不连续都可以(5) 栈通常采用的两种存储结构是( )A 顺序存储结构和链式存储结构 B 散列方式和索引方式C 链表存储结构和数组 D 线性存储结构和非线性存储结构(6) 树最适合用来表示( ) A 有序数组元素 B 无序数组元素C 元素之间具有分支层次关系的数据 D 元素之间无联系的数据 (7) 在一个二叉树中,第6层的结点数最多有( )A 32 B 31 C 64 D 63 (8) 在一棵深度为6的满二叉树中,叶子结点有( )A 32 B 31 C 64 D 63 (9) 在一棵深度为6的满二叉树中,度为2的结点数有( )A 32 B

25、31 C 64 D 63 (10) 某二叉树结点的前序序列为EACBDGF,中序序列为ABCDEFG。该二叉树结点的后序序列为( ) A BDCAFGE B DBCFAGE C DCEGFAB D DEGACFB (11) 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( )A cedba B acbed C decab D deabc (12) 二分法查找适合用于存储结构为( )且按关键字排好序的线性表 A 顺序存储 B 链式存储 C 顺序和链式存储 D 索引存储 (13) 冒泡排序法的时间复杂度为( )A n B n-1 C n(n-1)/2 D (n-1

26、)/2二、 填空题(1) 算法复杂度主要包括时间复杂度和 复杂度。(2) 数据的逻辑结构在计算机存储空间中的存放形式称为数据的 。(3) 数据结构分为逻辑结构和存储结构,循环队列属于 结构。(4) 顺序存储方法是把逻辑上相邻的结点存储在物理位置 的存储单元中。(5) 二叉树的遍历可以分为三种:前序遍历、 遍历和后序遍历。(6) 设一棵完全二叉树共有500个结点,则在该二叉树中有 个叶子结点。(7) 在最坏情况下,堆排序需要比较的次数为 。参考答案一、 选择题(1)-(5):DCADA (6)-(10):CAABA (11)-(13):AAC二、 填空题(1)、空间 (2)、存储结构 (3)、存

27、储 (4)、相邻 (5)、中序 (6)、250 (7)、0(nlog2n)第二章 程序设计基础1、 程序设计的风格 (1) 程序设计的风格注重的是:清晰第一、效率第二。 (2) 要使程序的清晰达到最好,我们在程序设计的过程中将源程序文档化: 符号名的命名应具有一定的实际含义,以便于读者理解。 程序中的注释要尽量多,程序中的注释又分为:序言性注释、功能性注释。 视觉组织要合理。【考题1】结构化程序设计主要强调的是( )A 程序的规模 B 程序的易读性 C 程序的执行效率 D 程序的可移植性【答案】:B【解析】:程序设计主要强调的是:清晰第一、效率第二。程序的易读性、可理解性都表示程序清晰。【考题

28、2】对建立良好的程序设计风格,下面描述正确的是( )A 程序应简单、清晰、可读性好 B 符号名的命名要符合语法C 充分考虑程序的执行效率 D 程序的注释可有可无【答案】:A【解析】:程序设计主要强调的是:清晰第一、效率第二。程序的易读性、可理解性都表示程序清晰。所以A正确;符号名的命名要有一定的实际含义,应做到见名之意;所以B不正确。2、 结构化程序设计(1) 结构化程序设计的基本结构有三种:顺序结构、选择结构、循环结构。(2) 结构化程序设计的基本原则有四种:自顶向下、逐步求精、模块化、限制使用goto语句。【考题1】下列选项中不属于结构化程序设计方法的是( )A 自顶向下 B 逐步求精 C

29、 模块化 D 可复用【答案】:D3、 面向对象的程序设计(1) 对象:客观世界中任何的实体称为对象。 对象的特点有:标识唯一性、分类性、多态性、封装性、模块独立性好。 (2) 类:是具有共同属性,共同方法的对象的集合。即类是从对象抽象出来的。 (3) 实例:类中的实例称为对象;对象是类的实例。 (4) 消息:是指对象间传递信息的手段。(5) 继承:类之间共享属性和操作的机制称为继承。 继承的优点可以提高软件的可重用性。(6) 总结:类具有封装性、模块具有独立性、信息具有隐蔽性、继承具有传递性。【考题1】在面向对象方法中, 描述的是具有相似属性与操作的一组对象。【答案】:类【考题2】在面向对象方

30、法中,类的实例称为 。【答案】:对象【考题3】下面概念中,不属于面向对象方法的是( )A 对象 B 继承 C 类 D 过程调用【答案】:D【解析】:在面向对象的方法中,主要讲到了:类、对象、实例、消息、继承、多态性、封装性、模块独立性等。备考巩固练习一、选择题(1) 在设计程序时,应采纳的原则之一是( )A 程序结构应有助于读者理解 B 不限制goto语句的使用C 减少或取消注解行 D 程序越短越好(2) 在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在与程序的效率相比,人们更重视程序的( )A 安全性 B 一致性 C 可理解性 D 合理性(3) 下面描述中,符合结构化程序设计

31、风格的是( )A 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B 模块只有一个入口,可以有多个出口 C 注重提高程序的执行效率 D 不使用goto语句(4) 下面对对象概念描述错误的是( )A 任何对象都必须有继承性 B 对象是属性和方法的封装体C 对象间的通讯靠消息传递 D 操作是对象的动态性属性(5) 面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是( )A 模拟现实世界中不同事物之间的联系 B 强调模拟现实世界中的算法而不强调概念 C 使用现实世界的概念抽象地思考问题从而自然地解决问题 D 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考二

32、、填空题(1) 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、 和限制使用goto语句。(2) 面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个 。(3) 在面向对象方法中,信息隐蔽是通过对象的 性来实现的。(4) 面向对象的模型中,最基本的概念是对象和 。(5) 在面向对象方法中,类之间共享属性和操作的机制称为 。(6) 在面向对象方法中,类的实例称为 。 (7) 源程序文档化要求程序应加注释。注释一般分为序言性注释和 注释。 (8) 结构化程序设计方法中所指的三种基本数据控制结构包括顺序结构、选择结构、 。参考答案一、选择题(1)-(5):ACAAC二、填空题(

33、1)、模块化 (2)、实体 (3)、封装 (4)、类 (5)、继承 (6)、对象 (7)、功能性 (8)、循环结构第三章 软件工程基础考点1:软件工程的基本概念(软件、软件危机、软件工程、软件生命周期)1、 软件(1) 软件是包括程序、数据及其相关文档的完整集合。(2) 软件按功能分为:应用软件、系统软件、支撑软件(工具软件)。【考题1】下列描述中正确的是( ) A 程序就是软件 B 软件开发不受计算机系统的限制 C 软件即是逻辑实体,又是物理实体 D 软件是程序、数据与相关文档的集合【答案】:D【解析】:本题选择D,因为软件是包括程序、数据及其相关文档的完整集合;A答案中,程序和软件不能恒等

34、;B答案不正确的原因是:软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制;C答案不正确的原因是:软件是一种逻辑实体,而不是物理实体,具有抽象性。2、 软件危机 (1) 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。3、 软件工程(1) 定义:为了解决软件危机在软件的开发和维护过程中尽可能多的使用过程科学的原理来指导工作。(2) 3个要素:方法、工具和过程。(3) 核心思想:尽可能多的使用工程科学的原理来指导工作。(4) 达到目标,要研究的内容有:软件开发技术、软件工程管理。(5) 原则:抽象、信息隐蔽、模块化、局部化等。(6) 软件开发环境:是软件工具的集合。如:

35、CASE(计算机辅助软件工程)【考题1】下列描述中正确的是( ) A 软件工程只解决软件项目的管理问题 B 软件工程主要解决软件产品的生产率问题 C 软件开发的主要思想是强调在软件开发的过程中需要应用工程化原则 D 软件工程只解决软件开发中的技术问题【答案】:C【解析】:软件工程应用计算机科学、数学及管理科学等原理采用工程化原则和方法开发软件系统。它不仅解决软件开发中的技术问题,还解决软件项目的管理问题和软件产品的生产率问题。【考题2】下面不属于软件工程的3个要素的是( )A 工具 B 过程 C 方法 D 环境【答案】:D【考题3】在软件研制过程中,CASE是( ) A 计算机辅助系统过程 B

36、 CAD和CAM技术发展动力 C 正在实验室用的工具 D 计算机辅助软件工程【答案】:D【考题4】软件工程概念的出现源自 。【答案】:软件危机 【解析】:软件工程是在软件危机的情况下提出的。4、 软件生命周期(1) 软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期分为以下三个阶段: 定义阶段:提出、分析和定义。 开发阶段:编码、测试。 维护阶段:维护软件的功能,对软件的功能进行增加和删改。此阶段最重要,而且所花费用也最高。【考题1】软件开发的结构化生命周期方法将软件生命周期划分成( )A 定义、开发、运行维护 B 设计阶段、编程阶段、测试阶段 C 总体设计、详细

37、设计、编程调试 D 需求分析、功能定义、系统设计【答案】:A【考题2】软件生命周期中所花费用最多的阶段是( )A 详细设计 B 软件编码 C 软件测试 D 软件维护【答案】:D【考题3】下列叙述中正确的是( ) A 软件交付使用后还需要进行维护  B 软件一旦交付使用就不需要再进行维护 C 软件交付使用后其生命周期就结束  D 软件维护是指修复程序中被破坏的指令 【答案】:A【解析】:通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件交付使用后还需要在运行、使用过程中不断维护,根据新提出的需求进行必要而且可能的扩充和删改。考

38、点2:软件定义(需求分析、结构化分析方法、软件需求规格说明书)1、 需求分析(1) 任务:准确地确定软件系统必须做什么,确定软件系统必须具备那些功能。(2) 阶段: 需求获取、 需求分析、 编写需求规格说明书、 需求评审。【考题1】在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )A 概要设计 B 详细设计 C 可行性分析 D 需求分析【答案】:D【考题2】软件需求分析四个阶段分为:需求获取、需求分析、编写需求规格说明书以及( ) A 阶段性报告 B 需求评审 C 总结 D 都不正确【答案】:B2、 结构化分析方法(1) 在需求分析中,结构化分析方法是常用的一种,

39、其目的是帮助弄清用户对软件的需求。(2) 结构化分析方法中常使用的工具有四种:数据流图、数据字典、判定表、判定树。 数据流图(DFD):图形中的箭头表示“数据流”。 数据字典(DD):字典的作用是解释;也是结构化分析方法的核心。【考题1】在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是( )A 可行性分析 B 需求分析 C 详细设计 D 程序编码【答案】:B【解析】:在需求分析阶段,常使用的工具是结构化分析方法中的数据流图,所以选择B。【考题2】数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( )A 控制流

40、 B 加工 C 数据存储 D 源和潭【答案】:A【解析】:数据流图中的图形有加工、数据流、存储文件、源和潭。控制流是属于程序流程图中的。【考题3】下列工具中属于需求分析常用工具的是( )A PAD B PFD C N-S D DFD【答案】:D【考题4】下列不属于结构化分析的常用工具的是( )A 数据流图 B 数据字典 C 判定树 D PAD图【答案】:D3、 软件需求规格说明书(1) 软件需求规格说明书的作用: 便于用户、开发人员进行理解和交流。 反映出用户问题的结构,可以作为软件开发工作的基础和依据。 作为确认测试和验收的依据。(2) 软件需求规格说明书的特点:无歧义性这一特点是整个当中最

41、为重要的。【考题1】下列叙述中,不属于软件需求规格说明书的作用的是( )A 便于用户、开发人员进行理解和交流 B 反映出用户问题的结构,可以作为软件开发工作的基础和依据C 作为确认测试和验收的依据 D 便于开发人员进行需求分析【答案】:D考点3:软件开发(结构化设计方法、软件测试、程序调试)1、 结构化设计方法(1) 按技术观点来分类:结构设计、数据设计、接口设计、过程设计。(2) 按工程管理角度分类:概要设计、详细设计。 概要设计:将软件的功能进行分解。 概要设计的工具有:结构图(SC)。 结构图中的箭头表示调用关系;深度表示控制的层数;宽度表示跨度最大的模块数目。 详细设计:确定每个模块的

42、实现算法和局部数据结构。 详细设计的工具有:程序流程图(PFD)、N-S、PAD、HIPO、判定表、PDL。 程序流程图中的箭头表示控制流。 N-S是用方框图来代替传统的程序流程图的。(3) 软件设计的(原则)原理:抽象、模块化、信心隐蔽、模块独立性。 其中模块独立性这一原则非常重要,其考点是:模块要想尽可能独立必须要遵循“高内聚、低耦合”的设计原则。(4) 数据流的类型有两类:变换型、事务型。【考题1】在结构化方法中,软件功能分解属于下列软件开发中的阶段是( )A 详细设计 B 需求分析 C 总体设计 D 编程调试【答案】:C【解析】:总体设计也称为概要设计。即对软件的总体进行分解。【考题2

43、】下面不属于软件设计原则的是( )A 抽象 B 模块化 C 自底向上 D 信息隐蔽【答案】:C【考题3】程序流程图(PFD)中的箭头代表的是( )A 数据流 B 控制流 C 调用关系 D 组成关系【答案】:B【考题4】为了使模块尽可能独立,要求( ) A 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强【答案】:B【考题5】面向数据流的设计方法,一般把信息流分为 ,另一种称为事务流。【答案】:变换流2、 软件测试(1)

44、 软件测试的目的:发现错误。(2) 软件测试的实施(过程):单元测试、集成测试、确认测试(验收测试)、系统测试。 单元测试:目的是发现各模块内部可能存在的各种错误。 集成测试:目的是发现与接口有关的错误。 确认测试(验收测试):测试是否满足需求分析。(3) 软件测试的方法:静态测试、动态测试。 静态测试:不由计算机执行程序代码,主要是通过人看出程序错误。 动态测试:有计算机执行程序进行测试,是基于计算机的测试。 白盒测试:内部结构的测试。又称为“路径测试”。白盒测试的方法又包括:逻辑覆盖测试、基本路径测试等。 黑盒测试:外部接口的功能测试。黑盒测试的方法又包括:等价类划分法、边界值分析法、错误

45、推测法、因果图法等。【考题1】在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是( ) A 循环的集合 B 地址的集合 C 路径的集合 D 目标的集合【答案】:C【解析】:白盒(白箱)测试的基本原则是:保证所测模块中每一独立路径至少执行一次。白盒法又叫“路径测试”。【考题2】软件测试的目的是( ) A 发现错误 B 改正错误 C 改善软件的性能 D 挖掘软件的潜能【答案】:A【考题3】软件测试的内容包括:集成测试、验收测试、系统测试、单元测试。下列正确的测试顺序是( ) A B C D 【答案】:C【考题4】若按功能划分,软件测试的方法通常分为白盒测试方法和 测试方法。【答案

46、】:黑盒【考题5】为了提高测试的效率,应该( )A 随机选取测试数据 B 取一切可能的输入数据作为测试数据C 在完成编码以后制定软件的测试计划 D 集中对付那些错误群集的程序【答案】:D【解析】:经验表明,程序中存在错误的概率与程序中已发现的错误数成正比。这一现象说明,为了提高测试的效率,测试人员应该集中对付那些错误群集的程序。【考题6】下列叙述中正确的是( ) A 程序设计就是编制程序  B 程序的测试必须由程序员自己去完成 C 程序经调试改错后还应进行再测试  D 程序经调试改错后不必进行再测试 【答案】:C【解析】:程序设计包括程序的结构

47、设计、数据设计、接口设计、过程设计,并不是只有编制程序这么简单,所以选项A叙述错误;在软件测试准则中明确说明程序员应尽量避免检查自己的程序,所以选项B叙述错误;程序经过调试改错后可能会引起其他错误的现象发生,所以程序经过调试改错后必须再进行测试。所以选项D叙述错误。3、 程序调试(1) 程序调试的目的:改正错误。(2) 程序调试的方法:强行排错法、回溯法、原因排除法。【考题1】软件调试的目的是( )A 发现错误 B 改正错误 C 改善软件的性能 D 挖掘软件的潜能【答案】:B【考题2】下列不属于软件调试技术的是( )A 强行排错法 B 集成测试法 C 回溯法 D 原因排除法【答案】:B备考巩固练习一、 选择题(1) 下列关于计算机软件特点的描述,错误的是(A ) A 软件是物理实体,不过其具有抽象性 B 软件没有明显的制作过程 C 软件开发复杂性高,成本昂贵 D 软件在运行、使用期间不存在磨损和老化的问题(2) 需求分析阶段的任务是确定( D)A 软件开发方法 B 软件开发工具 C 软件开发费用 D 软件系统功能(3) 在数据流图(DFD)中,带有名字的箭头表示( C )A 控制程序的执行顺序 B 模块之间的调用关系 C 数据的流向 D 程序的组成成分(4) 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( B )A 模块间的关系 B 系统结构部件转换成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论