软件工程基础练习试卷3 (题后含答案及解析)
题型有:1. 选择题
选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。
1. 在图7-2所示的流程图中,如果标记为b的运算执行了m次(m>1),那么标记为a的运算的执行次数为______。
A.1
B.m-1
C.m
D.m+1
正确答案:D
解析:根据题目所给的流程图,只有当标记为a的运算返回Y(真)时,b运算才会得以执行,而后继续返回到a运算。而当a运算返回N(假)时,整个流程执行完毕。由此可见,如果b运算执行了m次,则a运算必定执行并返回了m次Y。而在第m+1次执行a运算时,返回了N,执行完毕。故a运算执行次数为m+l。 知识模块:软件工程基础
2. 软件的复杂性与许多因素有关。______不属于软件的复杂性参数。
A.源程序的代码行数
B.程序的结构
C.算法的难易程度
D.程序中注释的多少
正确答案:D
解析:注释是程序员对程序某部分的功能和作用所做的说明,对编译和运行不起作用。所以,注释跟软件的复杂性无关。所以选项D为正确答案。 知识模块:软件工程基础
3. ______不是良好的编程风格。
A.变量名采用单字母符号或单字母加数字串
B.程序代码采用缩进格式
C.为变量设置初始值
D.程序中包含必要的注释
正确答案:A
解析:程序的设计风格,指编写程序时源程序的格式。良好的编程风格,可以帮助人们理解程序,查错误。在编程过程中,要注意养成良好的习惯,比如:选择含义明确的名字,使它能正确提示标识符所代表的实体,而且,名字中应当避免使用易混淆的数字。显然,选项A的说法是错误的,为本题答案。在程序要添加空格、空行和缩进,帮助人们在视觉上看清程序结构。选项B符合这个要求。显式说明一切变量。选项C的为变量设置初始值,也是良好的编程习惯。程序中包含必要的注释,可以帮助人们理解程序。选项D符合这个要求。 知识模块:软件工程基础
4. 下列叙述中,良好编程风格的正确叙述,是______。
A.使用括号以改善表达式的清晰性。
B.对递归定义的数据结构不要使用递归过程。
C.应尽可能多输出中间结果。
D.尽可能对程序代码进行优化。
正确答案:A
解析:选项A说法正确,使用括号,可以清晰地表达逻辑表达式和算术表达式的运算次序,可提高程序的可理解性。本题正确答案为选项A。选项B说法错误,对递归定义的数据结构可以使用递归过程。选项C说法错误,适当输出中间结果是可以的,无须过多输出中间结果。选项D说法错误,如果对程序代码过度优化,会降低程序的可理解性。 知识模块:软件工程基础
5. 下列叙述中,良好编程风格的正确叙述,是______。
A.可以尽量使用标准文本以外的语句
B.对所有输入数据进行校验
C.用计数方法而不是用文件结束符来判别输入的结束。
数据结构与算法分析答案D.可以显式说明变量,也可以隐式说明
正确答案:B
解析:选项A说法正确,使用括号,可以清晰地表达逻辑表达式和算术表达式的运算次序,可提高程序的可理解性。本题正确答案为选项A。  选项B说法错误,对递归定义的数据结构可以使用递归过程。  选项C说法错误,适当输出中间结果是可以的,无须过多输出中间结果。  选项D说法错误,如果对程序代码过度优化,会降低程序的可理解性。 知识模块:软件工程基础
6. 编制一个好的程序首先要确保它的正确性和可靠性,除此以外,通常更注重源程序的(1)。此外,还应强调良好的编程风格,例如,选择标识符的名字时应考虑(2);在书写语句
时应考虑(3);在书写功能性注解时应考虑(4)。  源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标识符、注解和(5)。
A.易使用性、易维护性和效率
B.易使用性、易维护性和易移植性
C.易理解性、易测试性和易修改性
D.易理解性、安全性和效率
正确答案:B      涉及知识点:软件工程基础
7.
A.名字长度越短越好,以减少源程序的输入量
B.多个变量共用一个名字,以减少变量名的数目
C.选择含义明确的名字,以正确提示所代表的实体
D.尽量用关键字作名字,以使名字标准化
正确答案:C      涉及知识点:软件工程基础
8.
A.把多个短的语句写在同一行中,以减少源程序的行数
B.尽量使用标准文本以外的有特殊功效的语句,以提高程序的功效
C.尽量消除表达式中的括号,以简化表达式
D.避免使用测试条件“非”,以提高程序的可读性
正确答案:D      涉及知识点:软件工程基础
9.
A.仅为整个程序作注解
B.仅为每个模块作注解
C.为程序段作注解
D.为每个语句作注解
正确答案:C      涉及知识点:软件工程基础
10.
A.程序的视觉组织
B.尽量不用或少用GOTO语句
C.检查输入数据的有效性
D.设计良好的输出报表
正确答案:A
解析:第1空分析如下:  编制一个好的程序,首先要确保它的正确性和可靠性,除此以外,通常更注重源程序的易使用性、易维护性和易移植性。本题第1空的正确答案为选项B。  第2
空分析如下:  要强调良好的编程风格,选择标识符的名字时应考虑:  ①标识符包括模块名、变量名、常量名、标号名、子程序名等。这些名字应能反映它所代表的实际东西,应有一定实际意义,使其能顾名思义。第2空的正确答案为选项C。  ②在模块名、变量名、常量名、标号名、子程序名中使用下划线是一种风格。使用这一技术的一种命名规则就是匈牙利命名法(变量类型由一个或两个字符表示,并且这些字符将作为变量名的前缀)。  ③重要的是保持一致性——在整个程序中使用相同的命名规则。小组成员应该制定一种命名规则,并自始至终使用。还要与程序中用到的第三方库所使用的风格保持一致。如果可能的话,应该尽量使用与第三方库相同的命名规则,这将加强程序的可读性和一致性。  第3空分析如下:  源程序清单的书写建议有:  ①每行只写一条语句。  ②用分层缩进的写法显示嵌套结构层次,这样可使程序的逻辑结构更加清晰,层次更加分明。  ③书写表达式时适当使用空格或圆括号作隔离符。  ④在注释段周围加上边框。  ⑤注释段与程序段、以及不同的程序段之间插入字行。  ⑥避免使用测试条件“非”,以提高程序的可读性。第3空的正确答案为选项D。  第4空分析如下:  程序中的注释是程序设计者与程序阅读者之间通信的重要手段。注释能够帮助读者理解程序,并为后续测试维护提供明确的指导信息。注释分为功能性注释和序言性注释。  ①功能性注释。功能性注释在源程序中,用以描述其后的语句或程序段是在做什么
工作,也就是解释下面要做什么,而不是解释下面怎么做。对于书写功能性注释,要注意以下几点:第一描述一段程序,而不是每一个语句。第二利用缩进和空行,使程序与注释容易区别。第三注释要准确无误。第4空的正确答案为选项 C。  ②序言性注释。序言性注释通常位于每个程序模块的开头部分,它给出程序的整体说明,对于理解程序具有引导作用。有些软件开发部门对序言性注释做了明确而严格的规定,要求程序编制者逐项列出。有关内容包括:程序标题;有关该模块功能和目的的说明;主要算法;接口说明:包括调用形式,参数描述,子程序清单;有关数据描述;模块位置(在哪一个源文件中,或隶属于哪一个软件包);开发简历:模块设计者、复审考、复审日期。  第5空的分析如下:  源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标识符、注解和程序的视觉组织。第5空的正确答案为选项A。 知识模块:软件工程基础
11. 对建立良好的程序设计风格,下面描述正确的是______。
A.程序应简单、清晰、可读性好
B.符号名的命名只要符合语法即可
C.充分考虑程序的执行效率
D.程序的注释可有可无
正确答案:A
解析:B选项错误,符号名应该能反映出它所代表的实际东西,应有一定的意义,不是简单的符合语法就可以。C选项不对,应该在保证程序正确的情况下再考虑程序的执行效率。D选项错误,程序的注释有益于对程序的理解和维护,好的程序必不可少。A选项正确。为本题正确答案。 知识模块:软件工程基础
12. 若程序中使用的变量未设置初始值,则______。
A.编译时一定出错
B.运行时一定会出错
C.链接时一定出错
D.运行结果可能出错
正确答案:D
解析:如果程序中使用的变量未设置初始值,那么,如果在编程过程中,不赋值而使用其值进行计算,那么,该值会由系统随机赋值,结果将可能出错。选项D为正确答案。 知识模块:软件工程基础
13. 系统测试计划应该在软件开发的______阶段制定。
A.需求分析
B.概要设计
C.详细设计
D.系统测试
正确答案:A
解析:在需求分析阶段,就开始制定系统测试计划,并在设计阶段进行完善。所以选项 A为正确答案。 知识模块:软件工程基础
14. 从工程管理角度,软件设计一般分为两步完成,它们是______。
A.概要设计与详细设计
B.数据设计与接口设计
C.软件结构设计与数据设计
D.过程设计与数据设计
正确答案:A
解析:从工程管理的角度,软件设计可分为概要设计和详细设计两大步骤。概要设计是根据需求确定软件和数据的总体框架;详细设计是将其进一步精化成软件的算法或表示和数据结构。而在技术上,概要设计和详细设计又由若干活动组成,包括总体结构设计,数据设计和过程设计。因此,本题的正确答案是A。 知识模块:软件工程基础
15. 在软件开发的各个阶段中,对软件开发成败影响最大的是______。
A.需求分析
B.概要设计
C.详细设计