资源描述:
《实训五选择结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验五选择结构程序设计【实验目的】1.学会使用逻辑表达式表示条件的方法。2.掌握if语句三种形式的用法。3.掌握switch语句的用法。4.学会设计有实际价值的分支结构程序。【实验内容】1.简单if语句的用法。编写调试程序:从键盘输入一个任意大小的实数x,如果x满足如下条件,则输出x及其绝对值。输出x的条件:-29.5≤x≤29.52.if-else语句的用法。修改上面的程序,使得x满足-29.5≤x≤29.5时输出x及其绝对值,否则只输出x。3.if-elseif语句的用法。编写一个能够进行加减法运算的
2、程序,要求:从键盘任意输入两个实数,然后输入一个运算符,当运算符为“+”时对两个数进行加法运算,为“-”时对两个数进行减法运算,其他符号时,只显示输入的符号不进行运算。4.switch语句的应用。编写计算器程序。要求从键盘任意输入两个数值,然后输入一个四则运算符,自动完成运算后输出结果。【实验指导】1.简单if语句的用法。⑴编程分析正确表示条件,将数学不等式-29.5≤x≤29.5表示为如下逻辑表达式:x>=-29.5&&x<=29.5或(x>=-29.5)&&(x<=29.5)也可以使用x的绝对值形式表
3、示,如下:fabs(x)<=29.5⑵参考程序⑶程序调试输入数据时,至少应考虑的几种情况①输入满足输出条件的数,包括正数、负数、零。②输入不满足输出条件的数,包括正数、负数。③输入数据为整数。2.if-else语句的用法。⑴编程分析只需修改上面程序中的if语句即可。将if语句修改为如下形式:if(x>=-29.5&&x<=29.5)printf("x=%ft
4、x
5、=%f",x,fabs(x));elseprintf("x=%f",x);⑵程序调试输入数据时,除考虑上面指出的三种情况的数据外,输入
6、一个字符数据,观察会是什么结果。3.if-else嵌套语句的用法。⑴参考程序#include"stdio.h"voidmain(){floatx,y;charop;printf("请输入两个实数和一个运算符,数据和操作符用,隔开::");scanf("%f,%f,%c",&x,&y,&op);if(op=='+')printf("%f+%f=%f",x,y,x+y);elseif(op=='-')printf("%f-%f=%f",x,y,x-y);elseprintf("%f%c%f=%c"
7、,x,op,y,'?');}⑵程序调试运行程序时,应考虑如下问题:输入数据时必须要考虑到题目要求的三种情况。4.switch语句的应用。⑴编程分析①四则运算共有加(+)、减(-)、乘(*)、除(/)四种运算,要做出判断需使用switch语句。对上面的程序进行适当修改可得到本程序。②当输入符号为四则运算符之外的符号时,不进行任何运算,但应给出相应的提示信息。当使用提示信息是,switch语句应含有default子句。(2)源程序自己完成⑶程序调试①参考程序中使用了中文提示信息,如果使用的C语言系统不支持汉字
8、,应将这些提示信息换用英文信息。②调试程序时,+、-、*、/及非四则运算符的情况都应予以调试。【思考题】1.在输入数值数据时,有时错误地输入了字符,导致程序运行后出现不正常的结果。请考虑如何改进程序,使得发生这种错误输入时能检查出来?2.实现一个手机快速拨号程序。当用户输入1,显示拨父亲的号;输入2,显示拨母亲的号;输入3,显示拨爷爷的号;输入4,显示拨奶奶的号;输入其它,显示输入错误提示。3.编写一个程序,根据本金a、存款年数n和年利率p计算到期利息。计算公式如下:到期利息公式为:a*(1+p)n–a参
9、考程序:#include#includevoidmain(){intn;floata,p,s;printf("请依次输入本金,存款年数,年利率(年利率为百分比值)(以空格隔开)");scanf("%f%d%f",&a,&n,&p);s=a*pow(1+p,n)-a;printf("利息为:%f",s);}备注:原型:在TC2.0中原型为externfloatpow(floatx,floaty);,而在VC6.0中原型为doublepow(doublex,doubley
10、); 头文件:math.h 功能:计算x的y次幂。 返回值:x应大于零,返回幂指数的结果。 返回类型:double型,int,float会给与警告!