参考答案及解析.docx

上传人:b****4 文档编号:5500462 上传时间:2022-12-17 格式:DOCX 页数:25 大小:43.07KB
下载 相关 举报
参考答案及解析.docx_第1页
第1页 / 共25页
参考答案及解析.docx_第2页
第2页 / 共25页
参考答案及解析.docx_第3页
第3页 / 共25页
参考答案及解析.docx_第4页
第4页 / 共25页
参考答案及解析.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

参考答案及解析.docx

《参考答案及解析.docx》由会员分享,可在线阅读,更多相关《参考答案及解析.docx(25页珍藏版)》请在冰豆网上搜索。

参考答案及解析.docx

参考答案及解析

参考答案及解析

考点1数据结构与算法

(1)【答案】D)【解析】算法是指解题方案的准确而完整的描述,算法既不等于程序,也不等于计算方法,因此A)错误。

设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构,因此B)和C)错误。

(2)【答案】A)【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。

算法的有穷性是指算法程序的运行时间是有限的,因此本题答案为A)。

(3)【答案】A)【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间,因此本题答案为A)。

(4)【答案】B)【解析】线性结构应满足:

有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,因此B)正确。

因为有一个以上根结点的数据结构一定是非线性结构,所以A)错误。

循环链表和双向链表都是线性结构的数据结构。

(5)【答案】A)【解析】栈支持子程序调用。

栈是一种只能在一端进行插入或删除的线性表,在主程序调用子程序时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,然后继续向下执行,这种调用方式符合栈的特点,因此本题的答案为A)。

(6)【答案】B)【解析】栈是只允许在同一端进行插入和删除运算的线性表,按“先进后出”组织数据,因此本题答案为B)。

(7)【答案】B)【解析】栈按后进先出的原则组织数据,因此入栈最晚的最先出栈,因此本题答案为B)。

(8)【答案】B)【解析】栈是按先进后出的原则组织数据的;队列是按先进先出的原则组织数据的,因此本题答案为B)。

(9)【答案】A)【解析】栈是先进后出的数据结构,因此栈顶元素最后入栈却最先被删除,栈底元素最先入栈却最后被删除,所以本题答案为A)。

(10)【答案】C)【解析】栈是先进后出的数据结构,在对栈操作的整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来完成,因此本题答案C)。

(11)【答案】D)【解析】栈是先进后出的线性表,因此A)错误;队列是先进先出的线性表,因此B)错误;循环队列是线性结构的线性表,因此C)错误,故本题答案为D)。

(12)【答案】D)【解析】栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构,因此本题答案为D)。

(13)【答案】D)【解析】循环队列有队头和队尾两个指针,但是循环队列仍是线性结构,因此A)错误;在循环队列中需要队头与队尾两个指针来共同反映队列中元素的动态变化情况,因此B)与C)错误,故本题答案为D)。

(14)【答案】D)【解析】循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。

因为是循环利用的队列结构,所以对头指针有时可能大于队尾指针有时也可能小于队尾指针,故本题答案为D)。

(15)【答案】B)【解析】在实际应用中,队列的顺序存储结构一般采用循环队列的形式,循环队列是线性结构,因此本题答案为B。

(16)【答案】A)【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,因此B)与C)错误。

链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,因此D)错误。

本题答案为A)。

(17)【答案】B)【解析】线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,因此一般要多于顺序存储结构,选项B)正确。

(18)【答案】C)【解析】一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。

线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。

因此,本题答案为C)。

(19)【答案】C)【解析】树是简单的非线性结构,因此二叉树作为树的一种属于非线性结构,答案C)正确。

(20)【答案】C)【解析】根据总体结构图可以看出该树的深度为3,比如:

XY系统——功能2——功能2.1,就是最深的度数的一个表现,因此本题答案为C)。

(21)【答案】C)【解析】根据二叉树的基本性质3:

在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,因此本题答案是5+1=6,故选择C)。

(22)【答案】D)【解析】根据二叉树的基本性质3:

在任意一棵二叉树中,度为0的叶子结点总比度为2的结点多一个,因此本题中度为2的结点为1-1=0个,据此可以知道本题目中的二叉树的每一个结点都有一个分支,所以共7个结点共7层,即深度为7,选择D)。

(23)【答案】B)【解析】根据二叉树的基本性质3:

在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,因此答案为B)。

(24)【答案】A)【解析】根据二叉树的性质3:

在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1=4个,所以度为1的结点的个数是25-5-4=16个,选择A)。

(25)【答案】C)【解析】当有序线性表为顺序存储时才能用二分法查找。

可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次,因此本题答案为C)。

(26)【答案】D)【解析】快速排序、冒泡排序和直接插入排序在最坏情况下,比较次数都是n(n-1)/2,堆排序在最坏情况下的比较次数最少,是O(nlog2n),因此本题答案为D)。

(27)【答案】D)【解析】冒泡排序、直接插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n,因此本题答案为D)。

考点2程序设计基础

(1)【答案】A)【解析】结构化程序设计的思想包括:

自顶向下、逐步求精、模块化、限制使用goto语句,多态性是面向对象的程序设计的思想,因此本题答案为A)。

(2)【答案】A)【解析】结构化程序设计的思想包括:

自顶向下、逐步求精、模块化、限制使用goto语句,因此本题答案为A)。

(3)【答案】B)【解析】1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式的结构化程序设计方法,因此本题答案为B)。

(4)【答案】A)【解析】面向对象设计方法的基本概念有对象、类和实例、消息、继承与多态性,因此选择A)。

(5)【答案】A)【解析】在面向对象方法中,对象的基本特点包括:

标识唯一性、分类性、多态性、封装性、模块独立性好。

一致性不属于对象的基本特点,因此本题答案为A)。

(6)【答案】B)【解析】只有B)选项369可以用无符号整数来表示和存储。

A)选项-369有负号,选项C)0.369是小数,它们都不能用无符号整数类存储。

选项D)是一个整数集合需要用数组来存储。

(7)【答案】D)【解析】继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。

广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,因此继承是指类之间共享属性和操作的机制,选项D)正确。

考点3软件工程基础

(1)【答案】A)【解析】软件按功能可以分为:

应用软件、系统软件、支撑软件。

操作系统、编译程序、汇编程序、网络软件、数据库管理系统都属于系统软件,因此B)、C)、D)都是系统软件,只有A)是应用软件。

(2)【答案】C)【解析】编译程序、操作系统、汇编程序都属于系统软件,只有教务管理系统才是应用软件,因此本题答案为C)。

(3)【答案】A)【解析】软件危机主要表现在:

软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

因此本题答案为A)。

(4)【答案】A)【解析】通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期,因此本题答案为A)。

(5)【答案】A)【解析】软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。

主要活动包括:

可行性研究与计划、需求分析、软件设计、软件实现、软件测试、运行和维护,因此本题答案为A)。

(6)【答案】B)【解析】A)错误,可行性分析阶段产生可行性分析报告。

C)错误,总体设计阶段产生概要设计说明书。

D)错误,集成测试计划是在概要设计阶段编写的文档。

B)正确,需求规格说明书是需求分析阶段产生的主要文档,是后续工作如设计、编码等需要的重要参考文档。

(7)【答案】D)【解析】需求分析阶段的工作可以概括为:

需求获取、需求分析、编写需求规格说明书、需求评审四个方面,因此本题答案为D)。

(8)【答案】D)【解析】需求分析阶段的工作包括:

需求获取、需求分析、编写需求规格说明书、需求评审,因此本题答案为D)。

(9)【答案】D)【解析】数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流的名称,因此本题答案为D)。

(10)【答案】B)【解析】软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。

模块的划分应遵循一定的准则,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。

模块之间的耦合应尽可能的低,模块的内聚应尽可能的高,因此本题答案为B)。

(11)【答案】B)【解析】模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。

一般较优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,因此A)错误,B)正确。

耦合性是模块间互相连接的紧密程度的度量,内聚性是指一个模块内部各个元素间彼此结合的紧密程度,因此C)与D)错误。

(12)【答案】B)【解析】一般较优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,因此本题答案为B)。

(13)【答案】B)【解析】在需求分析阶段可以使用的工具有数据流图(DFD图),数据字典(DD),判定树与判定表,因此本题答案为B)。

(14)【答案】A)【解析】详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,因此A)描述错误。

(15)【答案】C)【解析】系统结构图是对软件系统结构的总体设计的图形显示。

在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。

PAD图是在详细设计阶段用到的。

程序流程图是对程序流程的图形表示,在详细设计过程中用到。

数据流图(DFD图)是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,因此它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以本题答案为C)。

(16)【答案】C)【解析】在数据流图中,用标有名字的带箭头线段表示数据流。

在程序流程图中,用标有名字的带箭头线段表示控制流,因此本题答案为C)。

(17)【答案】C)【解析】N-S图提出了用方框图来代替传统的程序流程图,因此A)不对。

PAD图是问题分析图,它是继承程序流程图和方框图之后提出的又一种主要用于描述软件详细设计的图形表示工具,因此B)不对。

E-R图是数据库中用于表示E-R模型的图示工具,因此D)不对。

根据图中所示表示方法可以得知该图是进行软件详细设计时使用的程序流程图,因此本题答案为C)。

(18)【答案】A)【解析】软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,因此选项A)错误。

程序调试的基本步骤有:

错误定位、修改设计和代码以排除错误、进行回归测试以防止引进新的错误。

程序调试通常称为Debug,即排错。

软件测试的基本准则包括:

所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、不可能实现穷举测试、妥善保存测试计划等文件。

(19)【答案】D)【解析】软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能,也不是为了评估软件或改正错误,因此本题答案为D)。

(20)【答案】B)【解析】黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明,因此本题答案为B)。

(21)【答案】D)【解析】程序调试的任务是诊断和改正程序中的错误,因此本题答案为D)。

考点4数据库设计基础

(1)【答案】B)【解析】数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,是一种在操作系统支持下的系统软件,因此本题答案为B)。

(2)【答案】C)【解析】数据定义语言:

负责数据的模式定义与数据的物理存取构建;数据操纵语言:

负责数据的操纵,包括查询及增加、删除、修改等操作;数据控制语言:

负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。

因此本题答案为C)。

(3)【答案】C)【解析】数据管理技术发展至今经历了三个阶段:

人工管理阶段、文件系统阶段和数据库系统阶段。

其中最后一个阶段结构简单,逻辑性强物理性少,使用方便,在各方面的表现都最好,一直占据数据库领域的主导地位,因此本题答案为C)。

(4)【答案】C)【解析】数据库系统的三级模式是概念模式、外模式和内模式。

概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户的公共数据视图。

外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,因此选择C)。

内模式又称物理模式,它给出了数据库物理存储结构与物理存取的方法。

(5)【答案】D)【解析】数据库系统的三级模式是概念模式、外模式和内模式,不包括数据模式,因此选择D)。

(6)【答案】B)【解析】数据库系统的三级模式是概念模式、外模式和内模式。

概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户的公共数据视图。

外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。

内模式又称物理模式,它给出了数据库的物理存储结构与物理存取方法,因此本题答案为B)。

(7)【答案】D)【解析】层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,因此三种数据库的划分原则是数据之间的联系方式,选项D)正确。

(8)【答案】B)【解析】因为一间宿舍可以住多名学生即多名学生住在一间宿舍中,但一名学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系,因此本题答案为B)。

(9)【答案】C)【解析】因为一名工作人员可以操作多台计算机,而一台计算机又可以被多名工作人员使用,所以两个实体之间是多对多的关系,选择C)。

(10)【答案】D)【解析】因为一名教师可讲授多门课程,而一门课程又能由多名教师讲授,所以教师和课程之间是多对多的关系,可以表示为m:

n,选择D。

(11)【答案】C)【解析】在E-R图中实体集用矩形表示,属性用椭圆表示,联系用菱形表示,因此选择C)。

(12)【答案】C)【解析】学号是学生表S的主键,课号是课程表C的主键,因此选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,故本题答案为C)。

(13)【答案】A)【解析】实体完整性约束要求关系的主键中属性值不能为空值,因此本题答案为A)。

(14)【答案】B)【解析】投影运算是从关系模式中挑选若干属性组成新的关系,这是从列的角度进行的运算,相当于对关系进行垂直分解。

本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系,因此选择B)。

(15)【答案】D)【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,因此B)错误。

笛卡尔积是用R集合中的元素为第一元素,S集合中的元素为第二元素构成的有序对,因此C)错误。

根据关系T可以很明显地看出是从关系R与关系S中取得相同的关系组,所以使用的是交运算,选择D)。

(16)【答案】D)【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,因此根据关系T中的有序组可知关系R与S进行的是自然连接操作,故本题答案为D)。

(17)【答案】B)【解析】关系T中的元组是R关系中有而S关系中没有的元组的集合,因此进行的是差的运算,答案为B。

(18)【答案】D)【解析】关系T中的元组是关系R中有而关系S中没有的元组的集合,即从关系R中除去与关系S中相同元组后得到的关系T,因此做的是差的运算,选择D)。

(19)【答案】A)【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,因此根据T中元组可以判断关系R和S做的是自然连接操作,答案为A)。

(20)【答案】C)【解析】如果T=R/S,则T称为R除以S的商。

在除运算中T的域由R中那些不出现在S中的域所组成,对于T中的任一有序组,由它与关系S中每个有序组所构成的有序组均出现在关系R中。

因此本题选择C)。

(21)【答案】A)【解析】数据库应用系统中的核心问题是设计一个能满足用户需求、性能良好的数据库,这就是数据库设计,因此本题答案为A)。

(22)【答案】A)【解析】数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的,因此选择A)。

(23)【答案】C)【解析】将E-R图转换成关系数据模型是把图形分析出来的联系反映到数据库中,即设计出表,因此属于逻辑设计阶段,答案为C)。

(24)【答案】C)【解析】从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性,因此本题答案为C)。

(25)【答案】D)【解析】在关系T中包含了关系R与S中的所有元组,所以进行的是并的运算,答案为D)。

考点5 C语言概述

(1)【答案】A)【解析】使用顺序、选择(分支)、循环3种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,因此A)选项错误。

(2)【答案】A)【解析】算法有0个或多个输入,有一个或多个输出,所以A)错误。

(3)【答案】A)【解析】采用自上至下,逐步细化的设计方法把若干独立模块组装成所要求的程序,所以A)错误。

(4)【答案】A)【解析】在C语言程序设计中,所有函数可以保存在不同的源文件中,结构化程序是指采用自顶向下,逐步分解的方式将复杂的问题分解成一些简单的子任务。

(5)【答案】A)【解析】一个C程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C语言程序可以实现多种算法。

(6)【答案】A)【解析】程序的执行总是从main函数开始,在main函数中结束,其他函数通过main函数调用执行,所以A)正确。

(7)【答案】A)【解析】E前E后有数字,E后数字为整数,B)错误;'\'为转义字符,后面跟特定字符,用来表示ASCII字符,C)错误;一个整数之间不能有逗号,D)错误。

(8)【答案】A)【解析】一个C语言程序能实现多种算法,所以A)错误。

(9)【答案】A)【解析】在C语言中函数不能嵌套定义,所以选择A)。

(10)【答案】A)【解析】C语言程序没有过程,所以B)错误;C语言函数可以单独编译,所以C)错误;函数可以作为单独文件存在,所以D)错误,最终答案选择A)。

(11)【答案】A)【解析】C程序书写格式自由,B)、C)、D)错误。

(12)【答案】A)【解析】C语言中的非执行语句不会被编译,不会生成二进制的机器指令,因此A)选项错误。

由C语言构成的指令序列称为C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.obj的二进制文件(称为目标文件);最后要由”连接程序”把此.obj文件与C语言提供的各种库函数连接起来生成一个后缀为.exe的可执行文件。

根据上述分析可知,A)选项叙述错误。

考点6 数据类型、运算符与表达式

(1)【答案】A)【解析】C语言中标识符由字母、下划线或数字组成,且开头必须是字母或下划线。

另外,关键字不能作为其他用途的标识符。

因为C语言中区分大小写,所以B)选项中的“FOR”可以作为标识符来用。

A)选项中含有非法字符&,因此选择A)。

(2)【答案】A)【解析】C语言中标识符由字母、下划线或数字组成,且开头必须是字母或下划线。

因此A)选项中的连接符不合法。

(3)【答案】A)【解析】变量命名规范:

由字母数字下划线组成,且数字不作为开头。

所以A)错误。

(4)【答案】A)【解析】C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。

另外,关键字不能作为其他用途的标识符。

B)选项中以数字8开头,所以错误。

C)与D)中用的是关键字void与unsigned,因此错误。

故本题答案为A)。

(5)【答案】A)【解析】C语言不存在逻辑类型,所以A)错误。

单精度float类型可提供6位有效数字,双精度double类型可提供16位有效数字,所以要保存带有多位小数的数据,要使用双精度类型,所以B)选项正确。

结构体类型可以保存不同类型数据,所以C)正确,整数的表示是不存在误差的,所以D)选项正确。

(6)【答案】A)【解析】C语言中八进制整型常量的开头是数字0,十六进制整型常量的开头是数字0x或0X。

C语言中的实型常量有两种表示形式:

小数形式,小数形式表示的实型常量必须要有小数点;指数形式,以“e”或“E”后跟一个整数来表示以10为底数的幂数,且规定字母e或E之前必须要有数字,且e或E后面的指数必须为整数。

B)选项中028错误,八进制中没有数字8。

C)选项中4e1.5中e后面的指数不是整数。

D)选项中3.e5小数点后面缺少数字。

因此本题答案为A)。

(7)【答案】A)【解析】A)选项中115L表示115是长整型数据,合法。

B)选项是八进制常量的表示方法,但是在八进制中不能含有数字8,因此B)选项错误。

C)选项中e后面应该是整数,不能是小数(1.5),因此C)选项错误。

D)选项中八进制常量应该是数字“0”开始,而不是字母“o”开始。

故本题答案为A)。

(8)【答案】A)【解析】在C语言中整型常量可以用十进制、八进制和十六进制等形式表示,但不包括二进制,因此选择A)。

(9)【答案】A)【解析】定义变量时不能连等,所以B)错误,C)选项中,b是指针,c定义为指向指针的指针才可以接受&b,所以C)错误,D)选项,b=1.1前没有类型名,所以错误。

(10)【答案】A)【解析】本题考查的知识点是字符常量中的转义字符。

转义字符是以一个“\”开头的字符序列,它只代表一个字符。

在选项A)中,“\”后跟着三个数字,是表示一个ASCII码值等于这三位数字所组成的八进制数数值的字符,但是八进制数只能是由0~7这八个数字表示,而选项A)中出现了数字8,所以是不合法的。

选项B)是表示一个双引号的转义字符表示方法;选项C)表示的是一个反斜框;选项D)表示一个ASCI

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1