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