第三章分支结构程序设计2.ppt_第1页
第三章分支结构程序设计2.ppt_第2页
第三章分支结构程序设计2.ppt_第3页
第三章分支结构程序设计2.ppt_第4页
第三章分支结构程序设计2.ppt_第5页
免费预览已结束,剩余39页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 2 4多分支if语句 金松奖学金 如果各门功课在90分以上是一等奖学金 如果各门功课在85分以上是二等奖学金 如果各门功课在80分三等奖学金 3 例3 5 编写程序 将用户输入的分数按以下规则转换为相应的等级 分数 90 100等级 A分数 80 89等级 B分数 70 79等级 C分数 60 69等级 D分数 60分以下等级 E 4多分支if语句 4 includemain inta printf inputthescore scanf d 第1次运行结果 inputthescore 90A 在多分支中各个条件具有排它性 5 includemain inta printf inputthescore scanf d 第1次运行结果 inputthescore 90A 6 在if语句中又包含一个或多个if语句称为if语句的嵌套 形式 If 条件1 if 条件2 语句1else语句2elseif 条件3 语句3else语句4 内嵌if 5if语句的嵌套 7 if语句 续 匹配规则 else总是与它上面的 最近的 统一复合语句中的 未配对的if语句配对 例 If if 语句1elseif 语句2else语句3 例 If if 语句1 elseif 语句2else语句3 当if和else数目不同时 可以加花括号 来确定配对关系 8 实例3 6 编写程序 求下面分段函数的值 要求x的值从键盘输入 9 10 includemain floatx 0 y 0 printf Inputx scanf d 11 运行结果 a 0 运行结果 a 1 if else配对原则 续 12 例 if a b if b c printf a b c elseprintf a b 修改 if a b if b c printf a b c elseprintf a b 实现if else正确配对方法 加 13 例 考虑下面程序输出结果 voidmain intx 100 a 10 b 20 intv1 5 v2 0 if a b if b 15 if v1 x 1 elseif v2 x 10 x 1 printf d x 结果 1 14 3 4switch语句 开关分支语句 一般形式 switch 表达式 caseE1 语句组1 break caseE2 语句组2 break caseEn 语句组n break default 语句组 break 执行过程 15 3 4switch语句 switch 表达式 case常量表达式1 语句块1 break case常量表达式2 语句块2 break case常量表达式n 语句块n break default 语句块n 1 break 16 使用switch语句注意事项 1 switch后面的 表达式 可以是int char和枚举型中的一种 但不可为浮点型 floata b 4 0 scanf f 17 inta b 4 scanf d 使用switch语句注意事项 2 case后面语句 组 可加 也可以不加 但一般不加 3 每个case后面 常量表达式 的值 必须各不相同 否则会出现相互矛盾的现象 switch i case1 b b 1 break 可加可不加case2 b b 1 break 18 使用switch语句注意事项 4 每个case后面必须是 常量表达式 表达式中不能包含变量 例 按成绩分成A B C D E F几个等级 charscore printf EnterScore scanf d 19 使用switch语句注意事项 5 case后面的 常量表达式 仅起语句标号作用 并不进行条件判断 系统一旦找到入口标号 就从此标号开始执行 不再进行标号判断 所以必须加上break语句 以便结束switch语句 includevoidmain charch ch getch switch ch case Y printf Yes n break case N printf No n break case A printf All n break default printf Yes NoorAll n 运行结果 No 假设输入为 N includevoidmain charch ch getch switch ch case Y printf Yes n break case N printf No n case A printf All n break default printf Yes NoorAll n 假设输入为 N 运行结果 NoALL 20 使用switch语句注意事项 6 多个case子句 可共用同一语句 组 例 当a的值是1 2 3时 将b的值加2 当a的值是4 5 6时 将b的值减2 inta b 4 scanf d 21 使用switch语句注意事项 7 case子句和default子句如果都带有break子句 那么它们之间顺序的变化不会影响switch语句的功能 includevoidmain charch ch getch switch ch case Y printf Yes n break case N printf No n break case A printf All n break default printf Yes NoorAll n break includevoidmain charch ch getch switch ch case Y printf Yes n break default printf Yes NoorAll n break case N printf No n break case A printf All n break 22 使用switch语句注意事项 8 case子句和default子句如果有的带有break子句 而有的没有带break子句 那么它们之间顺序的变化可能会影响输出的结果 includevoidmain charch ch getch switch ch case Y printf Yes n break case N printf No n break case A printf All n break default printf Yes NoorAll n includevoidmain charch ch getch switch ch case Y printf Yes n break default printf Yes NoorAll n case N printf No n break case A printf All n break 假设输入为 B 运行结果 Yes NoorAll 运行结果 Yes NoorAllNo 假设输入为 B 23 使用switch语句注意事项 9 switch语句可以嵌套 voidmain intx 1 y 0 a 0 b 0 switch x case1 switch y case0 a break case1 b break case2 a b break case3 a b printf na d b d a b 运行结果 a 2 b 1 24 3 4switch语句 例 编写程序 从键盘输入一个字符 当输入的字符为 1 或 2 或 3 时 分别显示 Yes No Cancel 输入其他字符时显示 Illegal 25 26 includemain chara 0 printf 1 Yes2 No3 Cancel n a getchar switch a case 1 printf Yes n break case 2 printf No n break case 3 printf Cancel n break default printf Illegal n break printf Pressanykeytoend 4个分支 a的值决定执行哪个分支 a和case后的数据类型要一致 如果去掉break 当输入1时结果是 27 3 4switch语句 例3 7 编写程序 完成两个数的加减乘除四则运算 28 加法 减法 乘法 除法 29 includemain floatx y charop printf ntypeinyourexpression scanf f c f 30 多个case语句相同情况的处理 实例3 8 假设要处理的年份是2010年 编写程序 输入该年的某月份 输出该月的天数 31 一 三 五 七 八 十 十二月份的天数是31 二月份的天数是28 四 六 九 十一月份的天数是30 要输出某月的天数 需要处理13个分支 32 includemain intmonth 0 day 0 printf Inputmonth scanf d 见后一页 如果非法月份 给day赋 1 33 switch month case1 case3 case5 case7 case8 case10 case12 day 31 break case2 day 28 break case4 case6 case9 case11 day 30 break default day 1 34 3 10求一元二次方程的根3 11输入一个字符 判断类型3 12判断奖学金的类型 3 5程序举例 35 实例3 10 求一元二次方程ax2 bx c 0的根注意 a不能为0 b2 4ac 0两个不同的根b2 4ac 0一个根b2 4ac 0无根 36 include includemain floata b c delta x1 x2 printf 输入方程的3个系数a b c n scanf f f f if delta 0 1 elseif delta 0 2 else 3 37 实例3 11 输入一个字符 判断它是字母 数字 空格或其他字符 若是字母 则把大小写互相转换输出 大写字母转换为小写字母并输出小写字母转换为大写并输出数字输出数字的值空格输出空格其他字符输出其他字符 38 includemain charc printf 请输入一个字符 n scanf c if 大写字母 1 elseif 小写字母 2 elseif 数字 3 elseif 空格 4 else 5 39 1如何判断是大写字母如何将大写字母转换为小写字母if c A 40 2如何判断是小写字母如何将小写字母转换为大写字母elseif c a 41 3如何判断是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论