1、国家二级公共基础知识(程序设计基础、软件工程基础)模拟试卷 13及答案与解析 一、选择题 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。 1 下列叙述中正确的是 ( A)程序执行的效率与数据的存储结构密切相关 ( B)程序执行的效率只取决于程序的控制结构 ( C)程序执行的效率只取决于所处理的数据量 ( D)以上都不正确 2 下列描述中,不符合良好程序设计风格要求的是 ( A)程序的效率第一,清晰第二 2 ( B)程序的可读性好 ( C)程序中要有必要的注 释 ( D)输入数据前要有提示信息 3 结构化程序所要求的基本结构不包括 ( A)顺
2、序结构 ( B) GOTO跳转 ( C)选择 (分支 )结构 ( D)重复 (循环 )结构 4 下列选项中不属于结构化程序设计原则的是 ( A)可封装 ( B)自顶向下 ( C)模块化 ( D)逐步求精 5 结构化程序设计的基本原则不包括 ( A)多元性 ( B)自顶向下 ( C)模块化 ( D)逐步求精 6 下列选项中不属于结构化程序设计方法的是 ( A)自顶向下 ( B)逐步求精 ( C)模块化 ( D)可复用 7 结构化程序设计中,下面对 goto语句使用描述正确的是 ( A)禁止使用 goto语句 ( B)使用 goto语句程序效率高 ( C)应避免滥用 goto语句 ( D) got
3、o语句确实一无是处 8 下列选项中不符合良好程序设计风格的是 ( A)源程序要文档化 ( B)数据说明的次序要规范化 ( C)避免滥用 goto语句 ( D)模块设计要保证高耦合、高内聚 9 面向对象方法中,继承是指 ( A)一组对象所具有的相似性质 ( B)一个对象具有另一个对象的性质 ( C)各对象之间的共同性质 ( D)类之间 共享属性和操作的机制 10 下列选项中属于面向对象设计方法主要特征的是 ( A)继承 ( B)自顶向下 ( C)模块化 ( D)逐步求精 11 在面向对象方法中,不属于 “对象 ”基本特点的是 ( A)一致性 ( B)分类性 ( C)多态性 ( D)标识唯一性 1
4、2 定义无符号整数类为 UInt,下面可以作为类 UInt实例化值的是 ( A)一 369 ( B) 369 ( C) 0 369 ( D)整数集合 1, 2, 3, 4, 5 13 下面对对象概念描述正确的是 ( A)对象间的通信靠消息传递 ( B) 对象是名字和方法的封装体 ( C)任何对象必须有继承性 ( D)对象的多态性是指一个对象有多个操作 14 在面向对象方法中,实现信息隐蔽是依靠 ( A)对象的继承 ( B)对象的多态 ( C)对象的封装 ( D)对象的分类 15 下列选项中不属于面向对象程序设计特征的是 ( A)继承性 ( B)多态性 ( C)类比性 ( D)封装性 16 构成
5、计算机软件的是 ( A)源代码 ( B)程序和数据 ( C)程序和文档 ( D)程序、数据及相关文档 17 软件是指 ( A)程序 ( B)程序和文档 ( C)算法加数据结构 ( D)程序、数据与相关文档的完整集合 18 下列描述中正确的是 ( A)程序就是软件 ( B)软件开发不受计算机系统的限制 ( C)软件既是逻辑实体,又是物理实体 ( D)软件是程序、数据与相关文档的集合 19 软件按功能可以分为应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( A)学生成绩管理系统 ( B) C i吾言编译程序 ( C) UNIX操作系统 ( D)数据库管理系统 20 软件按功
6、能可以分为:应用软件、系统软件和支撑软件 (或工具软件 )。下 面属于应用软件的是 ( A)编译程序 ( B)操作系统 ( C)教务管理系统 ( D)汇编程序 21 软件按功能可以分为:应用软件、系统软件和支撑软件 (或工具软件 )。下面属于系统软件的是 ( A)编辑软件 ( B)操作系统 ( C)教务管理系统 ( D)浏览器 22 下面描述中,不属于软件危机表现的是 ( A)软件过程不规范 ( B)软件开发生产率低 ( C)软件质量难以控制 ( D)软件成本不断提高 23 下列关于软件工程的描述中正确的是 ( A)软件工程只是解决软件项目的管理问题 ( B)软 件工程主要解决软件产品的生产率
7、问题 ( C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 ( D)软件工程只是解决软件开发中的技术问题 24 下面不属于软件工程的 3个要素是 ( A)工具 ( B)过程 ( C)方法 ( D)环境 25 下面不属于软件工程过程的 4种基本活动 ( A)软件规格说明 ( B)软件开发 ( C)软件演进 ( D)软件测试 26 软件生命周期是指 ( A)软件产品从提出、实现、使用维护到停止使用退役的过程 ( B)软件从需求分析、设计、实现到测试完成的过程 ( C)软件的开发过程 ( D)软件的运行维护过程 27 软件生命周期中的活动不包括 ( A)市场调研 ( B)需求分析 (
8、C)软件测试 ( D)软件维护 28 软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是 ( A)测试 ( B)设计 ( C)可行性研究 ( D)实现 29 下列选项中不属于软件生命周期开发阶段任务的是 ( A)软件测试 ( B)概要设计 ( C)软件维护 ( D)详细设计 30 软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于 ( A)定义阶段 ( B)开发阶段 ( C)维护阶段 ( D)上述三个阶段 31 下列描述中正确的是 ( A)软件交付使用后还需要再进行维护 ( B)软件工具交付使用就不需要再进行维护 ( C)软件交付使用后其生命周期就结束 ( D
9、)软件维护是指修复程序中被破坏的指令 32 下面不属于软件设计原则的是 ( A)抽象 ( B)模块化 ( C)自底向上 ( D)信息隐藏 33 下面不属于软件需求分析阶段主要工作的是 ( A)需求变更申请 ( B)需求分析 ( C)需求评审 ( D)需求获取 34 下面不属于需求分析阶段任务的是 ( A)确定软件系统的功能需求 ( B)确定软件系统的性能需求 ( C)需求规格说明书评审 ( D)制定软件集成测试计划 国家二级公共基础知识(程序设计基础、软件工程基础)模拟试卷 13答案与解析 一、选择题 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应
10、位置上。 1 【正确答案】 A 【试题解析】 影响程序执行效率的因素有很多,如数据的存储结构、程序处理的数据量、程序的算法等。顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别。其中,链式存储结构的效率要高一些。 【知识模块】 程序设计基础、软件工程基础 2 【正确答案】 A 【试题解析】 一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。著名的 “清晰第一,效率第二 ”的论点已成为当今主导的程序设计风格。 【知识模块】 程序设计基础、软件工程基础 3 【正确答案】 B 【试题解析】 结构化程序的基本
11、结构有:顺序结构、选择结构和循环结构,没有GOTO跳转结构 。 【知识模块】 程序设计基础、软件工程基础 4 【正确答案】 A 【试题解析】 结构化设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用 GOTO语句。 【知识模块】 程序设计基础、软件工程基础 5 【正确答案】 A 【试题解析】 结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用 GOTO语句,其中不包括多态性。 【知识模块】 程序设计基础、软件工程基础 6 【正确答案】 D 【试题解析】 结构化程序设计方法的主要原则可 以概括为:自顶向下,逐步求精,模块化,限制使用 GOTO语句。自顶向下
12、是指程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。逐步求精是指对复杂问题应设计一些子目标过渡,逐步细化。模块化是把程序要解决的总目标先分解成分目标,再进一步分解成具体的小目标,把每个小目标称为一个模块。可复用性是指软件元素不加修改成稍加修改便可在不同的软件开发过程中重复使用的性质。软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法,不属于结构化程序设计方法。 【知识模块】 程序设计基础、软件工程 基础 7 【正确答案】 C 【试题解析】 滥用 goto语句确实有害,应尽量避免;完全避免使用 goto语句并非是明智的方法,有些地方使用 goto语句会使程序
13、流程更清楚、效率更高;争论的焦点不应该放在是否取消 goto语句,而应该放在用在什么程序结构上。 【知识模块】 程序设计基础、软件工程基础 8 【正确答案】 D 【试题解析】 一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。可以认为,著名的 “清晰第一、效率第二 ”的论点己成为当今主导的程序设计风格。良好的程序设计风格主要应注重和考虑下列几个因素: 源程序文档化,包括下列三个方面: A)符号的命名应具有一定的含义; B)正确的注释能够帮助读者理解程序; C)视觉组织,可以在程序中利用空格、空行、缩进等技巧使程序层
14、次清晰。 数据说明的方法,包括下列三个方面: A)数据说明的次序规范化; B)说明语 句中变量安排有序化; C)使用注释来说明复杂数据的结构。 语句的结构应该简单直接,不应该为提高效率而把语句复杂化。 输入和输出方式和风格应尽可能方便用户的使用。 【知识模块】 程序设计基础、软件工程基础 9 【正确答案】 D 【试题解析】 面向对象方法中,继承是使用已有的类定义作为基础建立新类的定义技术。广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。 【知识模块】 程序设计基础、软件工程基础 10 【正确答案】 A 【试题解析】 面向对象设计方法的主要特征 有封装性、继承性和多态性。而结
15、构化程序设计方法的主要原则有自顶向下,逐步求精,模块化,限制使用 goto语句。 【知识模块】 程序设计基础、软件工程基础 11 【正确答案】 A 【试题解析】 对象具有如下特征:标识惟一性、分类性、多态性、封装性、模块独立性。 【知识模块】 程序设计基础、软件工程基础 12 【正确答案】 B 【试题解析】 UInt表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项 A)和选项 C),选项 D)是整数集合,所以也排除。 【知识模 块】 程序设计基础、软件工程基础 13 【正确答案】 A 【试题解析】 对象是面向对象方法中最基本的概念。操作描述了对象执行的功能,通过消息传递,
16、还可以为其他对象使用。操作过程是被封装在对象中,用户看不到,称之为对象的封装性。对象的多态性是指同一个操作可以是不同对象的行为。不是所有的对象都必须有继承性。 【知识模块】 程序设计基础、软件工程基础 14 【正确答案】 C 【试题解析】 对象的封装性是指从外部看只能看到对象的外部特征,即只需知道数据的取值范围和可以对该数据施加的操作,而 不需要知道数据的具体结构以及实现操作的算法。对象的内部,即处理能力的实行和内部状态,对外是不可见的。从外面不能直接使用对象的处理能力,也不能直接修改其内部状态,对象的内部状态只能由其自身改变。 【知识模块】 程序设计基础、软件工程基础 15 【正确答案】 C
17、 【试题解析】 面向对象程序设计的三个主要特征是:封装性、继承性和多态性。封装性即只需知道数据的取值范围和可以对该数据施加的操作,而无需知道数据的具体结构以及实现操作的算法。继承性是指使用已有的类定义作为基础建立新类的定义技术。对象根据所 接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。 【知识模块】 程序设计基础、软件工程基础 16 【正确答案】 D 【试题解析】 软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。 【知识模块】 程序设计基础、软件工程基础 17 【正确答案】 D 【试题解析】
18、 计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据与相关文档的完整集合。软件由两部分组成:一是机器可执 行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。 【知识模块】 程序设计基础、软件工程基础 18 【正确答案】 D 【试题解析】 计算机软件与硬件是计算机系统中相互依存的两部分。计算机软件是包括程序、数据及相关文档的完整集合。软件由两部分组成:一部分是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。软件具有以下六个特点: 软件是一种逻辑实体,而不是物理实体,具有抽象性。 软件的生产与硬件不同,它没有明显的制
19、作过程。 软件在运行、使用期间不存在磨损、老化问题。 软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。 软件复杂性高,成本昂贵。 软件的开发涉及诸多社会因素。 【知识模块】 程序设计基础、软件工程基础 19 【正确答案】 A 【试题解析】 学生成绩管理系统为应用软件。 【知识模块】 程序设计基础、软件工程基础 20 【正确答案】 C 【试题解析】 编译程序和汇编程序属于支撑软件,操作系统属于系统软件,而教务管理系统属于应用软件。 【知识模块】 程序设计 基础、软件工程基础 21 【正确答案】 B 【试题解析】 软件根据应用目标的不同,是多种多样的。软件按功能
20、可以分为:应用软件、系统软件、支撑软件 (或工具软件 )。应用软件是为解决特定领域的应用而开发的软件。系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件,还包括辅助管理人员控制开发进程和项目管理的工具软件。 【知识模块】 程序设计基础、软件工程基础 22 【正确答案】 A 【试题解析】 软件危机主要表现在以下 6个方面: 软件需求的增长得不到满足; 软件开发成本和进度无法控制; 软件质量难以保证; 软件不可维护或维护程度非常低; 软件的成本不断提高; 软
21、件开发生产率的提高赶不上硬件的发展和应用需求的增长。 【知识模块】 程序设计基础、软件工程基础 23 【正确答案】 C 【试题解析】 软件工程是建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。软件工程主要思想是强调在软件开发过程中需要应用 工程化原则。 【知识模块】 程序设计基础、软件工程基础 24 【正确答案】 D 【试题解析】 软件工程的 3个要素是工具、过程和方法。 【知识模块】 程序设计基础、软件工程基础 25 【正确答案】 D 【试题解析】 软件工程过程的 4种基本活动是:软件规格说明、软件开发、软件确认、软件演进。 【知识模块】 程序设计
22、基础、软件工程基础 26 【正确答案】 A 【试题解析】 软件生命周期是指软件产品从提出、实现、使用、维护到停止使用、退役的过程。 【知识模块】 程序设计基础、软件工程基础 27 【正确答案】 A 【试题解析】 软件的生命周期描述了软件从产生到最终消亡的全过程,生命周期中的活动包括需求分析、软件设计 (分为概要设计和详细设计 )、软件实现、软件测试和软件维护,不包括市场调研。 【知识模块】 程序设计基础、软件工程基础 28 【正确答案】 C 【试题解析】 软件生命周期是指软件产品从提出、实现、使用、维护到停止使用退役的过程。其中,定义阶段包括可行性研究与计划制定和需求分析。测试、概要设计、详细
23、设计和实现属于开发阶段。 【知 识模块】 程序设计基础、软件工程基础 29 【正确答案】 C 【试题解析】 软件生命周期是指软件产品从提出、实现、使用、维护到停止使用退役的过程。开发阶段包括概要设计、详细设计、实现和测试 4个阶段。软件维护属于维护阶段。 【知识模块】 程序设计基础、软件工程基础 30 【正确答案】 B 【试题解析】 本题考查软件生命周期的相关概念。通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于 软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护
24、等活动。还可以将软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。 【知识模块】 程序设计基础、软件工程基础 31 【正确答案】 A 【试题解析】 通常将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。已交付的软件投入运行后,应在运行使用中不断地维护,根据新提出的需要进行必要而且可能的扩充和删改。 【知识模块】 程序设计基础 、软件工程基础 32 【正确答案】 C 【试题解析】 软件设计的基本原则包括抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性和可验证性。 【知识模块】 程序设计基础、软件工程基础 33 【正确答案】 A 【试题解析】 在软件开发的过程中,应该尽早的制定测试计划,其中在需求分析阶段制定系统测试计划,在概要设计阶段制定集成测试计划,在详细设计阶段制定单元测试计划。 【知识模块】 程序设计基础、软件工程基础 34 【正确答案】 D 【试题解析】 需求分析阶段的工作可 分为 4个阶段:需求获取、需求分析、编写需求规格说明书、需求评审。 【知识模块】 程序设计基础、软件工程基础