资源描述:
《分支结构的的C语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章分支结构的C程序设计4.1if语句4.2switch语句4.3程序举例4.1if语句4.1.1if语句的简单形式if(表达式)语句图4.1if语句执行过程例4.1打印出不及格的成绩。4.1.2if~else结构1.if~else结构if(表达式)语句1else语句2图4.2if~else语句执行过程例4.2打印成绩≥60分为“Pass”,否则为“Fail”。解我们可以使用两种方法编程:方法一:用两个简单的if语句实现:main(){floatscore;scanf(″%f″,&sco
2、re);if(score<60.0)printf(″score=%5.1f---Fail″,score);if(score>=60.0)printf(″score=%5.1f---Pass″,score);}运行:50score=50.0---Fail再次运行:80score=80.0---Pass在第二个if语句中,if(score>=60.0)是不能缺少的,否则不管score是否小于60,都将打印出第二行的结果。方法二:用if~else语句实现:main(){fl
3、oatscore;scanf(″%f″,&score);if(score<60.0)printf(″score=%5.1f---Fail″,score);elseprintf(″score=%5.1f---Pass″,score);}运行:50score=50.0---Fail再次运行:80score=80.0---Pass2.条件运算符的使用当if~else结构中的语句是表达式语句时,就可以使用条件运算符“?:”了,即下列if~else语句:if(表达式1)表
4、达式2;else表达式3;用条件运算符写成通用形式即为表达式1?表达式2:表达式3这是一个条件表达式,其功能是:当表达式1的值为真(非零)时,整个条件表达式的值就取表达式2的值;当表达式1的值为假(零)时,整个条件表达式的值就取表达式3的值。如下列语句段:x=10;if(x>9)y=100;elsey=200;可以写成:x=10;y=x>9?100:200;例4.3输入x的值,当x>0时调用sqrt(x),否则调用fabs(x)。#includemain(){flo
5、atx,y;scanf(″%f″,&x);#=y=x>0?sqrt(x):fabs(x);printf(″x=%f,y=%f″,x,y);}运行:9.0x=9.000000,y=3.000000再次运行:-9.0x=-9.000000,y=9.000000例4.4打印a,b两个数中大者。方法一:用if~else结构实现:main(){inta,b;scanf(″%d,%d″,&a,&b);if(a>b)printf(″max=%d″,a);elseprintf(
6、″max=%d″,b);}方法二:用条件运算符实现:main(){inta,b;scanf(″%d,%d″,&a,&b);printf(″max=%d″,a>b?a:b);}3.if语句的嵌套例4.5输入一个学生成绩,当成绩≥90时,打印“VeryGood”;当80≤成绩<90时,打印“Good”;当60≤成绩<80时,打印“Pass”;当成绩<60分,打印“Fail”。main(){floatscore;scanf(″%f″,&score);if(score>=80)i
7、f(score>=90)printf(″VeryGood″);elseprintf(″Good″);elseif(score>=60)printf(″Pass″);elseprintf(″Fail″);}运行:85Good例如语句段:if(x)if(y)printf(″A″);elseprintf(″B″);其中else语句是与if(y)相匹配。如果与if(x)相匹配,则if(y)子句必须加花括号写成:if(x){if(y)printf(″A″);}els
8、eprintf(″B″);4.1.3elseif结构elseif结构的形式如下:if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3…elseif(表达式n)语句nelse语句n+1图elseif结构执行过程4.3例4.6将例4.5用elseif结构来实现。main(){floatscore;scanf(″%f″,&score);if(score>=90)printf(″VeryGood″);else