第五章选择结构程序设计-第五章.ppt
文本预览下载声明
第五章 本章要点 关系表达式 逻辑表达式 选择结构程序设计 主要内容 5.1 关系运算符和关系表达式 5.2 逻辑运算符和逻辑表达式 5.3 if语句 5.4 switch语句 5.5 程序举例 §5.1 关系运算符和关系表达式 §5.1 关系运算符和关系表达式 §5.2 逻辑运算符和逻辑表达式 §5.2 逻辑运算符和逻辑表达式 §5.2 逻辑运算符和逻辑表达式 §5.2 逻辑运算符和逻辑表达式 §5.2 逻辑运算符和逻辑表达式 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.3 if语句 §5.4 switch语句 §5.4 switch语句 §5.4 switch语句 §5.4 switch语句 §5.5 程序举例 §5.5 程序举例 §5.5 程序举例 §5.5 程序举例 §5.5 程序举例 §5.5 程序举例 §5.5 程序举例 §5.5 程序举例(续) (4) 各个case和default的出现次序不影响执行结 果。例如,可以先出现“default:…”,再出现 “case ′D′:…”,然后是“case ′A′:…”。 (5) 执行完一个case后面的语句后,流程控制转移到下一 个case继续执行。“case常量表达式”只是起语句 标号作用,并不是在该处进行条件判断。在执行 switch语句时,根据switch后面表达式的值 找到匹配的入口标号,就从此标号开始执行下去,不再进 行判断。应该在执行一个case分支后,可以用一个 break语句来终止switch语句的执行。 (6) 多个case可以共用一组执行语句。 例5.5 写程序,判断某一年是否闰年。 #include stdio.hvoid main(){int year, leap; scanf(%d,year); if (year%4==0) {if (year%100==0) {if (year%400==0) leap=1; else leap=0;} else leap=1;} else leap=0; if (leap) printf(%d is ,year); else printf(%d is not ,year); printf(a leap year.\n);} if(year%4!=0) leap=0; else if(year%100!=0) leap=1; else if(year%400!=0) leap=0; else leap=1; 运行情况: 1989↙ 1989 is not a leap year. 2000↙ 2000 is a leap year. 例5.6 求a+bx+c=0方程的解。 基本的算法: ① a=0,不是二次方程。 ② -4ac=0,有两个相等实根。 ③ -4ac>0,有两个不等实根。 ④ -4ac<0,有两个共轭复根。 #include stdio.h #include math.h void main ( ) {float a,b,c,disc,x1,x2,realpart,imagpart; scanf(%f,%f,%f,a,b,c); printf(the equation ); if(fabs(a)=1e-6) printf(is not a quadratic\\n); else { disc=b*b-4*a*c; if(fabs(disc)=1e-6) printf(has two equal roots:%8.4f\n,-b/(2*a)); else if(disc1e-6) {x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf(“has distinct real roots:%8.4f and %8.4f\n”,x1,x2); } else {realpart=-b/(2*a); imagpart=sqrt(-disc)
显示全部