资源描述:
《4 分支结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章分支结构程序设计回首坦途的路例3:求方程ax2+bx+c=0的根。求解过程:ax2+bx+c=0dt=b2-4acx1=(-b+dt)/2ax2=(-b-dt)/2a说明:1、C中不能用上下标2、求平方根需要使用数学函数库输入a,b,cdt=sqrt(b2-4ac)x1=(-b+dt)/2ax2=(-b-dt)/2a输出x1,x2问题分析:设b2-4ac>0,输入a,b,c的值,输出方程的根。#include#includevoidmain(){floata,b,c,x1,x2,dt;printf("输入a,b,c:");scanf("%f
2、%f%f",&a,&b,&c);dt=sqrt(b*b-4*a*c);x1=(-b+dt)/(2*a);x2=(-b-dt)/(2*a);printf("%6.2fx*x+%6.2fx+%6.2f=0",a,b,c);printf("x1:%ftx2:%f",x1,x2);}输入a,b,cdt=sqrt(b2-4ac)x1=(-b+dt)/2ax2=(-b-dt)/2a输出x1,x2开始第1条语句第n条语句结束程序结构:选择结构程序设计(分支)条件语句(if)开关语句(switch)if语句:用if语句可以构成分支结构。作用:判断所给定的条件满足与否,根据结果决定程序的
3、流向。一、if语句的三种形式1.简单分支(单分支)格式:if(表达式)语句;例1:if(xy)printf(“%d”,x);elseprintf(“%d”,y);main(){inta,b;printf("inputtwon
4、umbers:");scanf("%d%d",&a,&b);if(a>b)printf("max=%d",a);elseprintf("max=%d",b);}例2:if(表达式)语句1else语句2if(表达式)语句1语句1表达式语句2真假语句1表达式真假if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;……elseif(表达式m)语句m;else语句n;3.多分支——if的一种扩展形式工作过程图:例:if(num>500)cost=.15;elseif(num>300)cost=.10;elseif(num>100)cost=.0
5、75;elseif(num>50)cost=.05;elsecost=0;#include"stdio.h"main(){charc;printf("inputacharacter:");c=getchar();if(c<=32)printf("Thisisacontrolcharacter");elseif(c>='0'&&c<='9')printf("Thisisadigit");elseif(c>='A'&&c<='Z')printf("Thisisacapitalletter");elseif(c>='a'&&c<='z')printf("Thisisasma
6、llletter");elseprintf("Thisisanothercharacter");}例:(1)三种形式的if语句中,if关键词后面均为表达式。通常为关系表达式或逻辑表达式。也可以是其它表达式,如赋值表达式,甚至也可以是一个变量。例:if(a=5)语句;或if(b)语句;均为合法用法(2)if后的条件判断表达式一定用圆括号括起来。使用if语句时注意:(3)三种形式中所用的为单个语句表示,具体实际若为一组语句一定用{}括起来,组成语句块。但需注意}后不可用“;”号。例如:if(a>b){a++;b++;}else{a=0;b=10;}复合语句/语句块(Block
7、){}括住的若干条语句构成一个语句块语句块内可以定义变量变量必须在语句块的开头定义变量仅在定义它的语句块内有效同一个语句块内的变量不可同名,不同语句块可以同名各司其职、下层优先尽量不要在下层语句块内定义变量,也尽量不要定义同名变量二、if语句的嵌套:一般形式:if(表达式1)elseif(表达式2)语句1内嵌else语句2if语句if语句中又含有if语句的形式称为if语句的嵌套。if(表达式3)语句3内嵌else语句4if语句if(expr1)if(expr2)statement