chap5C语言.ppt_第1页
chap5C语言.ppt_第2页
chap5C语言.ppt_第3页
chap5C语言.ppt_第4页
chap5C语言.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

第5章选择结构程序设计 2020 1 1 1 本章要点 关系表达式逻辑表达式选择结构程序设计 2020 1 1 2 5 1关系运算符和关系表达式5 2逻辑运算符与逻辑表达式5 3if语句5 4switch语句5 5程序举例作业 5 1关系运算符和关系表达式 一 关系运算符 比较运算符 关系运算符 优先级高 优先级低 2020 1 1 3 关系运算符和其他运算符的优先级别的关系优先级运算符结合性单目算术运算符 自右向左双目算术运算符 自左向右关系运算符 自左向右赋值运算符 自右向左例如 a b c a b cc a bc a b a b ca b c a b ca b c 2020 1 1 4 1 关系表达式例如 a b a b b c x y z 1 x 12 关系表达式的值为一个逻辑值 即 真 或 假 C程序中 以1代表 真 以0代表 假 实际上 以非0代表 真 例如 x 2则 1 x 1的值为1 2020 1 1 5 先 1 x得1再1 1得1 二 关系表达式 i 0 i 0 x y y x 2020 1 1 6 x y z 注意 和 符号的区别 例如 if x y 和if x y 字符数据的比较按其ASC 码进行 例如 a 0 A 100 5 2逻辑运算符与逻辑表达式一 逻辑运算符及其优先次序逻辑运算符 逻辑与 逻辑或 逻辑非 例如 a ba b a优先级别 P365 2020 1 1 7 和 双目运算符 单目运算符 例如 a b x y c 二 逻辑表达式逻辑表达式 a b x y c逻辑表达式的值例如 3值为0注意1 逻辑运算符的操作数是任意类型的 只要其数据类型能得到0或非0值 按真对待 例如 5 A 其值为14 0 2其值为1 2020 1 1 8 5 3 2 8 4 0 2 和 运算符强调由左到右按序进行 例如 x y如果x的值为0 则结果肯定为0 y的值可以不求 例如 x y如果x的值非0 则结果肯定为1 y的值不必求 2020 1 1 9 课堂练习 1 intx y z x y z 1 x y z 2 x y z 0 x求表达式的值 x y z 2020 1 1 10 x y z 1则x 2 y 1 z 1 x1则x 1 y 1 z 0 x y z0则x 0 y 0 z 1 判别闰年的表达式 year 4 0 year 100 0 year 400 0 如何判断year不是闰年 year 4 0 year 100 0 year 400 0 2020 1 1 11 5 3if语句 if语句if语句的嵌套条件运算符 2020 1 1 12 if 表达式 语句例1 if x y printf d x 例2 if ans Y ans y printf Yes n if 表达式 语句1else语句2例1 if x y printf d x elseprintf d y 例2 charans ans getchar if ans Y ans y printf Yes n elseprintf No n 2020 1 1 13 复合语句 if语句 3 if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3 elseif 表达式m 语句melse语句n例如 charans ans getchar if ans Y ans y printf Yes n elseif ans N ans n printf No n elseprintf Wrong n 2020 1 1 14 例如 商场促销 购物500元以上 8折 购物300元以上 85折 购物100元以上 9折 购物50元以上 95折 购物50元以下 不打折 2020 1 1 15 设 消费量为money折扣为disc实际花费cost includevoidmain floatmoney disc cost printf inputthemoney n scanf f 2020 1 1 16 关于表达式a if x y printf d x elseprintf d y b if 1 printf True c if year 4 0 2020 1 1 17 if语句中又包含一个或多个if语句称为if语句的嵌套 例如 if exp1 if exp2 语句1else语句2elseif exp3 语句3else语句4 2020 1 1 18 内嵌if语句 if与else的配对关系 else总是与它上面的最近的if配对 if语句的嵌套 例如 if exp1 if exp2 语句1else语句2例如 if exp1 if exp2 语句1 else语句2 2020 1 1 19 内嵌if语句 内嵌if语句 例1 从三个数中找出最大数 2020 1 1 20 includevoidmain floatx y z max scanf f f f 例2 有一个函数 1x0编一程序 输入一个x 输出y值 2020 1 1 21 includevoidmain intx y scanf f 例3 判断某年份是否为闰年 以变量leap代表是否闰年的信息 若闰年 令leap 1 非闰年 令leap 0 2020 1 1 22 includevoidmain intyear leap scanf d 2020 1 1 23 条件运算符 三目运算符 条件表达式的形式表达式1 表达式2 表达式3例如 a b a b执行顺序 2020 1 1 24 条件运算符 条件表达式 例如 a 30 b 50 max a b a b 求max 2020 1 1 25 if a b max a elsemax b 条件运算符的优先级别比关系运算符和算术运算符都低 只优先于赋值运算符 例如 x x 0 x x if x 0 x x elsex x 1 a 0 1 a a c z c a A c3 判别三个数中的最大数 2020 1 1 26 判定a是否a 01a 0 1a 00如果c是小写字母则转变成大写字母 a b a b c a b a b c 5 4switch语句 2020 1 1 27 b 多分支选择结构 switch 表达式 case常量表达式1 语句1case常量表达式2 语句2 case常量表达式n 语句ndefault 语句n 1 case和default的出现次序不影响执行结果 2020 1 1 28 2020 1 1 29 请比较图1和图2 说明程序段执行结果 number 2 图1 图2 break 跳出switch结构 即终止switch语句的执行 例题 根据成绩等级输出成绩范围 voidmain chargrade scanf c 2020 1 1 30 case85 100 prinf A n 例题 按年龄age分组 老年 age 60 中年 45 age 60 青年 18 age 45 少年 12 age 18 儿童 age 12 2020 1 1 31 voidmain intr unsignedintage scanf u 2020 1 1 32 case2 case3 printf d young n age break case4 r age 10 switch r case0 case1 case2 case3 case4 case5 printf d young n age break default printf d middle n age break break 2020 1 1 33 case5 case6 r age 10 switch r case0 printf d middle n age break default printf d old n age break default printf d old n age 2020 1 1 34 5 5程序举例 1 用下面万年历公式 计算某个公元年号的元旦是周几 s y 1 y 1 4 y 1 400 y 1 100 d其中d是从元旦起到指定的那天之间的总天数 2 计算自己的生日是周几 3 输入三角形的三边 判断是否能组成三角形 若可以 则输出它的面积和三角形的类型 4 编写一个运算器程序 输入两个操作数和一个符号 输出运算结果 注意0不能做除数 2020 1 1 35 Begininputyeard 1s year 1 year 1 4 year 1 400 year 1 100 dswitch s 7 case0 print Sunday break case1 print Monday break case6 print Saturday break End 2020 1 1 36 1 计算某个公元年号的元旦是周几 Begininputa b cif a b c c a b b c a s a b c 2area sqrt s s a s b s c printareaif a b b c print 等边 elseif a b b c c a print 等腰 elseif a a b b c c b b c c a a a a c c b b print 直角 elseprint 普通 elseprint 不能组成三角形 End 2020 1 1 37 直角锐角钝角 3 输入三角形的三边 判断是否能组成三角形 若

温馨提示

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

评论

0/150

提交评论