C语言关系、逻辑和条件表达式.ppt

上传人:sh****n 文档编号:7422129 上传时间:2020-03-21 格式:PPT 页数:31 大小:577.50KB
返回 下载 相关 举报
C语言关系、逻辑和条件表达式.ppt_第1页
第1页 / 共31页
C语言关系、逻辑和条件表达式.ppt_第2页
第2页 / 共31页
C语言关系、逻辑和条件表达式.ppt_第3页
第3页 / 共31页
点击查看更多>>
资源描述
2020 3 21 1 上一节我们学到了 赋值表达式和赋值语句 左值printf d f scanf lfgetchar putchar 2020 3 21 2 第四章选择结构程序设计 ConditionalOperatorandExpressionsBranching 2020 3 21 3 Tobeornottobe thisisaquestion 2020 3 21 4 4 1选择结构和条件判断4 2用if语句实现选择结构4 3关系运算符和关系表达式4 4逻辑运算符和逻辑表达式4 5条件运算符和条件表达式4 6选择结构的嵌套4 7用switch语句实现多分支选择结构4 8选择结构程序综合举例 内容 2020 3 21 5 关系运算符和表达式 条件为真 true 2020 3 21 6 优先级P378 正号 类型 sizeof 2020 3 21 7 关系 算术 赋值运算符的优先级 inta 3 b 2 c 1 c a b等效于c a b a b c等效于 a b ca bc等效于a b c while c getchar EOF while c getchar EOF 2020 3 21 8 分清 和 inta 1 if a 0 printf OK inta 0 if a 0 printf OK inta 1 if a 0 printf OK inta 0 if a 0 printf OK 2020 3 21 9 分清 和 inta a 0 a 1 inta a 0 a 1 下面用法能起点小作用 inta 0 if 0 a printf OK inta 0 if 0 a printf OK 编译出错 2020 3 21 10 4 4逻辑运算符 逻辑运算 运算结果为1和0如果a是非0 结果是0并不改变a的值 2020 3 21 11 修改后的逻辑运算真值表 2020 3 21 12 逻辑运算符的优先级 逻辑运算符的优先次序 为三者中最高 与其他运算符的优先次序 高 算术运算符关系运算符 和 赋值运算符 低 2020 3 21 13 逻辑表达式举例 若a 4 则 a的值为0若a 4 b 5 则a b的值为1a和b值分别为4和5 则a b的值为1a和b值分别为4和5 则 a b的值为14 0 2的值为15 3 8 4 00 2020 3 21 14 怎么表示 如果分数80小于等于grade且小于90 则五分制分数为A if 80 80 grade 80 grade 90 加括号最好怎么表示 如果字符型变量c为 Y 或 y if c Y y 错if c Y c y 对 2020 3 21 15 逻辑表达式的自动优化 a m a b n c d 2020 3 21 16 判断闰年 判别某一年是否闰年 用逻辑表达式表示闰年的条件是符合下面二者之一 P20 能被4整除 但不能被100整除 如2008 能被400整除 如2000 year 4 0否则为非闰年 17 4 4 3逻辑型变量 与C 或Java不同 没有boolean类型 inC89 C90 inC99 增加 Bool类型如果想用bool类型 使用stdbool h 2020 3 21 18 4 5条件表达式 条件表达式的一般形式为表达式 表达式 表达式 把a和b中的最大值赋值给maxif a b max a elsemax b max a b a b 这种表达式切忌用得过于繁杂 2020 3 21 19 条件运算符的执行顺序 表达式 表达式 表达式 求解表达式1若为非0 真 则求解表达式2 此时表达式2的值就作为整个条件表达式的值若表达式1的值为0 假 则求解表达式3 表达式3的值就是整个条件表达式的值 2020 3 21 20 优先级 类型 sizeof 2020 3 21 21 结合方向为 自右至左 以下为合法的使用方法 a b max a max b a b printf d a printf d b 2020 3 21 22 例4 4输入一个字符 判别它是否大写字母 如果是 将它转换成小写字母 如果不是 不转换 然后输出最后得到的字符 includeintmain void charch printf 请输入一个字符 按回车结束 scanf c if if x 2 0 y x 2 如果条件为真 执行y x 2 否则 什么也不做 2020 3 21 23 2020 3 21 24 例4 2输入两个实数 按数值从小到大的次序输出这两个实数 includeintmain void floata b t scanf f f 2020 3 21 25 两整数交换 a和b交换 要求不占用额外内存空间方法1 a a b b a b a a b 方法2 位运算 自己完成 2020 3 21 26 例4 3输入3个数a b c 要求按由小到大的顺序输出 解题思路 可以先用伪代码写出算法 ifa b a和b对换 a是a b中的小者 ifa c a和c对换 a是三者中最小者 ifb c b和c对换 b是三者中次小者 顺序输出a b c 排序问题 2020 3 21 27 includeintmain void floata b c t scanf f f f 独占一行 如果没有这个 会发生什么 2020 3 21 28 else关键字 if x 2 0 y x 2 elsey x 1 2 可选如果条件为假 执行第二个分支y x 1 2 2020 3 21 29 elseif关键字 if x 2 0 y x 2 elseif x 4 1 y 2 x 3 4 elsey x 1 2 2020 3 21 30 这一节我们学到了 关系运算符和表达式 和 的区别逻辑运算符和表达式 if 2020 3 21 31 作业 P111习题3P112习题6P112习题12
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!