资源描述:
《第4章_选择结构程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章选择结构程序设计主要内容4.1选择结构和条件判断4.2用if语句实现选择结构4.3关系运算符和关系表达式4.4逻辑运算符和逻辑表达式4.5条件运算符和条件表达式4.6选择结构的嵌套4.7用switch语句实现多分支选择结构4.8选择结构程序综合举例4.1选择结构和条件判断在现实生活中,需要进行判断和选择的情况是很多的如果你在家,我去拜访你如果考试不及格,要补考如果遇到红灯,要停车等待周末我们去郊游70岁以上的老年人,入公园免票处理这些问题,关键在于进行条件判断由于程序处理问题的需要,在大多数程序中都会包含选择结构,需要在进行下一个操作之前先进行条件判断4.1选择结构
2、和条件判断C语言提供如下语句来实现选择结构:(1)if语句,实现两个分支的选择结构(2)switch语句,实现多分支的选择结构例4.1在例3.5的基础上对程序进行改进。题目要求是求ax2+bx+c=0方程的根。由键盘输入a,b,c。假设a,b,c的值任意,并不保证b2-4ac≥0.需要在程序中进行判别,如果b2-4ac≥0,就计算并输出方程的两个实根,否则就输出“方程无实根”的信息。4.1选择结构和条件判断解题思路:输入a,b,c计算discdisc≥0计算x1,x2输出无实根输出x1,x2真假#include#includeintmai
3、n(){doublea,b,c,disc,x1,x2,p,q;scanf("%lf%lf%lf",&a,&b,&c);disc=b*b-4*a*c;if(disc<0)printf(“hasnotrealroots”);else{p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf(“realroots:x1=%7.2fx2=%7.2f”,x1,x2);}return0;}//计算b2-4ac,disc的值变为-15//输入:631//-15<0为真#include#include<
4、math.h>intmain(){doublea,b,c,disc,x1,x2,p,q;scanf("%lf%lf%lf",&a,&b,&c);disc=b*b-4*a*c;if(disc<0)printf(“hasnotrealroots”);else{p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf(“realroots:x1=%7.2fx2=%7.2f”,x1,x2);}return0;}//计算b2-4ac,disc的值变为8//输入:241//8<0为假选择结构,用if语句实现的复合语句
5、4.2用if语句实现选择结构4.2.1用if语句处理选择结构举例例4.2输入两个实数,按代数值由小到大的顺序输出这两个数。解题思路:只需要做一次比较,然后进行一次交换即可用if语句实现条件判断关键是怎样实现两个变量值的互换★●AB互换前●★AB互换后4.2.1用if语句处理选择结构举例★A●BC★●BC★★A●C★B●★A●#includeintmain(){floata,b,t;scanf("%f,%f",&a,&b);if(a>b){t=a;a=b;b=t;}printf("%5.2f,%5.2f",a,b);return0;}//将a和b的值互
6、换//如果a>b用if语句实现的选择结构例4.3输入3个数a,b,c,要求按由小到大的顺序输出。4.2.1用if语句处理选择结构举例解题思路:可以先用伪代码写出算法:ifa>b,a和b对换(a是a、b中的小者)ifa>c,a和c对换(a是三者中最小者)ifb>c,b和c对换(b是三者中次小者)顺序输出a,b,c#includeintmain(){floata,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}pri
7、ntf("%5.2f,%5.2f,%5.2f",a,b,c);return0;}//如果a>b,将a和b对换//a是a、b中的小者//如果a>c,将a和c对换//a是三者中的小者//如果b>c,将b和c对换//b是三者中的次小者4.2.2if语句的一般形式if(表达式)语句1[else语句2]关系表达式逻辑表达式数值表达式方括号内的部分为可选的简单的语句复合语句另一个if语句等1.if(表达式)语句1(没有else子句)4.2.2if语句的一般形式例:if(x>y)printf(“%d”,x);表达式语句真(非0)假(0)