欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第一讲多分支嵌套结构的实现课件.ppt

    • 资源ID:1525831       资源大小:579KB        全文页数:40页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第一讲多分支嵌套结构的实现课件.ppt

    1,第二部分 模块化程序设计,2,第二部分 主要内容,第一讲 多分支嵌套结构的实现第二讲 循环嵌套结构的实现第三讲 数据文件及应用第四讲 指针及应用,3,第一讲多分支嵌套结构的实现,4,主要内容,回顾程序的三种基本结构嵌套结构选择嵌套结构if语句深入switch语句应用实例参考 2.2.2 2.3 2.4,5,顺序结构,选择结构,三种基本结构的示意图,循环结构,6,嵌套结构,自顶向下,逐步细化的分析结果。三种基本结构中的语句组(顺序语句组、if分支语句组、else分支语句组、循环体语句组)可以包含任意结构的语句,从而形成不同的嵌套结构。嵌套结构没有特定的结构形式,由分析方法自然形成。,7,选择嵌套结构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, ,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 / 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 = 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; else 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 + 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 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: 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、在switch语句的每个语句段中都使用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( 加法运算-1n); printf( 减法运算-2n); printf( 除法运算-3n); printf( 乘法运算-4n); printf( -n); printf( 请输入功能选择: ); scanf(%d, /* 输出结果 */,26,3、在switch中不使用break,switch(表达式) case 常量表达式1:语句段1; case 常量表达式2:语句段2; . case 常量表达式n:语句段n; default : 语句段n+1;,27,switch(表达式) case 常量表达式1:语句段1; case 常量表达式2:语句段2; . case 常量表达式n:语句段n; default : 语句段n+1;,fScore89cLevel =?,switch(fScore /10) case 10: case 9: cLevel =A; case 8: cLevel =B; case 7: cLevel =C; case 6: cLevel =D; default :cLevel =E; ,求某年某月某日是该年的第几天,sample21_14.cpp / y年,m月,d日 / days计算的天数 days=d; switch(m-1) case 12:days+=31; case 11:days+=30; case 10:days+=31; case 9:days+=30; case 8:days+=31;,case 7:days+=31; case 6:days+=30; case 5:days+=31; case 4:days+=30; case 3:days+=31; case 2:days+=isLeap(y)?29:28; case 1:days+=31; ,28,复合赋值运算符 P53,days+=31days=days+31在“=”前加上某些运算符复合赋值运算符C语言可以构成复合运算符的有:+ - * / % & | 详见P53:表3-1双目复合运算符常用:+= -= *= 等,自增,自减运算,单目运算符所构成的复合赋值运算+ 自增1- 自减1如:i+ 参与运算后,i+1+i i+1后,参与运算i- 参与运算后,i-1-i i-1后,参与运算,int x=0,y=0,i=1;x=i+;y=+i;printf(x=%d,y=%d,i=%d,x,y,i);,x=1,y=3,i=3,条件表达式 P39,一般形式:表达式1 ? 表达式2 : 表达式3值:若“表达式1 ”的值为真,则以“表达式2”为该条件表达式的值;否则以“表达式3”为该条件表达式的值。通常用于赋值语句中,如:days+= isLeap(y)?29:28; if(ab) max=a;else max=b max=(ab)?a:b;,32,Is函数构造,判断函数,返回1或0表示真或假调用时通常表示一个条件,运用if语句再作进一步处理。,判奇数int isOdd(int m)判偶数int isEven(int m)判闰年int isLeap(int year),33,判奇数,int isOdd(int m) if(m%2=1) return 1; else return 0;,int isOdd(int m) return m%2;,34,判偶数,int isEven(int m) if(m%2=0) return 1; else return 0;,int isEven(int m) return !(m%2);,35,判闰年,int isLeap(int year) return (year%4=0,完整程序:求2010年3月20日是2010年的第几天,#includeint isLeap(int year);void main()int y,m,d,days; y=2010,m=3,d=20; days=d; switch(m-1) case 12:days+=31; case 11:days+=30; case 10:days+=31; case 9:days+=30; case 8:days+=31; case 7:days+=31; case 6:days+=30; case 5:days+=31; case 4:days+=30; case 3:days+=31; case 2:days+=isLeap(y)?29:28; case 1:days+=31; ,printf(days=%d,days);int isLeap(int year) return ( year%4=0,运行过程days=20m-1=22010%4!=0且2010%400!=0返回0days=20+28=48days=48+31days=79,改为通用程序,从键盘输入年、月、日!,37,实例1,假设自动售货机出售4种商品,薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可乐(cola),售价分别是每份3.0、2.5、4.0和3.5元。在屏幕上显示以下菜单当用户输入编号14,显示相应商品的价格;输入0,退出查询;输入其他编号,显示价格为0。1 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 Exit,上机编程,调试实现!,38,#include int main(void) int choice; double price; printf(1 Select crisps n); printf(2 Select popcorn n); printf(3 Select chocolate n); printf(4 Select cola n); printf(0 exit n); printf(Enter choice: ); scanf(%d, ,1 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 ExitEnter choice: 1price = 3.0,1 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 ExitEnter choice: 7price = 0.0,1 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 ExitEnter choice: 0Thanks,39,实践,使用switch语句实现个人所得税的计算。2011.9.1日起执行7级超额累进税率:扣除3500元。 全月应纳税所得额 税率 速算扣除数(元) 全月应纳税额80000元 45% 13505,40,输入n个数,调用int isEven(int m)函数求偶数之和sample21_11.cpp,#includeint isEven(int m);int main() int i,n,x,sum;printf(input n:);scanf(%d, ,printf(sum=%d,sum);return 0;int isEven(int m) return !(m%2);,如果是求奇数,如何修改程序?,

    注意事项

    本文(第一讲多分支嵌套结构的实现课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开