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