第4章顺序结构程序设计习题与答案.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 4 章顺序结构程序设计
4-1 C 语言的控制语句有哪些?
答: C 语言有九条控制语句:
(1)条件语句: if - else 语句。
(2)开关语句: switch 语句。
(3)当循环语句: while 语句。
(4)直到循环语句: do - while 语句。
(5)计数循环语句: for 语句。
(6)中止本次循环语句: continue 语句。
(7)中止整个循环语句: break 语句。
(8)函数返回语句: return 语句。
(9)无条件转移语句: goto 语句。
4-2 程序中使用注释语句有何作用?如何给程序加注释?
答:注释语句的作用:注释程序、函数及语句块的功能以及注释变量的作用,增
强程序可读性。
给程序加注释通常遵循以下原则:
(1)一个程序至少应该有一条注释语句,对整个程序功能进行说明;
(2)对程序中主要的变量应该加必要的注释,以说明变量的作用;
(3)对程序中重要的语句块应该加必要的注释,以说明语句块的作用。
(4)给程序加注释的方法:
//注释内容(仅对当前行起作用)
/*注释内容*/
思考:你在写程序时,是否养成了添加必要注释的习惯?
4-3 结构化程序设计方法的基本思想是什么?
答:结构化程序设计方法的基本思想是:自顶向下、逐步求精。
思考:你是如何理解:“自顶向下、逐步求精”的?
4-4 简述程序设计的基本过程。
答:程序设计的基本过程是:( 1)分析问题;( 2)设计算法;( 3)编写程序。
思考:这几步中,你认为最难的是哪一步?
4-5 运行下面的程序时,数据如何输入?
#include
main()
{
int a,b;
float x,y;
char c1,c2;
scanf("a=%d b=%d",&a,&b);
scanf("x=%f y=%e",&x,&y);
scanf("c1=%c c2=%c",&c1,&c2);
}
假定 a= 3, b= 7, x = 8.5, y= 71.82 , c1= 'A',c2='a' 。
解:输入为:a= 3b= 7 x = 8.5 y= 71.82 c1= A c2=a
思考:在输入数据时,数据的输入格式与类型是如何对应的?
4-6 阅读下面的程序,给出程序的运行结果。
#include
main()
{
int a=5,b=7;
float x=67.8564,y=-789.124;
char c='A';
long n=1234567; unsigned
u=65535;
printf("%d%d\n",a,b);
printf("%3d%3d\n",a,b);
printf("%f%f\n",x,y);
printf("%-10f,%-10f\n",x,y);
printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y);
printf("%e,%10.2e\n",x,y);
printf("%c,%d,%o,%x\n",c,c,c,c);
printf("%1d,%1o,%x\n",n,n,n);
printf("%u,%o,%x,%d\n",u,u,u,u);
printf("%s,%5.3s\n","COMPUTER","COMPUTER");
}
解: 57
5 7
67.1-789.124023
67.1 , -789.124023
67.86 , -789.12 , 67.8564 , -789.1240 , 67.856400 , -789.124023
6.1e+01 , -
7.9e+02
6.2A , 65, 101, 41
1234567 , 4553207 , d687
65535 , 177777 , ffff , -1
COMPUTER, COM 思考:在输出数据时,数据的输出格式与输出变量是如何
对应的?“
\n”的
作用是什么?
4-7编写程序,实现如下的输出格式和结果:
a=3b=4c=5
x=1.200000 , y=2.400000 , z=-3.600000
x+y= 3.60 y+z=-1.20 z+x=-2.40
u= 51274 n= 128765
c1= ‘ a’ or97 ( ASCII )
c2= ‘ b’ or98 ( ASCII )
假定 a=3 ,b=4, c=5,x=1.2 ,y=2.4 ,z=-3.6 ,u=51274 , n=128765 ,c1= ‘ a’,c2= ‘ b’。
解: #include
main( )
{int a=3,b=4,c=5;
float x=1.2, y=2.4, z=-3.6;
char c1= ‘ a’ ,c2= ‘ b’;
long n=128765;
unsigned u=51274;
printf( “a=%d\tb=%d\tc=%d\n ”,a,b,c);
printf( “x=%f,y=%f,z=%f\n”,x,y,z);
printf( “x+y=%6.2f\ty+z=%-6.2f\tz+x=%-6.2f\n”,x+y,y+z,z+x);
printf( “u=%8u\tn=%10ld\n ”,u,n);
printf( “c1=‘ %c’or%d(ASCII)\n”,c1,c2);
printf( “c2=‘ %c’ or%d(ASCII)\n ”,c2,c2)
}
思考:在输出格式中,“%”后的数据起什么作用?
4-8编写程序,求长方形的面积。
解: #include
main( ) {float
a, h, s;
printf( “请输入长方形的长与宽:”);
scanf( “%f, %f ”, &a, &h);
s=a*h;
printf( “长为%f 宽为 %f 的长方形面积=%f\n ”,a, h, s);
}
4-9编写程序,求梯形的面积。
解: #include
main( )
{float a, b, h, s;
printf( “请输入梯形的上底边长、下底边长与高: ”);
scanf (“%f, %f, %f ”,&a, &b, &h );
s=(a+b)*h/2;
printf( “上底边长为 %f 高为 %f 的梯形面积 =%f\n ”,a, h, s);
}