第一讲-多分支嵌套结构的实现.课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第一讲-多分支嵌套结构的实现.课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一 分支 嵌套 结构 实现 课件
- 资源描述:
-
1、1第二部分 模块化程序设计2第二部分 主要内容n第一讲 多分支嵌套结构的实现n第二讲 循环嵌套结构的实现n第三讲 数据文件及应用n第四讲 指针及应用3第一讲多分支嵌套结构的实现4主要内容n回顾程序的三种基本结构回顾程序的三种基本结构n嵌套结构嵌套结构选择嵌套结构选择嵌套结构if语句深入语句深入switch语句语句应用实例应用实例n参考参考 2.2.2 2.3 2.4 5顺序结构顺序结构选择结构选择结构三种基本结构的示意图循环结构循环结构6嵌套结构n自顶向下,逐步细化的分析结果。n三种基本结构中的语句组(顺序语句组、if分支语句组、else分支语句组、循环体语句组)可以包含任意结构的语句,从而形
2、成不同的嵌套结构。n嵌套结构没有特定的结构形式,由分析方法自然形成。7选择嵌套结构if语句深入nif语句的多种结构语句的多种结构nif和和else的匹配原则的匹配原则8if语句的多种结构语句语句1表达式表达式语句语句2真真假假if (条件表达式条件表达式) 语句语句1else 语句语句2n双分支结构双分支结构(复习复习)十字路口或直行或右转弯十字路口或直行或右转弯n单分支结构单分支结构十字路口或直行或停十字路口或直行或停n选择嵌套结构选择嵌套结构多分支结构多分支结构n参考参考2.2.29单分支结构nif(条件) 语句if(m = c) m=m;else m=c ; if(c!=m) m=c;常
3、见错误写法:常见错误写法:语句语句1表达式表达式真真假假示例:示例:若若m与与c相同,相同,m值不值不变,否则变,否则c的值给的值给m正确写法:正确写法:单分支结构示例-求绝对值#include int main(void) int number; printf(Enter a number: ); scanf(%d, &number); if(number 0) number = -number; printf(The absolute value is %d.n, number); return 0;10Enter a number: 10 The absolute value is 10
4、.Enter a number: -300 The absolute value is 300.sample21_02.cpp分析:分析:负数求反,正数跳出负数求反,正数跳出编程实现编程实现11选择嵌套结构n在if语句中又包含一个或多个if语句if语句的嵌套n参考 2.2.212完整嵌套结构 P39if(条件1) if(条件2) 语句1 else 语句2else if(条件3) 语句3 else 语句4表达表达式式1表达表达式式3语句语句4真真 假假表达表达式式2语句语句3语句语句1语句语句2真真 真真 假假假假注:条件多以表达式形式出现表达式形式出现if (x 0) y = 0; else
5、if (x = 15) y = 4 * x / 3; else y = 2.5 * x - 10.5; 13实例1 (多分支)分段计算水费sample21_03.cpp# include int main(void) double x, y; printf(Enter x:); scanf(%lf, &x); if (x 0) y = 0; else if (x = 15) y = 4 * x / 3; else y = 2.5 * x - 10.5; printf(f(%.2f) = %.2fn, x, y); return 0;Enter x: -0.5f(-0.50) = 0.00 En
6、ter x: 9.5f(9.50) = 12.67Enter x: 21.3f(21.30) = 42.75004( )01532.510.515xxyf xxxx写出写出If语句语句完整程序,上机调试!完整程序,上机调试!2种嵌套if语句的比较 y=x+1 x1y= y=x+2 1=x=214if (x 1) y = x + 1; else if (x 2) y = x + 2; else y = x + 3; if (x 2) if (x 1) y = x + 1; else y = x + 2;else y = x + 3; x2 x1y=x+1y=x+2真真 假假真真 y=x+3假假假
7、假 x1 x2y=x+1y=x+2真真 假假真真 y=x+3编程比较结果!编程比较结果!15不对称嵌套结构示例:求实足年龄 sample21_04.cpp age=sysY-bthY; if(sysMbthM) age=age-1; else if(sysM=bthM) if (sysDbthD) age=age-1;n年龄年龄=当前年份当前年份-生日年份生日年份n如果如果生日月份还没到年龄生日月份还没到年龄减一岁减一岁n否则否则如果生日月份已到但如果生日月份已到但生日还没到年龄减一岁生日还没到年龄减一岁age=sysY-bthY; if(sysMbthM) age=age-1; else i
8、f(sysM=bthM)&(sysDbthD)age=age-1;用复杂条件表示用复杂条件表示 :16else 和 if 的匹配if(表达式表达式1)if(表达式表达式2) 语句语句1else 语句语句2 elseif(表达式表达式3) 语句语句3 else 语句语句4 if(表达式表达式1)if(表达式表达式2) 语句语句1 elseif(表达式表达式3) 语句语句3 else 语句语句4 else 与最靠近它的、没有与别的与最靠近它的、没有与别的 else 匹配过的匹配过的 if 匹配匹配if(表达式表达式1)if(表达式表达式2) 语句语句1 elseif(表达式表达式3) 语句语句3
9、else 语句语句4 17改变else 和 if 的配对改写下列改写下列 if 语句,使语句,使 else 和第和第1个个 if 配对。配对。 if (x 2) if (x 1) y = x + 1; else y = x + 2;if (x 2) if (x 1) y = x + 1; else y = x + 2;if (x 2) if (x 1) y = x + 1; else;else y = x + 2;18多分支结构if (表达式1) 语句1else if (表达式2) 语句2else if (表达式n-1) 语句n-1else 语句n假假表达式表达式1表达式表达式2语句语句1语句
10、语句2语句语句n-1语句语句n真真表达式表达式n-1真真假假真真假假假假#include void main(void) char cLevel; int fScore; printf(请输入成绩:请输入成绩:); scanf(%d,&fScore); /*输入成绩输入成绩*/ if(fScore100|fScore 89) /*分数分数fScore=90*/ cLevel=A; else if (fScore 79) /*分数分数90fScore=80*/ cLevel=B; else if (fScore 69) /*分数分数80fScore=70*/cLevel=C; else if (
11、fScore 59) /*分数分数70fScore=60*/ cLevel=D; else cLevel=E; /*分数分数fScore60*/ printf(该成绩的等级为:该成绩的等级为:%cn,cLevel);实例: 输入百分制成绩,按A、B、C、D、E输出相应等级。#include main( ) int fScore; char cLevel; printf(请输入成绩:请输入成绩:); scanf(%d,&fScore); while(fScore 100| fScore 0) printf(n输入有误,请重输。输入有误,请重输。); scanf(%d,& fScore); swi
12、tch(fScore /10) case 10: case 9: cLevel =A;break; case 8: cLevel =B;break; case 7: cLevel =C;break; case 6: cLevel =D;break; case 5: case 4: case 3: case 2: case 1: case 0: cLevel =E; printf(成绩是成绩是%d,相应等级是,相应等级是%c。, fScore, cLevel);#include void main(void) char cLevel; int fScore; printf(请输入成绩:请输入成绩
13、:); scanf(%d,&fScore); if(fScore100|fScore 89) cLevel=A; else if (fScore 79) cLevel=B; else if (fScore 69) cLevel=C; else if (fScore 59) cLevel=D; else cLevel=E; printf(该成绩等级:该成绩等级:%cn,cLevel);default :cLevel =E;21switch(表达式表达式) case 常量表达式常量表达式1:语句段:语句段1; break; case 常量表达式常量表达式2:语句段:语句段2 ; break; .
14、case 常量表达式常量表达式n:语句段:语句段n ; break; default : 语句段语句段n+1 ; 表达式的值表达式的值=常量表达式常量表达式 2 的值的值表表达达式式语句段语句段1语句段语句段2语句段语句段n语句段语句段n+1表达式的值表达式的值=常量表达式常量表达式 1 的值的值表达式的值表达式的值=常量表达式常量表达式 n 的值的值其他其他breakbreakbreakbreakswitch(fScore /10) case 10: case 9: cLevel =A;break; case 8: cLevel =B;break; case 7: cLevel =C;bre
15、ak; case 6: cLevel =D;break; default :cLevel =E;22switch语句 处理多分支选择问题,处理多分支选择问题,3种情况种情况1、在、在switch语句的每个语句段中都使用语句的每个语句段中都使用break语句,但不使用语句,但不使用default switch(表达式表达式) case 常量表达式常量表达式1:语句段:语句段1; break; case 常量表达式常量表达式2:语句段:语句段2 ; break; . case 常量表达式常量表达式n:语句段:语句段n ; break; default : 语句段语句段n+1 ;n2、在、在swit
展开阅读全文