国家二级C++机试(程序设计基础、软件工程基础)模拟试卷4(题后含

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

国家二级C++机试(程序设计基础、软件工程基础)模拟试卷4(题
后含答案及解析)
题型有:1. 选择题
选择题
1.下列描述中,不符合良好程序设计风格要求的是( )。

A.程序的效率第一,清晰第二
B.程序的可读性好
C.程序中要有必要的注释
D.输入数据前要有提示信息
正确答案:A
解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。

程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。

著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。

知识模块:程序设计基础、软件工程基础
2.下列选项中不属于结构化程序设计原则的是( )。

A.可封装
B.自顶向下
C.模块化
D.逐步求精
正确答案:A
解析:结构化设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用goto语句。

知识模块:程序设计基础、软件工程基础
3.下列选项中不属于结构化程序设计方法的是( )。

A.自顶向下
B.逐步求精
C.模块化
D.可复用
正确答案:D
解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用goto语句。

自顶向下是指程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。

逐步求精是指对复杂问题应设计一些子目标过渡,逐步细化。

模块化是把程序要解决的总目标先分解成分目标,再进一步分解成具体的小目标,把每个小目标称为一个模块。

可复用性是指软件元素不加修改成稍加修改便可在不同的软件开发过程中重复使用的性质。

软件可复用
性是软件工程追求的目标之一,是提高软件生产效率的最主要方法,不属于结构化程序设计方法。

知识模块:程序设计基础、软件工程基础
4.下列选项中不符合良好程序设计风格的是( )。

A.源程序要文档化
B.数据说明的次序要规范化
C.避免滥用goto语句
D.模块设计要保证高耦合、高内聚
正确答案:D
解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。

程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。

可以认为,著名的“清晰第一、效率第二”的论点已成为当今主导的程序设计风格。

良好的程序设计风格主要应注重和考虑下列几个因素:①源程序文档化,包括下列三个方面:A)符号的命名应具有一定的含义;B)正确的注释能够帮助读者理解程序;C)视觉组织,可以在程序中利用空格、空行、缩进等技巧使程序层次清晰。

②数据说明的方法,包括下列三个方面:A)数据说明的次序规范化;B)说明语句中变量安排有序化;C)使用注释来说明复杂数据的结构。

⑧语句的结构应该简单直接,不应该为提高效率而把语句复杂化。

④输入和输出方式和风格应尽可能方便用户的使用。

知识模块:程序设计基础、软件工程基础
5.下列选项中属于面向对象设计方法主要特征的是( )。

A.继承
B.自项向下
C.模块化
D.逐步求精
正确答案:A
解析:面向对象设计方法的主要特征有封装性、继承性和多态性。

而结构化程序设计方法的主要原则有自顶向下,逐步求精,模块化,限制使用goto语句。

知识模块:程序设计基础、软件工程基础
6.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )。

A.-369
B.369
C.0.369
D.整数集合{1,2,3,4,5}
正确答案:B
解析:UInt表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项A和选项C,选项D是整数集合,所以也排除。

知识模块:程序设计基础、软件工程基础
7.在面向对象方法中,实现信息隐蔽是依靠( )。

A.对象的继承
B.对象的多态
C.对象的封装
D.对象的分类
正确答案:C
解析:对象的封装性是指从外部看只能看到对象的外部特征,即只需知道数据的取值范围和可以对该数据施加的操作,而不需要知道数据的具体结构以及实现操作的算法。

对象的内部,即处理能力的实行和内部状态.对外是不可见的。

从外面不能直接使用对象的处理能力,,也不能直接修改其内部状态,对象的内部状态只能由其自身改变。

知识模块:程序设计基础、软件工程基础
8.构成计算机软件的是( )。

A.源代码
B.程序和数据
C.程序和文档
D.程序、数据及相关文档
正确答案:D
解析:软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。

知识模块:程序设计基础、软件工程基础
9.下列描述中正确的是( )。

A.程序就是软件
B.软件开发不受计算机系统的限制
C.软件既是逻辑实体,又是物理实体
D.软件是程序、数据与相关文档的集合
正确答案:D
解析:计算机软件与硬件是计算机系统中相互依存的两部分。

计算机软件是包括程序、数据及相关文档的完整集合。

软件由两部分组成:一部分是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。

软件具有以下六个特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性。

②软件的生产与硬件不同,它没有明显的制作过程。

③软件在运行、使用期间不存在磨损、老化问题。

④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。

⑤软件复杂性高,成本昂贵。

⑥软件的开发涉及诸多社会因素。

知识模块:程序设计基础、软件工程基础
10.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( )。

A.编译程序
B.操作系统
C.教务管理系统
D.汇编程序
正确答案:C
解析:编译程序和汇编程序属于支撑软件,操作系统属于系统软件,而教务管理系统属于应用软件。

知识模块:程序设计基础、软件工程基础
11.下面描述中,不属于软件危机表现的是( )。

A.软件过程不规范
B.软件开发生产率低
C.软件质量难以控制
D.软件成本不断提高
正确答案:A
解析:软件危机主要表现在以下6个方面:①软件需求的增长得不到满足。

②软件开发成本和进度无法控制。

③软件质量难以保证。

④软件不可维护或维护程度非常低。

⑤软件的成本不断提高。

⑥软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

知识模块:程序设计基础、软件工程基础
12.下面不属于软件工程的3个要素是( )。

A.工具
B.过程
C.方法
D.环境
正确答案:D
解析:软件工程的3个要素是工具、过程和方法。

知识模块:程序设计基础、软件工程基础
13.软件生命周期是指( )。

A.软件产品从提出、实现、使用维护到停止使用退役的过程
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运行维护过程
正确答案:A
解析:软件生命周期是指软件产品从提出、实现、使用、维护到停止使用、退役的过程。

知识模块:程序设计基础、软件工程基础
14.软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是( )。

A.测试
B.设计
C.可行性研究
D.实现
正确答案:C
解析:软件生命周期是指软件产品从提出、实现、使用、维护到停止使用退役的过程。

其中,定义阶段包括可行性研究与计划制定和需求分析。

测试、概要设计、详细设计和实现属于开发阶段。

知识模块:程序设计基础、软件工程基础
15.软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于( )。

A.定义阶段
B.开发阶段
C.维护阶段
D.上述三个阶段
正确答案:B
解析:本题考查软件生命周期的相关概念。

通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命剧期。

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

一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。

还可以将软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。

知识模块:程序设计基础、软件工程基础
16.下面不属于软件设计原则的是( )。

A.抽象
B.模块化
C.自底向上
D.信息隐藏
正确答案:C
解析:软件设计的基本原则包括抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性和可验证性。

知识模块:程序设计基础、软件工程基础
17.下面不属于需求分析阶段任务的是( )。

A.确定软件系统的功能需求
B.确定软件系统的性能需求
C.需求规格说明书评审
D.制定软件集成测试计划
正确答案:D
解析:需求分析阶段的工作可分为4个阶段:需求获取、需求分析、编写需求规格说明书、需求评审。

知识模块:程序设计基础、软件工程基础
18.在软件开发中,需求分析阶段可以使用的工具是( )。

A.N-S图
B.DFD图
C.PAD图
D.程序流程图
正确答案:B
解析:在软件开发中,需求分析阶段常使用的工具有数据流图(DFD),数据字典(DD)、判断树和判断表。

知识模块:程序设计基础、软件工程基础
19.在软件设计中不使用的工具是( )。

A.系统结构图
B.PAD图
C.数据流图(DFD图)
D.程序流程图
正确答案:C
解析:在软件开发的各个阶段经常会使用到一些图形工具,如在需求分析阶段使用数据流图(DFD图),在概要设计阶段使用系统结构图,在详细设计阶段使用程序流程图、N-S图或者PAD图等。

知识模块:程序设计基础、软件工程基础
20.在软件设计中,不属于过程设计工具的是( )。

A.PDL(过程设计语言)
B.PAD图
C.N-S图
D.DFD图
正确答案:D
解析:DFD(数据流图Data-Flow-Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。

它直接支持系统功能建模。

在软件详细设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。

常见的过程设计工具有:●图形工具:程序流程图,N-S,PAD,HIPO。

●表格工具:判定表。

●语言工具:PDL(伪码)。

知识模块:程序设计基础、软件工程基础
21.数据字典(DD)所定义的对象都包含于( )。

A.数据流图(DFD图)
B.程序流程图
C.软件结构图
D.方框图
正确答案:A
解析:数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。

知识模块:程序设计基础、软件工程基础
22.在软件开发中,需求分析阶段产生的主要文档是( )。

A.软件集成测试计划
B.软件详细设计说明书
C.用户手册
D.软件需求规格说明书
正确答案:D
解析:在软件开发过程中,需求分析阶段产生的主要文档是软件需求规格说明书。

知识模块:程序设计基础、软件工程基础
23.在软件开发中,需求分析阶段产生的主要文档是( )。

A.可行性分析报告
B.软件需求规格说明书
C.概要设计说明书
D.集成测试计划
正确答案:B
解析:需求分析的最终结果是生成软件需要规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标与确认,又可以作为控制软件开发进程的依据。

知识模块:程序设计基础、软件工程基础
24.下面不属于软件设计阶段任务的是( )。

A.软件总体设计
B.算法设计
C.制定软件确认测试计划
D.数据库设计
正确答案:C
解析:软件设计阶段总体分为两部分:概要设计和详细没计,此阶段的主要任务就是将需求规格说明文档转换为软件设计文档,将需求阶段提出的问题,一一解释,形成详细设计文档,并根据功能要求,定制相应数据结构、各种流程图等,为下一步编码做准备。

知识模块:程序设计基础、软件工程基础
25.耦合性和内聚性是对模块独立性度量的两个标准。

下列叙述中正确的是( )。

A.提高耦合性降低内聚性有利于提高模块的独立性
B.降低耦合性提高内聚性有利于提高模块的独立性
C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D.内聚性是指模块间互相连接的紧密程度
正确答案:B
解析:耦合性是反映模块间互相连接的紧密程度,内聚性是指一个模块内部各个元素间彼此接合的紧密程序。

提高模块的内聚性,降低模块的耦合性是有利
于模块的独立性。

知识模块:程序设计基础、软件工程基础
26.两个或两个以上模块之间关联的紧密程度称为( )。

A.耦合度
B.内聚度
C.复杂度
D.数据传输特性
正确答案:A
解析:模块的独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系较少且接口简单。

衡量软件的模块独立性使用:内聚性和耦合性两个定性度量标准。

内聚性是对一个模块内部各个元素彼此结合的紧密程度的度量:耦合性是对模块间互相连接的紧密程度的度量。

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

知识模块:程序设计基础、软件工程基础
27.下面不能作为结构化方法软件需求分析工具的是( )。

A.系统结构图
B.数据字典(D)
C.数据流程图(DFD图)
D.判定表
正确答案:A
解析:按照DeMarco的定义,“结构化分析就是使用数据流图(DFD图)、数据字典(DD)、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档。

”系统结构图不能作为结构化方法软件需求分析工具。

知识模块:程序设计基础、软件工程基础
28.程序流程图中带有箭头的线段表示的是( )。

A.图元关系
B.数据流
C.控制流
D.调用关系
正确答案:C
解析:程序流程图是一种传统的、应用广泛的软件过程设计工具,通常也称为程序框图。

其中,用带箭头的线段表示控制流,用柜形表示加工步骤,用菱形表示逻辑条件。

知识模块:程序设计基础、软件工程基础
29.软件测试的目的是( )。

A.评估软件可靠性
B.发现并改正程序中的错误
C.改正程序中的错误
D.发现程序中的错误
正确答案:D
解析:软件测试的目的是为了发现程序中的错误,而软件调试是为了更正程序中的错误。

知识模块:程序设计基础、软件工程基础
30.下列描述中正确的是( )。

A.软件测试的主要目的是发现程序中的错误
B.软件测试的主要目的是确定程序中错误的位置
C.为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作
D.软件测试是证明软件没有错误
正确答案:A
解析:软件测试是为了发现错误而执行程序的过程。

一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。

为了达到好的测试效果,应该由独立的第三方来构造测试,程序员应尽量避免检查自己的程序。

知识模块:程序设计基础、软件工程基础
31.下列描述中正确的是( )。

A.软件测试应该由程序开发者来完成
B.程序经调试后一般不需要再测试
C.软件维护只包括对程序代码的维护
D.以上三种说法都不对
正确答案:D
解析:为了达到好的测试效果,应该由独立的第三方进行测试工作。

因为从心理学角度讲,程序人员或设计方在测试自己的程序时,要采取客观的态度是会不同程度地存在障碍的,所以选项A错误。

在程序调试时,修改了一个错误的同时可能引入了新的错误,解决的办法是在修改了错误之后,必须进行回归测试,所以选项B错误。

所谓软件维护,就是将交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改,所以选项C 错误。

知识模块:程序设计基础、软件工程基础
32.下面属于黑盒测试方法的是( )。

A.语句覆盖
B.逻辑覆盖
C.边界值分析
D.路径覆盖
正确答案:C
解析:采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。

知识模块:程序设计基础、软件工程基础
33.下面不属于软件测试实施步骤的是( )。

A.集成测试
B.回归测试
C.确认测试
D.单元测试
正确答案:B
解析:软件测试实施的步骤有单元测试、集成测试和确认测试。

知识模块:程序设计基础、软件工程基础
34.程序调试的任务是( )。

A.设计测试用例
B.验证程序的正确性
C.发现程序中的错误
D.诊断和改正程序中的错误
正确答案:D
解析:程序调试的任务是诊断和改正程序中的错误。

它与软件测试不同,软件测试是尽可能多地发现软件中的错误。

先要发现软件的错误,然后借助于一定的调试工具去执行并找出错误的具体位置。

软件测试贯穿整个软件生命期,调试主要在开发阶段。

知识模块:程序设计基础、软件工程基础。

相关文档
最新文档