第一讲多分支嵌套结构的实现课件.ppt
《第一讲多分支嵌套结构的实现课件.ppt》由会员分享,可在线阅读,更多相关《第一讲多分支嵌套结构的实现课件.ppt(40页珍藏版)》请在三一办公上搜索。
1、1,第二部分 模块化程序设计,2,第二部分 主要内容,第一讲 多分支嵌套结构的实现第二讲 循环嵌套结构的实现第三讲 数据文件及应用第四讲 指针及应用,3,第一讲多分支嵌套结构的实现,4,主要内容,回顾程序的三种基本结构嵌套结构选择嵌套结构if语句深入switch语句应用实例参考 2.2.2 2.3 2.4,5,顺序结构,选择结构,三种基本结构的示意图,循环结构,6,嵌套结构,自顶向下,逐步细化的分析结果。三种基本结构中的语句组(顺序语句组、if分支语句组、else分支语句组、循环体语句组)可以包含任意结构的语句,从而形成不同的嵌套结构。嵌套结构没有特定的结构形式,由分析方法自然形成。,7,选择
2、嵌套结构if语句深入,if语句的多种结构if和else的匹配原则,8,if语句的多种结构,if (条件表达式) 语句1else 语句2,双分支结构(复习)十字路口或直行或右转弯单分支结构十字路口或直行或停选择嵌套结构多分支结构参考2.2.2,9,单分支结构,if(条件) 语句,if(m = c) m=m;else m=c ;,if(c!=m) m=c;,常见错误写法:,示例:若m与c相同,m值不变,否则c的值给m,正确写法:,单分支结构示例-求绝对值,#include int main(void) int number; printf(Enter a number: ); scanf(%d,
3、,10,Enter a number: 10 The absolute value is 10.,Enter a number: -300 The absolute value is 300.,sample21_02.cpp,分析:负数求反,正数跳出,编程实现,11,选择嵌套结构,在if语句中又包含一个或多个if语句if语句的嵌套参考 2.2.2,12,完整嵌套结构 P39,if(条件1) if(条件2) 语句1 else 语句2else if(条件3) 语句3 else 语句4,注:条件多以表达式形式出现,if (x 0) y = 0; else if (x = 15) y = 4 * x
4、/ 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, ,Enter x: -0.5f(-0.50) = 0.00,Enter x: 9.5f(9.50) = 12.67,Enter x: 21.3f(21.30) = 42.75,写出If语句,完整程序,上机调试!,2种嵌套if语句的比较,y=x+1 x=2,14,if (x 1) y = x + 1; else if (x 2) y =
5、 x + 2; else y = x + 3;,if (x 2) if (x 1) y = x + 1; else y = x + 2;else y = x + 3;,编程比较结果!,15,不对称嵌套结构示例:求实足年龄 sample21_04.cpp,age=sysY-bthY; if(sysMbthM) age=age-1; else if(sysM=bthM) if (sysDbthD) age=age-1;,年龄=当前年份-生日年份如果生日月份还没到年龄减一岁否则如果生日月份已到但生日还没到年龄减一岁,age=sysY-bthY; if(sysMbthM) age=age-1; els
6、e if(sysM=bthM),用复杂条件表示 :,16,else 和 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 else 语句4,17,改变else 和 if 的配对,改写下列 if 语句,使 else 和第1个 if 配对。 if (x 2) if (x 1) y = x +
7、 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,#include void main(void) char cLevel; int fScore; printf(请输入成绩:); scanf(%d,实例: 输入百分制成绩,按A、B、C、D、E输出相应等级。,#include
8、main( ) int fScore; char cLevel; printf(请输入成绩:); scanf(%d,#include void main(void) char cLevel; int fScore; printf(请输入成绩:); scanf(%d,default :cLevel =E;,21,switch(表达式) case 常量表达式1:语句段1; break; case 常量表达式2:语句段2 ; break; . case 常量表达式n:语句段n ; break; default : 语句段n+1 ; ,switch(fScore /10) case 10: case
9、9: cLevel =A;break; case 8: cLevel =B;break; case 7: cLevel =C;break; case 6: cLevel =D;break; default :cLevel =E;,22,switch语句,处理多分支选择问题,3种情况1、在switch语句的每个语句段中都使用break语句,但不使用default switch(表达式) case 常量表达式1:语句段1; break; case 常量表达式2:语句段2 ; break; . case 常量表达式n:语句段n ; break; default : 语句段n+1 ;,2、在switc
10、h语句的每个语句段中都使用break语句,并使用default,#include main( ) int fScore; char cLevel; printf(请输入学生成绩:); scanf(%d,default :cLevel =E;,例2-5计算器程序。问题描述:任意输入两个数,根据用户选择的功能菜单,求出它们的和、差、积、除的结果。,#include void main(void) double dLOper,dROper,dResult;/* 存放左右操作数 */ int nFun;/* 存放运算符 */ printf( -n);/* 构造功能菜单 */ printf( 加法运算-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一 分支 嵌套 结构 实现 课件
链接地址:https://www.31ppt.com/p-1525831.html