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

上传人:数据九部 文档编号:10253479 上传时间:2021-05-03 格式:DOCX 页数:10 大小:27.12KB
返回 下载 相关 举报
第4章顺序结构程序设计习题与答案.docx_第1页
第1页 / 共10页
第4章顺序结构程序设计习题与答案.docx_第2页
第2页 / 共10页
第4章顺序结构程序设计习题与答案.docx_第3页
第3页 / 共10页
第4章顺序结构程序设计习题与答案.docx_第4页
第4页 / 共10页
第4章顺序结构程序设计习题与答案.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《第4章顺序结构程序设计习题与答案.docx》由会员分享,可在线阅读,更多相关《第4章顺序结构程序设计习题与答案.docx(10页珍藏版)》请在三一文库上搜索。

1、第4章4-1C语言的控制语句有哪些?顺序结构程序设计答:C语言有九条控制语句:(1)条件语句:ifelse语句。(2)开关语句:switch语句。(3)当循环语句:while语句。(4)直到循环语句:dowhile语句。(5)计数循环语句:for语句。(6)中止本次循环语句:continue语句。(7)中止整个循环语句:break语句。(8)函数返回语句:return语句。(9)无条件转移语句:goto语句。4-2程序中使用注释语句有何作用?如何给程序加注释?答:注释语句的作用:注释程序、函数及语句块的功能以及注释变量的作用,增强程序可读性。给程序加注释通常遵循以下原则:(1)一个程序至少应该

2、有一条注释语句,对整个程序功能进行说明;(2)对程序中主要的变量应该加必要的注释,以说明变量的作用;(3)对程序中重要的语句块应该加必要的注释,以说明语句块的作用。(4)给程序加注释的方法:/注释内容(仅对当前行起作用)/*注释内容*/思考:你在写程序时,是否养成了添加必要注释的习惯?4-3结构化程序设计方法的基本思想是什么?答:结构化程序设计方法的基本思想是:自顶向下、逐步求精。思考:你是如何理解:“自顶向下、逐步求精”的?4-4简述程序设计的基本过程。答:程序设计的基本过程是:(1)分析问题;(2)设计算法;(3)编写程序。思考:这几步中,你认为最难的是哪一步?4-5运行下面的程序时,数据

3、如何输入?#includemain()inta,b;floatx,y;charc1,c2;scanf(a=%db=%d,&a,&b);scanf(x=%fy=%e,&x,&y);scanf(c1=%cc2=%c,&c1,&c2);假定a3,b7,x8.5,y71.82,c1A,c2=a。解:输入为:a3b7x8.5y71.82c1Ac2=a思考:在输入数据时,数据的输入格式与类型是如何对应的?4-6阅读下面的程序,给出程序的运行结果。#includemain()inta=5,b=7;floatx=67.8564,y=-789.124;charc=A;longn=1234567;unsigned

4、u=65535;printf(%d%dn,a,b);printf(%3d%3dn,a,b);printf(%f%fn,x,y);printf(%-10f,%-10fn,x,y);printf(%8.2f,%8.2f,%.4f,%.4f,%3f,%3fn,x,y,x,y,x,y);printf(%e,%10.2en,x,y);printf(%c,%d,%o,%xn,c,c,c,c);printf(%1d,%1o,%xn,n,n,n);printf(%u,%o,%x,%dn,u,u,u,u);printf(%s,%5.3sn,COMPUTER,COMPUTER);解:575767.1-789.12

5、402367.1,-789.12402367.86,-789.12,67.8564,-789.1240,67.856400,-789.1240236.1e+01,-7.9e+026.2A,65,101,411234567,4553207,d68765535,177777,ffff,-1COMPUTER,COM思考:在输出数据时,数据的输出格式与输出变量是如何对应的?“n”的作用是什么?4-7编写程序,实现如下的输出格式和结果:a=3b=4c=5x=1.200000,y=2.400000,z=-3.600000x+y=3.60y+z=-1.20z+x=-2.40u=51274n=128765c1

6、=aor97(ASCII)c2=bor98(ASCII)假定a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=a,c2=b。解:#includemain()inta=3,b=4,c=5;floatx=1.2,y=2.4,z=-3.6;charc1=a,c2=b;longn=128765;unsignedu=51274;”printf(“a=%dtb=%dtc=%dn,a,b,c);printf(“x=%f,y=%f,z=%fn”,x,y,z);printf(“x+y=%6.2fty+z=%-6.2ftz+x=%-6.2fn”,x+y,y+z,

7、z+x);printf(“u=%8utn=%10ldn”,u,n);”printf(“c1=%cor%d(ASCII)n,c1,c2);printf(“c2=%cor%d(ASCII)n”,c2,c2)思考:在输出格式中,“%”后的数据起什么作用?4-8编写程序,求长方形的面积。解:#includemain()floata,h,s;);,printf(“请输入长方形的长与宽:”scanf(“%f,%f”&a,&h);s=a*h;”printf(“长为%f宽为%f的长方形面积=%fn,a,h,s);4-9编写程序,求梯形的面积。解:#includemain()floata,b,h,s;);pri

8、ntf(“请输入梯形的上底边长、下底边长与高:”scanf(“%f,%f,%f”,&a,&b,&h);s=(a+b)*h/2;”printf(“上底边长为%f高为%f的梯形面积=%fn,a,h,s);4-10编写程序,由底和高求三角形的面积。解:#includemain()floata,h,s;);”printf(“请输入三角形的底和高:”scanf(“%f,%f,&a,&h);s=a*h/2;”printf(“底为%f高为%f的三角形面积,a,h,s);思考:以上三题中,在scanf语句前的printf语句的作用是什么?4-11编写程序,由一个人的出生时间计算此人某年的年龄。解:#inclu

9、demain()intyear,n,age;);,printf(“请输入出生年份:”scanf(“%d”&year););,printf(“请输入需要计算年龄的年份(出生年份):”scanf(“%d”&n);age=n-year;printf(“%d年该人的年龄为:%d岁。n”,n,age);思考:为何要求计算年龄的年份大于出生年份?若不大于,程序运行会错吗?4-12编写程序,求玲玲同学期末6门课程考试成绩的总分与平均分。解:#includemain()ints1,s2,s3,s4,s5,s6,sum;floataverage;printf(“请输入6门课程的考试成绩:”);”scanf(“%

10、d,%d,%d,%d,%d,%d&s1,&s2,&s3,&s4,&s5,&s6);sum=s1+s2+s3+s4+s5+s6;average=sum/6;printf(“总分=%d,平均分=%fn”sum,average);思考:在语句“average=sum/6;”中,赋值号左边与右边的数据类型不一致是否可行?将会发生什么操作?4-13编写程序,计算某个月应发薪水与实发工资,其中的薪水项目、扣款项目自定。解:#includemain()floatzwgz,gwjt,xygz;/薪水项目:职务工资、岗位津贴、效益工资floatsdf,bxj,gjj/扣款项目:水电费、保险金、公积金floaty

11、f,sf;/应发工资和实发工资printf(“请输入薪水项目:职务工资、岗位津贴、效益工资n”);scanf(“%f,%f,%f”,&zwgz,&gwjt,&xygz);printf(“请输入扣款项目:水电费、保险金、公积金:n”);scanf(“%f,%f,%f”,&sdf,&bxj,&gjj);yf=zwgz+gwjt+xygz;/计算应发工资sf=yf-sdf-bxj-gjj;/计算实发工资printf(“应发工资为%7.2f,实发工资为%7.2fn”,ys,sf);/输出结果思考:语句“printf(“应发工资为%7.2f,实发工资为%7.2fn”,ys,sf)”中的“%7.2f”是什

12、么意思?4-14编写程序,求空间两点之间的距离。提示:空间一点(x,y,z),可由三个实数来描述。解:#includemain()floatx1,x2,y1,y2,z1,z2,leng;printf(“请输入第一个点坐标:n”);scanf(“%f,%f,%f”,&x1,&y1,&z1);printf(“请输入第二个点坐标:n”);scanf(“%f,%f,%f”,&x2,&y2,&z2);leng=sqrt(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1);printf(“这两坐标点的距离=%fn”,leng);思考:若还想求出这两点到原点的距离,

13、程序应如何修改?4-15编写程序,求两个复数的和与差。提升:C语言中没有复数类型,一个复数可通过实部与虚部两个实数来描述。解:#includemain()floatx1,x2,y1,y2,a,b,c,d;printf(“请输入两个复数(实部,虚部):、n”);scanf(“%f,%f”,&x1,&y1);scanf(“%f,%f”,&x2,&y2);a=x1+x2;b=y1+y2;c=x1-x2;d=y1-y2;printf(“这两个复数的和为%f+%fin,这两个复数的差为%f+%fin”,a,b,c,d);思考:在第二个printf语句中“%f+%fin”的作用是什么?在printf语句中如何将“%”或“”输出?4-16编写显示如下界面的程序:成绩处理程序D-成绩登录X-成绩修改Z-求总成绩P-求平均成绩S-成绩排序Y-打印成绩单Q-退出程序解:#includemain()printf(“t成绩处理程序n”);printf(“D-成绩登录ttX-成绩修改n”);printf(“Z-求总成绩ttP-求平均成绩n”);printf(“X-成绩排序ttY-打印成绩单n”);printf(“Q-退出程序n”);思考:在printf语句中的“t”的作用是什么?进一步理解转义符的用法与作用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1