C语言程序设计谭浩强.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言程序设计谭浩强.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计谭浩强.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C C语言程序设计谭浩强选择结构程序设计选择结构程序设计第五章第五章第五章第五章第五章第五章选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计5.1if-else分支语句分支语句5.2 if分支语句分支语句5.3条件分支的嵌套条件分支的嵌套5.4if-elseif分支语句分支语句5.5switch开关分支语句开关分支语句5.6习题习题 分支结构程序设计分支结构程序设计在在C语言程序中,条件分支结构是通过语言程序中,条件分支结构是通过if语句和语句和switch语句实现的。语句实现的。if语句有语句有if、if-else和和if-elseif三三种形式。种形式。分支结构是程序的基本
2、结构。所谓分支结构,就分支结构是程序的基本结构。所谓分支结构,就是根据不同的条件,选择不同的程序块(分程序)进是根据不同的条件,选择不同的程序块(分程序)进行处理。行处理。if-elseifelse嵌套嵌套ifif-elseifif(表达式)表达式)语句语句;if(表达式)表达式)语句语句;else语句语句;if(表达式)表达式)语句语句;if(表达式)表达式)语句语句;else语句语句;else语句语句;if(表达式)表达式)语句语句;elseif(表达式)表达式)语句语句;elseif(表达式)表达式)语句语句;else语句语句;switchswitch(表达式)表达式)case常量常量1
3、:语句:语句1;case常量常量2:语句:语句2;case常量常量n:语句语句n;default:语句语句n+1;格式格式:功能功能:S1、S2是一个语句或分程序(程序块),也可以是空语句。是一个语句或分程序(程序块),也可以是空语句。e的结果为真的结果为真(非非0),则执行则执行S1。e的结果为假的结果为假(0),则执行则执行S2。5.1ifelse分支语句分支语句真真式式e语句语句S1语句语句S2假假if(表达式表达式e)语句语句S1;else语句语句S2;没有表达没有表达式式关系或逻辑关系或逻辑表达式等表达式等#include“stdio.h”main()int a,b;printf(“
4、n Please input a and b:”);scanf(“%d,%d”,&a,&b);if(a y);(2)if(xy)a=10elsea=100;(3)if(x=y)a=10;printf(“%d”,a);elsea=100;(4)if(5)a=10;(2)(3)5.3条件分支的嵌套条件分支的嵌套if(e1)if(e2)S3;elseS4;elseif(e3)S5;elseS6;入口入口入口入口出出口口出出口口出出口口出出口口出出口口出出口口分支嵌套应注意:分支嵌套应注意:if和和else的配对关系。的配对关系。程序的走向,即程序的入口和出口、执行部分和非执行程序的走向,即程序的入口
5、和出口、执行部分和非执行(跳出跳出)部分。部分。if(e1)S1;elseS2;条件分支嵌套就是在一个分支中包含(嵌套)另一个分支条件分支嵌套就是在一个分支中包含(嵌套)另一个分支。s4假假真真e2e3s3s5s6假假假假真真真真e1main()int x,y,z,min;printf(“n Please input x,y,z:”);scanf(“%d%d%d”,&x,&y,&z);if(x y)if(xz)min=x;else min=z;else if(yz)min=y;else min=z;printf(“n min=%d”,min);Please input x,y,z:100 5
6、29CRmin=5运行程序运行程序例例5-25-2:任意输入三个整数,求其中最小的数。任意输入三个整数,求其中最小的数。if(e1)if(e2)S1;elseif(e3)S2;elseS3;elseS4;入口入口真e 3e 1e 2S1S2S3真真假假假出出口口出出口口出出口口出出口口if与与else配对关系:一个配对关系:一个else总是与其上面距它最近的,并且没有其总是与其上面距它最近的,并且没有其它它else与其配对的与其配对的if相配对。相配对。程序的走向,即程序的入口和出口、执行部分和非执行程序的走向,即程序的入口和出口、执行部分和非执行(跳出跳出)部分。部分。每个每个if-else
7、有一个入口,两个出口。有一个入口,两个出口。if与与else配对关系与程序的走向:配对关系与程序的走向:S4if(e1)if(e2)s1;elseif(e3)s2;elses3;入口入口出出口口出口出口出口出口出口出口if与与else配对关系:配对关系:假e 3e 1e 2S1S2S3真真真假假例如:例:假定例:假定a=b=c=0,x=35,下列程序段执行后,下列程序段执行后,x的值是:的值是:if(!a)x-;elseif(b);if(c)x=3;elsex=4;A)34B)4C)35D)3答案:答案:B假假真真假假真真真真真真.假假假假e1e2e3enS1Sn+1S2S3Sn5.4if-e
8、lseif分支语句分支语句if(e1)S1;elseif(e2)S2;elseif(e3)S3;.elseif(en)Sn;elseSn+1;if-elseif 结构是条件分支嵌套常用的一种形式。结构是条件分支嵌套常用的一种形式。其一般形式为:其一般形式为:例例5-3:计算并输出:计算并输出y的值的值3x-1x06x2+9x-50=x10y=10=x=25#include“stdio.h”#include“math.h”main()floatx,y;scanf(“%f”,&x);if(x0)y=3*x-1;elseif(x10)y=6*x*x+9*x-5;elseif(x=90,A.(90-1
9、00)。=80,B.(80-89)。=70,C.(70-79)。=60,D.(60-69)。=0,E.(0-59)。main()float score;printf(“n Enter a score(0-100):”);scanf(“%f”,&score);if(score=90)printf(“A n”);else if(score=80)printf(“B n”);else if(score=70)printf(“C n”);else if(score=60)printf(“D n”);else printf(“E n”);例例5-4:学生成绩分学生成绩分A、B、C、D、E五等。五等。任给
10、一个成绩,判断它属于哪一等,用任给一个成绩,判断它属于哪一等,用if-elseif分支语句编程。分支语句编程。5.5switch开关分支开关分支在计算机程序设计中,实际问题常常需要用在计算机程序设计中,实际问题常常需要用到多分支的选择。到多分支的选择。if语句只能有两个分支可供选择,不能满足语句只能有两个分支可供选择,不能满足多分支的需要。多分支的需要。if-elseif嵌套形式可以满足要求。但也可选嵌套形式可以满足要求。但也可选用用switch语句,语句,switch是多分支选择语句。是多分支选择语句。其中其中,e是表达式。是表达式。c1、是常量表达式。是常量表达式。S1、S2Sn、Sn+1
11、是一个语句或程序块。是一个语句或程序块。开关分支是分支结构的另一种形式,该语句执行时它根据条件开关分支是分支结构的另一种形式,该语句执行时它根据条件的取值来选择程序中的一个分支。的取值来选择程序中的一个分支。switch分支语句形式如下:分支语句形式如下:switch(e)case判断值判断值c1:S1;break;case判断值判断值c2:S2;break;case判断值判断值cn:Sn;break;default:Sn+1;break;eSn+1S1S2Sne=c1.e=c2e=cne=其它其它(default)有有break语句的执行情况语句的执行情况main()char a;print
12、f(“Please input the salary level n”);printf(“Between 1 to 5,which is char type.n”);scanf(“%c”,&a);switch(a)case 1:printf(“taxis=60%n”);break;case 2:printf(“taxis=40%n”);break;case 3:printf(“taxis=20%n”);break;case 4:printf(“taxis=8%n”);break;case 5:printf(“taxis=0%n”);break;default:printf(“Error”);例
13、例5-5:输出不同工资水平的税率。输出不同工资水平的税率。switch(e)casec1:S1;break;casec2:S2;break;casecn:Sn;break;default:Sn+1;break;例:例:main()chara;switch(5+6/3).switch(a).常量表达式常量表达式字符型变量字符型变量(1)switch后面的后面的e表达式表达式(2)可以是整型常量或变量、字符型常量或变量、枚可以是整型常量或变量、字符型常量或变量、枚举类型表达式。其结果值必须是举类型表达式。其结果值必须是整型数据或字符型数据整型数据或字符型数据。使用使用 switch-case 分支
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 谭浩强
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内