软件工程--习题及答案---第八章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、判断题
1、(√)使用括号改善表达式的清晰性。
2、(×)对递归定义的数据结构不要使用递归定义的过程。
3、(×)尽可能对程序代码进行优化。
4、(√)不要修改不好的程序,要重新编写。
5、(√)不要进行浮点数的相等比较。
6、(×)应尽可能多地使用临时变量。
7、(√)利用数据类型对数据值进行防范。
8、(×)用计数方法而不是用文件结束符判别批量数据输入的结束。
9、(×)程序中的注释是可有可无的。
10、(√)使用有意义的标识符。
11、(×)应尽量把程序编写的短一些。
12、(×)应尽量使用goto语句。
二、选择题
1、在编码中首先要考虑的是(B)。
A、程序的执行效率
B、程序的可读性
C、程序的一致性
D、程序的安全性
2、(D)。不属于序言性注释内容的是
A、模块设计者
B、修改日期
C、程序的整体说明
D、语句功能
3、序言性注释应置于文件或模块的(A)位置。
A、起始
B、结束
C、中间
D、起始和中间
4、如果编写系统软件,可选用的语言是(C)。
A、FoxPro
B、COBOL
C、C
D、FORTRAN
5、选择程序设计语言不应该考虑的是(B)。
A、应用领域
B、语言的功能
C、用户的要求
D、用户的使用水平
6、与编程风格有关的因素不包括(D)。
A、源程序文档化
B、语句构造
C、输入输出
D、程序的编译效率
7、最早用于科学计算的程序设计语言是(C)。
A、PROLOG
B、Smalltalk
C、FORTRAN
D、COBOL
8、功能性注释的主要内容不包括(B)。
A、程序段的功能
B、模块的功能
C、数据的状态
D、语句的功能
9、对建立良好的编程风格,下面描述正确的是(A)。
A、程序应简单、清晰、可读性好
B、符号名的命名只要符合语法即可
C、充分考虑程序的执行效率
D、程序的注释可有可无
10、源程序中应包含一些内部文档,以帮助阅读和理解程序,源程序的内部文档通常包括合适的标识符、注释和(A)。
A、程序的布局组织
B、尽量不使用或少用goto语句
C、检查输入数据的有效性
D、设计良好的输出报表
11、编制一个好的程序应强调良好的编程风格,例如,选择标识符的名字时应考虑(C)。
A、名字长度越短越好,以减少源程序的输入量
B、多个变量共用一个名字,以减少变量名的数目
C、选择含义明确的名字,以正确提示所代表的实体
D、尽量用关键字作名字,以使名字标准化
12、以下关于编程风格的叙述中,不应提倡的是(B)。
A、使用括号以改善表达式的清晰性
B、用计数方法而不是用文件结束符判断输入的结束
C、一般情况下,不要直接进行浮点数的相等比较
D、使用有清晰含义的标识符
13、在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在人们更重视程序的(D)性。
A、技巧性
B、保密性
C、一致性
D、可理解性
14、为了提高易读性,源程序内部应加功能性注释,用于说明(B)。
A、模块总的功能
B、程序段或语句的功能
C、模块参数的用途
D、数据的用途
15、适合在互联网上编写程序可供不同平台上运行的面向对象的程序设计语言是(B)。
A、ALGOL
B、Java
C、Smalltalk
D、Lisp
16、使用(C)语言开发的软件具有较好的可移植性。
A、COBOL
B、BASIC
C、C
D、C++
17、用低级语言开发的程序,具有(C)特点。
A、运行效率低,开发效率低
B、运行效率低,开发效率高
C、运行效率高,开发效率低
D、运行效率高,开发效率高
三、简答题
1、程序设计语言发展至今已经历了哪几个时代
答:第一代语言(机器语言)、第二代语言(汇编语言)、第三代语言(高级语言)。高级语言种类繁多,又可分为传统的基础语言、结构化语言和专用语言三类。
2、良好的编码风格包括哪几方面
答:1)源程序文档化 2)数据说明 3)语句构造 4)输入与输出 5)效率。
3、在软件开发时,应根据哪些因素选择程序设计语言
答:(1)项目的应用领域。(2)用户的要求。(3)软件开发工具。(4)算法和数据结构的复杂性。(5)软件开发人员的知识。(6)系统的可移植性要求。
四、应用题
1.指出下面的程序段在风格上的问题并改正。
答:一方面尽量不使用“非”条件;另一方面语句格式不规范。改为:
if( x <= 0)
{
x = -x;
}
2.请将语句printf((i+1) % 10 = = 0)”%5d\n”:”%5d”, *(a+i) );改写为更为清晰的格式。
if ( (i+1) % 10 = = 0)
{
printf(”%5d\n”, *(a+i) );
}
else
{
printf(”%5d”, *(a+i) );
}
3.王永涛同学于2008年4月22日编写了下面的C程序,其名称为。请阅读该程序,并根据程序设计风格的一般要求改写下面的程序。
答:按编码风格优化后的代码为:
/**************************************************************
程序名称:
设计者:王永涛
日期: 2008年4月22日
程序功能:由键盘输入若干个整数,计算它们之和,并打印整数个数及其和
***************************************************************/
# include <>
void main()
{
int count, j=1,sum=0, x;
printf(“请输入整数个数\n”);
scanf("%d",&count);
while (j<=count) //求 count 个整数之和
{
printf(“请输入第 %d个整数:\n”, j );
scanf("%d",&x);
sum=sum+x; //累加整数
j++; //整数个数计数
}
printf("%d个整数的和为%d\n" , j, sum);}
}
4、请对以下代码的布局进行改进,使其符合良好的编码风格。