第4章顺序结构程序设计习题与答案.doc

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

}

相关文档
最新文档