第三章分支结构程序设计优秀PPT.ppt
《第三章分支结构程序设计优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第三章分支结构程序设计优秀PPT.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第第第3 3 3 3章章章章 分支结构程序设计分支结构程序设计分支结构程序设计分支结构程序设计4多分支多分支if语句语句表达式表达式表达式表达式1 1 1 1F表达式表达式表达式表达式2 2 2 2表达式表达式表达式表达式3 3 3 3FTFTTF表达式表达式表达式表达式n n n n语句语句语句语句n n n n语句语句语句语句n+1n+1n+1n+1T语句语句语句语句3 3 3 3语句语句语句语句2 2 2 2语句语句语句语句1 1 1 1 金松奖学金:假如各门功课在90分以上是一等奖学金,假如各门功课在85分以上是二等奖学金,假如各门功课在80分三等奖学金。if(if(表达式表达式1)
2、1)语句语句1;1;else if(else if(表达式表达式2)2)语句语句2;2;else if(else if(表达式表达式3)3)语句语句3;3;else if(else if(表达式表达式n)n)语句语句n;n;else else 语句语句n+1;n+1;执行流程执行流程【例3.5】编写程序:将用户输入的分数按以下规则转换为相应的等级:分数:90100 等级:A 分数:8089 等级:B 分数:7079 等级:C 分数:6069 等级:D 分数:60分以下 等级:E4多分支多分支if语句语句#includemain()int a;printf(input the score:);s
3、canf(%d,&a);if(a=90&a=80&a=70&a=60&a70)printf(D);else printf(E);第第1次运行结果:次运行结果:inputthescore:90A逻辑运算符的使用逻辑运算符的使用在多分支中各个在多分支中各个条件具有排它性条件具有排它性#includemain()int a;printf(input the score:);scanf(%d,&a);if(a=90&a=80)printf(B);else if(a=70)printf(C);else if(a=60)printf(D);else printf(E);第第1次运行结果:次运行结果:inp
4、utthescore:90A在在ifif语句中又包含一个或多个语句中又包含一个或多个ifif语句称为语句称为ifif语句的嵌套。语句的嵌套。形式:形式:If(If(条件条件1)1)if(if(条件条件2)语句语句1 1else else 语句语句2 2elseelseif(if(条件条件3)语句语句3 3else else 语句语句4 4内嵌内嵌ifif5if语句的语句的嵌套嵌套if语句(续)语句(续)匹配规则:匹配规则:elseelse总是与它上面的,总是与它上面的,最近最近的,统一复合语句中的,未配的,统一复合语句中的,未配对的对的ifif语句配对。语句配对。例:例:If()If()if(
5、)if()语句语句1 1elseelseif()if()语句语句2 2else else 语句语句3 3例:例:If()If()if()if()语句语句11elseelseif()if()语句语句2 2else else 语句语句3 3当当ifif和和elseelse数目不同时,可以加数目不同时,可以加花括号花括号来确定配对关系。来确定配对关系。【实实例例3.6】编编写写程程序序,求求下下面面分分段段函函数数的值,要求的值,要求x的值从键盘输入。的值从键盘输入。0 (x=0)y=x2+1 (x 0)x (x0)y=xx00假假真真真真假假x=0=0y=x*x+1y=0输入输入x 显示显示y y
6、的值的值#includemain()floatx=0,y=0;printf(Inputx:);scanf(%d,&x);if(x0)y=x;elseif(x=0)y=0;elsey=x*x+1;printf(y=%dn,x,y);else总与和它上面最近的总与和它上面最近的if配配对对 if ()if ()if ()else else else例例例例:#include#include void main()void main()int a=1,b=-1;int a=1,b=-1;if (a 0)if (a 0)if (b 0)if (b 0)a+;a+;elseelse a-;a-;prin
7、tf(a=%dn);printf(a=%dn);例例例例:#include#include void main()void main()int a=1,b=-1;int a=1,b=-1;if (a 0)if (a 0)if (b 0)if (b 0)a+;a+;elseelse a-;a-;printf(a=%dn);printf(a=%dn);运行结运行结运行结运行结果:果:果:果:a=0a=0运行结运行结运行结运行结果:果:果:果:a=1a=1l l if_elseif_elseif_elseif_else 配对原则(续)配对原则(续)配对原则(续)配对原则(续)例:例:例:例:if(a
8、=b)if(a=b)if(b=c)if(b=c)printf(“a=b=c”);printf(“a=b=c”);else else printf(“a!=b”);printf(“a!=b”);修改:修改:修改:修改:if(a=b)if(a=b)if(b=c)if(b=c)printf(“a=b=c”);printf(“a=b=c”);else else printf(“a!=b”);printf(“a!=b”);实现实现实现实现if else if else 正确配对方法:加正确配对方法:加正确配对方法:加正确配对方法:加 例:考虑下面程序输出结果例:考虑下面程序输出结果例:考虑下面程序输出结
9、果例:考虑下面程序输出结果:void main()void main()int x=100,a=10,b=20;int x=100,a=10,b=20;int v1=5,v2=0;int v1=5,v2=0;if(ab)if(a=90:case score=90:case score=90:case score=90:printf(A);break;printf(A);break;printf(A);break;printf(A);break;case score=80&score=80&score=80&score=80&score=70&score=70&score=70&score=70
10、&score=60&score=60&score=60&score=60&score 70:printf(“E);break;(“E);break;(“E);break;(“E);break;default:default:default:default:printf(“F);break;printf(“F);break;printf(“F);break;printf(“F);break;case case 后面包含变量后面包含变量后面包含变量后面包含变量l l 运用运用运用运用switchswitchswitchswitch语句留意事项语句留意事项语句留意事项语句留意事项 (5)case (
11、5)case (5)case (5)case后面的后面的后面的后面的“常量表达式常量表达式常量表达式常量表达式”仅起语句标号作用,并仅起语句标号作用,并仅起语句标号作用,并仅起语句标号作用,并不进行条件推断。系统一旦找到入口标号,就从今标号起先不进行条件推断。系统一旦找到入口标号,就从今标号起先不进行条件推断。系统一旦找到入口标号,就从今标号起先不进行条件推断。系统一旦找到入口标号,就从今标号起先执行,不再进行标号推断,所以必需加上执行,不再进行标号推断,所以必需加上执行,不再进行标号推断,所以必需加上执行,不再进行标号推断,所以必需加上breakbreakbreakbreak语句,以便结语句
12、,以便结语句,以便结语句,以便结束束束束switchswitchswitchswitch语句。语句。语句。语句。#include#include void main()void main()char ch;char ch;ch=getch();ch=getch();switch(ch)switch(ch)case Y:printf(Yesn);break;case Y:printf(Yesn);break;case N:printf(Non);break;case N:printf(Non);break;case A:printf(Alln);break;case A:printf(Alln)
13、;break;default :printf(Yes,No or Alln);default :printf(Yes,No or Alln);运行结果:运行结果:运行结果:运行结果:NoNo/假设输入为:假设输入为:假设输入为:假设输入为:N N#include#include void main()void main()char ch;char ch;ch=getch();ch=getch();switch(ch)switch(ch)case Y:printf(Yesn);break;case Y:printf(Yesn);break;case N:printf(Non);case N:pr
14、intf(Non);case A:printf(Alln);break;case A:printf(Alln);break;default :printf(Yes,No or Alln);default :printf(Yes,No or Alln);/假设输入为:假设输入为:假设输入为:假设输入为:N N运行结果:运行结果:运行结果:运行结果:NoNo ALL ALLl l 运用运用运用运用switchswitchswitchswitch语句留意事项语句留意事项语句留意事项语句留意事项 (6)(6)(6)(6)多个多个多个多个casecasecasecase子句,可共用同一语句(组)。子句,
15、可共用同一语句(组)。子句,可共用同一语句(组)。子句,可共用同一语句(组)。例:当例:当例:当例:当a a a a的值是的值是的值是的值是1 1 1 1、2 2 2 2、3 3 3 3时,将时,将时,将时,将b b b b的值加的值加的值加的值加2 2 2 2,当,当,当,当a a a a的值是的值是的值是的值是4 4 4 4、5 5 5 5、6 6 6 6时,将时,将时,将时,将b b b b的值减的值减的值减的值减2 2 2 2。int a,b=4;int a,b=4;scanf(%d,&a);scanf(%d,&a);switch(a)switch(a)case 1:case 1:ca
16、se 2:case 2:case 3:b+=2;break;case 3:b+=2;break;case 4:case 4:case 5:case 5:case 6:b-=2;break;case 6:b-=2;break;default:b*=2;break;default:b*=2;break;printf(b=%dn,b);printf(b=%dn,b);l l 运用运用运用运用switchswitchswitchswitch语句留意事项语句留意事项语句留意事项语句留意事项 (7)case (7)case (7)case (7)case子句和子句和子句和子句和defaultdefault
17、defaultdefault子句假如都带有子句假如都带有子句假如都带有子句假如都带有breakbreakbreakbreak子句,那子句,那子句,那子句,那么它们之间依次的变更不会影响么它们之间依次的变更不会影响么它们之间依次的变更不会影响么它们之间依次的变更不会影响switchswitchswitchswitch语句的功能。语句的功能。语句的功能。语句的功能。#include#include void main()void main()char ch;char ch;ch=getch();ch=getch();switch(ch)switch(ch)case Y:printf(Yesn);c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 分支 结构 程序设计 优秀 PPT
限制150内