逻辑表达与流程控制.ppt_第1页
逻辑表达与流程控制.ppt_第2页
逻辑表达与流程控制.ppt_第3页
逻辑表达与流程控制.ppt_第4页
逻辑表达与流程控制.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

0 第5章逻辑表达与流程控制 1 2020年3月25日 本章学习要点 关系运算逻辑运算if语句及if语句的嵌套switch语句 2020年3月25日 5 1关系运算 xyx yx y关系表达式 用关系运算符将2个表达式连接起来的式子 如 x 1 区分 和 2020年3月25日 运用关系表达式 表示比较的数学式C关系表达式x 10 x 10 x 10 x 10 x 10 x 10 x 10 用关系表达式描述条件判断x是否为负数x 0判断x是否不为零x 0 2020年3月25日 5 2逻辑运算 x 1关系运算 1 x 1 0 11x x 1并且x 1 x 1 2020年3月25日 3种逻辑运算符 逻辑与 逻辑或 逻辑非 X X Y Y X Y X Y X X 2020年3月25日 逻辑与 逻辑或 逻辑非 x 1 y 1 x 1 y 1 x 1 x 1 即x 1 逻辑运算符的含义 2020年3月25日 逻辑运算符的功能 逻辑与 逻辑或 逻辑非 aba ba b a假假假假真假真假真真真假假真假真真真真假 2020年3月25日 逻辑表达式 逻辑表达式 用逻辑运算符将逻辑运算对象连接起来的式子 ch a ch a ch A ch Z 判断ch是否为英文字母 2020年3月25日 条件的表示 例1写出满足下列条件的C表达式 ch是空格或者回车 ch ch n number是偶数 number 2 0year是闰年 即year能被4整除但不能被100整除 或year能被400整除 year 4 0 year 100 0 year 400 0 2020年3月25日 5 3选择控制结构if语句 1if语句的简单形式 if 表达式 语句 2020年3月25日 例2打印出不及格的成绩 2020年3月25日 例3输入一个整数 输出它的绝对值 分析 当number 0时 2020年3月25日 includeintmain void intnumber printf Enteranumber scanf d 运行结果 Enteranumber 10Theabsolutevalueis10 运行结果 Enteranumber 300Theabsolutevalueis300 2020年3月25日 2 if else结构 if 表达式 语句1 else语句2 2020年3月25日 解我们可以使用两种方法编程 方法一 用两个简单的if语句实现 main floatscore scanf f 例4打印成绩 60分为 Pass 否则为 Fail 2020年3月25日 方法二 用if else语句实现 main floatscore scanf f 2020年3月25日 条件运算符的使用 当if else结构中的语句是表达式语句时 就可以使用条件运算符实现 if 表达式1 表达式2 else表达式3 用条件运算符表示 表达式1 表达式2 表达式3 2020年3月25日 如下列语句段 x 10 if x 9 y 100 elsey 200 用条件运算符改写程序段 x 10 y x 9 100 200 2020年3月25日 例5输入x的值 当x 0时调用sqrt x 否则调用fabs x include include main floatx y scanf f 2020年3月25日 3多分支结构与嵌套的if语句和switch语句 多分支结构有多种形式实现方法 嵌套的if语句else if语句嵌套的if else语句switch语句 2020年3月25日 1 嵌套的if语句 if 表达式 语句1else语句2 if语句 if语句 else if语句嵌套的if else语句 if 表达式1 语句1elseif 表达式2 语句2 elseif 表达式n 1 语句n 1else语句n 2020年3月25日 嵌套的if else语句 if 表达式1 if 表达式2 语句1else语句2elseif 表达式3 语句3else语句4 if x 1 y x 1 elseif x 2 y x 2 elsey x 3 if x 2 if x 1 y x 1 elsey x 2 elsey x 3 2种嵌套if语句的比较 2020年3月25日 else和if的匹配 if 表达式1 if 表达式2 语句1else语句2elseif 表达式3 语句3else语句4 if 表达式1 if 表达式2 语句1elseif 表达式3 语句3else语句4 else与最靠近它的 没有与别的else匹配过的if匹配 if 表达式1 if 表达式2 语句1elseif 表达式3 语句3else语句4 2020年3月25日 练习 分段计算水费 分段计算水费 要求使用嵌套的if else语句 2020年3月25日 输入一个学生成绩 当成绩 90时 打印 VeryGood 当80 成绩 90时 打印 Good 当60 成绩 80时 打印 Pass 当成绩 60分 打印 Fail 例6设计下面的程序 2020年3月25日 方法一 elseif结构来实现 main floatscore scanf f 2020年3月25日 main floatscore scanf f 方法二 if嵌套结构来实现 2020年3月25日 main floatscore scanf f 分析改写成以下形式 2020年3月25日 2 switch语句 处理多分支选择问题 3种情况1 在switch语句的每个语句段中都使用break语句switch 表达式 case常量表达式1 语句段1 break case常量表达式2 语句段2 break case常量表达式n 语句段n break default 语句段n 1 break 2020年3月25日 假设自动售货机出售4种商品 薯片 crisps 爆米花 popcorn 巧克力 chocolate 和可乐 cola 售价分别是每份3 0 2 5 4 0和3 5元 在屏幕上显示以下菜单 用户可以连续查询商品的价格 当查询次数超过5次时 自动退出查询 不到5次时 用户可以选择退出 当用户输入编号1 4 显示相应商品的价格 输入0 退出查询 输入其他编号 显示价格为0 1 Selectcrisps 2 Selectpopcorn 3 Selectchocolate 4 Selectcola 0 Exit 例7查询自动售货机中商品的价格 表达式的值 常量表达式2的值 表达式 语句段1 语句段2 语句段n 语句段n 1 表达式的值 常量表达式1的值 表达式的值 常量表达式n的值 其他 break break break break switch choice case1 price 3 0 break case2 price 2 5 break case3 price 4 0 break case4 price 3 5 break default price 0 0 break includeintmain void intchoice i doubleprice for i 1 i 5 i printf 1 Selectcrisps n printf 2 Selectpopcorn n printf 3 Selectchocolate n printf 4 Selectcola n printf 0 exit n printf Enterchoice scanf d 1 Selectcrisps 2 Selectpopcorn 3 Selectchocolate 4 Selectcola 0 ExitEnterchoice 1price 3 0 1 Selectcrisps 2 Selectpopcorn 3 Selectchocolate 4 Selectcola 0 ExitEnterchoice 7price 0 0 1 Selectcrisps 2 Selectpopcorn 3 Selectchocolate 4 Selectcola 0 ExitEnterchoice 0Thanks 2020年3月25日 2 在switch中不使用break switch 表达式 case常量表达式1 语句段1 case常量表达式2 语句段2 case常量表达式n 语句段n default 语句段n 1 switch choice case1 price 3 0 case2 price 2 5 case3 price 4 0 case4 price 3 5 default price 0 0 2020年3月25日 3 在switch的某些语句段中使用break switch choice case1 price 3 0 break case2 price 2 5 case3 price 4 0 break case4 price 3 5 default price 0 0 2020年3月25日 用switch语句输出学生的分数等级 设分数大于等于90分者为A等 70分 90分为B等 含70 60分 70分为C等 含60 60分以下为D等 分数为浮点数 编程思路 switch后的表达式必须是有类型而且求出的结果应当是一个个离散的值 而不是一个数值范围 应该想办法把一个范围转换成一个确定的值 这是使用switch语句的关键 我们可以把分数除以10再取整 即可变成离散的数值 就可以用switch语句解决了 例8设计下面程序 includemain inti floatscore printf Inputascore scanf f 2020年3月25日 例9 输入两个整数a和b 按从小到大的顺序输出 算法设计 scanf d d 5 3程序举例 2020年3月25日 includemain inta b t printf 请输入两个整数 scanf d d 2020年3月25日 例10 输入三个整数a b c 按从小到大的顺序输出 算法设计 scanf d d d includemain inta b c t printf 请输入三个整数 scanf d d d 2020年3月25日 例11编写

温馨提示

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

最新文档

评论

0/150

提交评论