分支结构的C程序设计.ppt_第1页
分支结构的C程序设计.ppt_第2页
分支结构的C程序设计.ppt_第3页
分支结构的C程序设计.ppt_第4页
分支结构的C程序设计.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1 第四章分支结构的C程序设计 4 1分支结构中的表达式4 2if语句4 3switch语句4 4程序举例 2 4 1分支结构中的表达式 C语言的逻辑值关系表达式 关系表达式关系表达式的运算结果 1 0 逻辑表达式 3 if 表达式 语句 图4 1if语句执行过程 if语句 if语句的简单形式 4 例4 1打印出不及格的成绩 5 if 表达式 语句1 else语句2 图4 2if else语句执行过程 4 2 2if else结构 6 例4 2打印成绩 60分为 Pass 否则为 Fail 解我们可以使用两种方法编程 方法一 用两个简单的if语句实现 main floatscore scanf f 例4 2 7 运行 50 score 50 0 Fail 再次运行 80 score 80 0 Pass 在第二个if语句中 if score 60 0 是不能缺少的 否则不管score是否小于60 都将打印出第二行的结果 main floatscore scanf f 8 方法二 用if else语句实现 main floatscore scanf f 9 2 条件运算符的使用 当if else结构中的语句是表达式语句时 就可以使用条件运算符 了 即下列if else语句 if 表达式1 表达式2 else表达式3 用条件运算符写成通用形式即为 表达式1 表达式2 表达式3 这是一个条件表达式 其功能是 当表达式1的值为真 非零 时 整个条件表达式的值就取表达式2的值 当表达式1的值为假 零 时 整个条件表达式的值就取表达式3的值 10 如下列语句段 x 10 if x 9 y 100 elsey 200 可以写成 x 10 y x 9 100 200 11 例4 3输入x的值 当x 0时调用sqrt x 否则调用sqrt x include include main floatx y scanf f 运行 9 0 x 9 000000 y 3 000000 再次运行 9 0 x 9 000000 y 3 000000 12 例4 4打印a b两个数中大者 方法一 用if else结构实现 main inta b scanf d d 方法二 用条件运算符实现 main inta b scanf d d 13 例4 5输入一个学生成绩 当成绩 90时 打印 VeryGood 当80 成绩 90时 打印 Good 当60 成绩 80时 打印 Pass 当成绩 60分 打印 Fail main floatscore scanf f 3 if语句的嵌套 14 运行 85 Good 例如语句段 if x if y printf A elseprintf 其中else语句是与if y 相匹配 如果与if x 相匹配 则if y 子句必须加花括号写成 if x if y printf A elseprintf B 15 elseif结构的形式如下 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 elseif 表达式n 语句n else语句n 1 4 2 3elseif结构 多个分支 16 图elseif结构执行过程 4 3 17 例4 6将例4 5用elseif结构来实现 main floatscore scanf f 运行 58 Fail 18 说明 1 在elseif结构中 if语句 elseif语句 else语句属于同一程序模块 程序每运行一次 仅有一个分支的语句能得到执行 2 各个表达式所表示的条件必须是互相排除的 也就是说 只有条件1 表达式1 不满足时才会判断条件2 只有条件2也不满足时才会判断条件3 其余依次类推 只有所有条件都不满足时才执行最后的else语句 19 例4 6的程序也可写成 main floatscore scanf f 20 错误的写法 main floatscore scanf f 无用 21 switch 表达式 case常量1 语句段1 case常量2 语句段2 default 语句段n 4 3switch语句 22 switch语句的执行过程 switch语句先计算表达式的值 然后同多个case语句后的常量比较 找到相等的case常量则执行该常量冒号后的语句段 并从这个入口一直执行下面所有冒号后的语句 直到switch语句结束 如果执行一个或几个冒号后的语句就要跳出switch语句 则可以在跳出处使用break语句 如果switch语句后表达式的值找不到匹配的case常量 就执行default后面的语句段直到结束 default是任选项 如果没有该语句 则在所有配对都失败时 什么也不执行 23 24 例4 7 1一日三餐 voidmain intnow printf 现在什么时间 n 现在什么时间 1 早上2 中午3 下午2 吃午饭吃晚饭睡觉 现在什么时间 1 早上2 中午3 下午 1213睡觉 25 26 例4 7 2一日三餐 voidmain intnow printf 现在什么时间 n 现在什么时间 1 早上2 中午3 下午1 吃早饭吃午饭 现在什么时间 1 早上2 中午3 下午 1213睡觉 现在什么时间 1 早上2 中午3 下午2吃午饭 27 28 例4 7 3一日三餐 voidmain intnow printf 现在什么时间 n 现在什么时间 1 早上2 中午3 下午2 吃午饭 现在什么时间 1 早上2 中午3 下午3吃晚饭 29 例4 7在显示器上显示一个菜单程序的模型 include voiddummy intmain charch printf 1 pleaseinputarecord n printf 2 listallrecords n printf 3 deletearecord n printf 4 modifyarecord n printf nPleaseinputyourchoise n ch getche printf n switch ch case 1 printf 1 Inputarecord n dummy case 2 printf 2 Listallrecords n dummy case 3 printf 3 Deletearecord n dummy case 4 printf 4 Modifyarecord n dummy default printf c Errorinput n ch dummy return0 30 1 pleaseinputarecord2 listallrecords3 deletearecord4 modifyarecordPleaseinputyourchoise 11 Inputarecord2 Listallrecords3 Deletearecord4 Modifyarecord1 Errorinput 31 4 4程序举例 例4 8编写一个可由用户键入简单表达式的程序 形式如下 numberoperatornumber 该程序要计算该表达式并以两位小数显示结果 我们要识别的运算符operator为加 减 乘 除 32 includeintmain floatvalue1 value2 charop printf Inputyourexpression n scanf f c f 33 例4 9用switch语句改写例4 8 includeintmain floatvalue

温馨提示

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

最新文档

评论

0/150

提交评论