1、国家二级( C语言)机试模拟试卷 12及答案与解析 一、选择题 1 结构化程序设计的基本原则不包括 ( )。 ( A)可封装 ( B)自顶向下 ( C)模块化 ( D)逐步求精 2 结构化程序所要求的基本结构不包括 ( )。 ( A)顺序结构 ( B) GOTO跳转 ( C)选择 (分支 )结构 ( D)重复 (循环 )结构 3 结构化程序设计中,下面对 goto语句使用描述正确的是 ( )。 ( A)禁止使用 goto语句 ( B)使用 goto语句程序效率高 ( C)应避免滥用 goto语句 ( D)以上说法均错误 4 下列选项中属于面向对象设计方法主要特征的是 ( )。 ( A)继承 (
2、 B)自顶向下 ( C)模块化 ( D)逐步求精 5 在面向对象方法中,不属于 “对象 ”基本特点的是 ( )。 ( A)一致性 ( B)分类性 ( C)多态性 ( D)标识唯一性 6 下面对对象概念描述正确的是 ( )。 ( A)对象间的通信靠消息传递 ( B)对象是名字和方法的封装体 ( C)任何对象必须有继承性 ( D)对象的多态性是指一个对象有多个操作 7 面向对象方法中,继承是指 ( )。 ( A)一组对象所具有的相似性质 ( B)一个对象具有另一个对象的性质 ( C)各对象之间的共同性质 ( D)类之间共享属性和操作的机制 8 对长度为 10的线性表进行冒泡排序,最坏情况下需要比较
3、的次数为 ( )。 ( A) 9 ( B) 10 ( C) 45 ( D) 90 9 构成计算机软件的是 ( )。 ( A)源代码 ( B)程序和数据 ( C)程序和文档 ( D)程序、数据及相关文档 10 软件按功能可以分为:应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( )。 ( A)编译程序 ( B)操作系统 ( C)教务管理系统 ( D)汇编程序 11 下面描述中,不属于软件危机表现的是 ( )。 ( A)软件过程不规范 ( B)软件开发生产率低 ( C)软件质量难以控制 ( D)软件成本不断提高 12 软件生命周期是指 ( )。 ( A)软件产品从提出、实现
4、、使用维护到停止使用退役的过程 ( B)软件从需求分析、设计、实现到测试完成的过程 ( C)软件的开发过程 ( D)软件的运行维护过程 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) N-S图 ( B) DFD图 ( C) PAD图 ( D)程序流程图 19 下面不能作为结构化方法软件需求分析工具的是 ( )。 ( A)系统结构图 ( B)数据字典 (DD) ( C)数据流程图 (DFD图 ) ( D)判定表 20 数据流 图中带有箭头的线段表示的是 (
6、)。 ( A)控制流 ( B)事件驱动 ( C)模块调用 ( D)数据流 21 数据字典 (DD)所定义的对象都包含 ( )。 ( A)数据流图 (DFD图 ) ( B)程序流程图 ( C)软件结构图 ( D)方框图 22 软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是 ( )。 ( A)测试 ( B)设计 ( C)可行性研究 ( D)实现 23 软件需求规格说明书的作用不包括 ( )。 ( A)软件验收的依据 ( B)用户与 开发人员对软件要做什么的共同理解 ( C)软件设计的依据 ( D)软件可行性研究的依据 24 下面描述中错误的是 ( )。 ( A)系统总体
7、结构图支持软件系统的详细设计 ( B)软件设计是将软件需求转换为软件表示的过程 ( C)数据结构与数据库设计是软件设计的任务之一 ( D) PAD图是软件详细设计的表示工具 25 软件设计中模块划分应遵循的准则是 ( )。 ( A)低内聚低耦合 ( B)高内聚低耦合 ( C)低内聚高耦合 ( D)高内聚高耦合 26 下面不属于软件设计阶段任务的是 ( )。 ( A)软件总体设计 ( B)算法设计 ( C)制定软件确认测试计划 ( D)数据库设计 27 耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 ( )。 ( A)提高耦合性降低内聚性有利于提高模块的独立性 ( B)降低耦合性
8、提高内聚性有利于提高模块的独立性 ( C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 ( D)内聚性是指模块间互相连接的紧密程度 28 在软件设计中不使用的工具是 ( )。 ( A)系统结构图 ( B) PAD一图 ( C)数据流图 (DFD图 ) ( D)程序流程图 29 软件详细设计生产的图如下: 该图是 ( )。 ( A) N-S图 ( B) PAD图 ( C)程序流程图 ( D) E-R图 30 程序流程图中带有箭头的线段表示的是 ( )。 ( A)图元关系 ( B)数据流 ( C)控制流 ( D)调用关系 31 下面叙述中错误的是 ( )。 ( A)软件测试的目的是发现错误并
9、改正错误 ( B)对被调试的程序进行 “错误定位 ”是程序调试的必要步骤 ( C)程序调试通常也称为 Debug ( D)软件测试应严格执行测试计划,排除测试的 随意性 32 软件测试的目的是 ( )。 ( A)评估软件可靠性 ( B)发现并改正程序中的错误 ( C)改正程序中的错误 ( D)发现程序中的错误 33 下面属于黑盒测试方法的是 ( )。 ( A)语句覆盖 ( B)逻辑覆盖 ( C)边界值分析 ( D)路径覆盖 34 在黑盒测试方法中,设计测试用例的主要根据是 ( )。 ( A)程序内部逻辑 ( B)程序外部功能 ( C)程序数据结构 ( D)程序流程图 35 下面属于白盒测试方法
10、的是 ( )。 ( A)等价类划分 法 ( B)逻辑覆盖 ( C)边界值分析法 ( D)错误推测法 36 下面不属于软件测试实施步骤的是 ( )。 ( A)集成测试 ( B)回归测试 ( C)确认测试 ( D)单元测试 37 程序调试的任务是 ( )。 ( A)设计测试用例 ( B)验证程序的正确性 ( C)发现程序中的错误 ( D)诊断和改正程序中的错误 38 有以下程序: #include main() char c25= “6934“, “8254“, *p2 int i, j, s=0; for(i=0; i 2; i+)Pi=ci; for(i=0; i 2; i+) for(j=0
11、; Pij 0 &Pij #include #define N 5 define M 10 int fun(ehar(*ss)M, int k) int i, j=0, len; *found* for(i=0; i_1_; i+) len=strlen(ssi); *found* if(1en=_2-) *found* strepy(ssj+, _3_); return j; main() char xNM=“Beijing“, “Shanghai“, “Tianjin“, “Nanjing“, “Wuhan“; int i, f; printf(“ nThe original string
12、 n n“); for(i=0; i N; i+) puts(xi); printf(“ n“); f=fun(x, 7); printf(“The string witch length is less than or equal to 7: n“); for(i=0; i f; i+)puts(xi); printf(“ n“); 国家二级( C语言)机试模拟试卷 12答案与解 析 一、选择题 1 【正确答案】 A 【试题解析】 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用 goto语句,所以选择 A。 2 【正确答案】 B 【试题解析】 1966年 B0ehm和 Jac
13、opini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。 3 【正确答案】 C 【试题解析】 结构化程序设计中,要注意尽量避免 goto语句的使用,故选 C。 4 【正确答案】 A 【试题解析】 面向对象的基本概念有对象、类和实例、消息、继承与多态性,所以选择 A。 5 【正确答案】 A 【试题解析】 对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性。所以选择 A。 6 【正确答案】 A 【试题解析】 对象之间进行通信的结构叫做消息,故 A正确。封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结
14、构以及实现操作,不能简单地说成是名字和方法,故 B错误。对象不一定必须有继承性,故 C错误。多态性是指同一个操作可以是不同对象的行为,故 D错误。 7 【正确答案】 D 【试题解析】 继承是面向对象方法的一个主要特征,使用已有类的定义作为基础建立新类的定义。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。 8 【正确答案】 C 【试题解析】 冒泡法是在扫描过程中逐次比较相邻两个元素的大小,最坏的情况是每次比较都要将相邻的两个元素互换,需要互换的次数为9+8+7+6+5+4+3+2+l=45,故选 C。 9 【正确答案】 D 【试题解
15、析】 软件指的是计算机 系统中与硬件相互依赖的部分,包括程序、数据和有关的文档,故选 D。 10 【正确答案】 C 【试题解析】 编译软件、操作系统、汇编程序都属于系统软件,只有教务管理系统才是应用软件。 11 【正确答案】 A 【试题解析】 软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择 A。 12 【正确答案】 A 【试题解析】 通常,将软件产品 从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概
16、念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。 13 【正确答案】 A 【试题解析】 软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行件研究与计划、需求分析、软件设计、软件实现、软件测试、运行和维护,所以选择 A。 14 【正确答案】 B 【试题解析】 数据库系统的三级模式是概念模式,外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用 户公共数据视图,给出了每个用户的局部数据描述。内模式又称物理模式,它给出了数据物理存储结构与物理存取方法,所以选择 B。 15 【正确答案】 B 【试题解析】 A错误,可行性分析阶段产生可行性
17、分析报告。 C错误,概要设计说明书是总体设计阶段产生的文档。 D错误,集成测试计划是在概要设计阶段编写的文档。 B正确,需求规格说明书是后续工作如设计、编码等的重要参考文档。 16 【正确答案】 D 【试题解析】 需求分析阶段的工作有:需求获取;需求分析;编写需求规格说明书;需求评审,所以选择 D。 17 【正确答案】 A 【试题解析】 需求分析阶段的工作可概括为四个方面: 需求获取; 需求分析; 编写需求规格说明书; 需求审评。 18 【正确答案】 B 【试题解析】 在需求分析阶段可以使用的 T具有数据流 (DFD)图,数据字典(DD),判定树与判定表,所以选择 B。 19 【正确答案】 A
18、 【试题解析】 结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。 20 【正确答案】 D 【试题解析】 数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道 ,一般在旁边标注数据流名。 21 【正确答案】 A 【试题解析】 在数据流图中,对所有元素都进行了命名,所有名字的定义集中起来就构成了数据字典。因此选 A,而 B, C, D都不符合。 22 【正确答案】 C 【试题解析】 开发阶段包括分析、设计和实施两类任务。其中分析、设计包括需求分析、总体设计和详细设计 3个阶段,实施则包括编码和测试两个阶段,选项C不属于开发阶段。 23 【正确答案】 D 【试题解析】
19、 软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。软件需求规 格说明书有以下几个方面的作用: 便于用户、开发人员进行理解和交流,故 B正确; 反映出用户问题的结构,可以作为软件开发工作的基础和依据,故 C正确; 作为确认测试和验收的依据,故 A正确。 24 【正确答案】 A 【试题解析】 详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,所以 A错误。 25 【正确答案】 B 【试题解析】 软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。 模块的划分应遵
20、循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。 26 【正确答案】 C 【试题解析】 从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。所以 A、 B、 D均正确, C为软件测试阶段的任务。 27 【正确答案】 B 【试题解析】 模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以 A错误, B正确。耦合性是模块间
21、互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以 C与 D错误。 28 【正确答案】 C 【试题解析】 系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。 PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法 中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择 C。 29 【正确答案】
22、C 【试题解析】 N-S图是用方框图来代替传统的程序流程图,所以 A不对。 PAD图是问题分析图,它是继承程序流程图和方框图之后提出的又一种主要用于描述软件详细设计的图形表示工具,所以 B不对。 E-R图是数据库中的用于表示 E-R模型的图示工具,所以 D不对。图中所示表示方法是进行软件详细设计时使用的程序流程图。 30 【正确答案】 C 【试题解析】 在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择 C。 31 【正确答案】 A 【试题解析】 软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项 A错误。程序调试的基本步骤有:
23、错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为 Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象 、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。 32 【正确答案】 D 【试题解析】 软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。 33 【正确答案】 C 【试题解析】 黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明
24、就可以了。黑盒测试法分等价类划分法、边界值分析法和错误推测法,答案为 C。而 A、 B、 D均为白盒测试方法。 34 【正确答案】 B 【试题解析】 黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择 B。 35 【正确答案】 B 【试题解析】 白盒测试法主要有逻辑覆盖、基本路径测试等。逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断一条件覆盖,选择 B。其余选项为黑盒测试法。 36 【正确答案】 B 【试题解析】 软件测试主要包括单元测试、 集成
25、测试、确认测试和系统测试。 37 【正确答案】 D 【试题解析】 程序调试的任务是诊断和改正程序中的错误。 38 【正确答案】 D 【试题解析】 本题的意图在于将 c中两个字符串的偶数位置的数字组成一个新数,找到的 4个数字分别为 6、 3、 8、 5,组成的数为 6385,所以答案为 D选项。 39 【正确答案】 B 【试题解析】 数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。 40 【正确答案】 C 【试题解析】 数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的
26、操纵,包括查询及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。 41 【正确答案】 A 【试题解析】 数据库应用系统中的核心问题是数据库的设计。 42 【正确答案】 C 【试题解析】 数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表 现都最好,一直占据数据库领域的主导地位,所以选择 C。 43 【正确答案】 C 【试题解析】 数据库系统的特点为高共享、低冗余、独立性高、具有完整性等,故 C错误。 44 【正确答案】 C 【试题解析】 数据库系统的三级模
27、式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择 C。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。 二、程序填空题 45 【正确答案】 (1)N (2)k (3)ssi 【试题解析】 本题考查: for循环语句; if语句条件表达式;字符串复制函数strcpy的使用。 【解题思路】 填空 l: for循环语句的作用是遍历字符串数组中的每一个字符串,所以循环变量 i的循环条件是 i N。 填空 2:题目要求删除串长度小于 k的字符串,所以 if条件语句的条件表达式是len =k。 填空 3:通过字符串复制函数将串长不大于 k的字符串另存,并记录个数。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1