




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第五章逻辑运算和选择结构控制 本章要点 正确使用逻辑表达式掌握用if语句实现选择结构掌握条件运算符的使用 2 5 关系运算符和关系表达式 语言中的关系运算符有 种 5 1 1关系运算符及其优先次序 优先次序 前 种同级 高于后 种 后 种同级 例如 x ys db cbd 算术运算符 高 关系运算符赋值运算符 低 s d b c bd 3 5 1 2关系表达式关系表达式就是将两个表达式用关系运算符连接起来 如 a b by s f d 语言没有逻辑型数据 关系表达式的真 假是以数值 代表 真 以 代表 假 例 a 3 b 2 c 1 下列表达式的值是 c b a b 1 b cb c 自左至右 4 用逻辑运算符将关系表达式或逻辑量连接起来就是逻辑表达式 5 2 1逻辑运算符及其优先次序C语言提供三种逻辑运算符 逻辑与 逻辑或 逻辑非 注 和 是 双目 元 运算符 它要求有两个运算量操作数 而 是 单目 元 运算符 只要求有一个运算量 如 a b c a b x y x y a ba b为真 则a b为真 a ba b之一为真 则a b为真 a若a为真 则 a为假 优先次序 高 低 5 逻辑运算符和逻辑表达式 5 5 2 2逻辑表达式用逻辑量与逻辑运算符组成逻辑表达式 注 如何判断一个逻辑量为 真 假 我们用 非 代表 真 用 代表 假 例1 5 3 2 8 4 0值为 b d 值为 例2 判别某一年year是否闰年 条件 能被 整除 但不能被100整除 或能被 整除 又能被400整除 判断闰年的逻辑表达式为 year 4 0 year 100 0 year 400 0判断非闰年的逻辑表达式为 year 4 0 year 100 0 year 400 0 6 If语句用来判定给定的条件是否满足 根据判定的结果决定执行下面给出的语句 5 3 1if语句的三种形式 if 表达式 语句例 if xy printf d x elseprintf d y 5 3if语句 7 3 if 表达式 语句1elseif 表达式2 语句2elseif 表达式3 语句3elseif 表达式m 语句melse语句n注 上述格式中语句可以表示一个语句或多个语句 若多个语句则用 括起来 例 求 8 includemain intnumb1 sign printf Pleaseinputannumber n scanf d 注 最后else与其之最近的if配对 9 或if if 语句 内嵌if else语句2 内嵌if 内嵌if 或if if 语句 elseif 语句2else语句3 if if 语句 else语句 elseif 语句 else语句 内嵌if 5 3 2if语句的嵌套在if语句中又包含一个或多个if语句的形式 一般格式如下 10 例如 已知编一个程序 输入一个x的值 输出y值 程序为 main intx y scanf d 11 或者if x 0 if x 0 y 1 elsey 0 elsey 1 内嵌if 若程序写成 y 1if x 0 if x 0 y 1 elsey 0 正确吗 如何修改 或者y 0 if x 0 if x 0 y 1 elsey 1 正确吗 如何修改 if X 0 if X 0 12 5 3 3条件运算符 语言增设了一个条件操作符 它是唯一的三目操作符 格式 表达式 表达式 表达式 功能 判断表达式 的值 该值为 非 则取表达式2的值 为 0 时 取表达式 的值 如 max a b a b若a 3 b 2 则max 说明 1 条件运算符优于赋值运算符 2 条件运算符的结合方向为 自右向左 例1 当a 1 b 2 c 3 d 4时 表达式a b a c d c d 值为 例2 若x 1 y 0 a 3 b 3表达式 y x a b a b值为 4 0 13 3 可以用条件表达式取代一般的if结构语句 如 if a b printf d a elseprintf d b printf d a b a b 4 条件表达式中的表达式 的类型可以与表达式 和表达式 的类型不同 如 c x y 1 s 当x y成立时c 1 否则c s 又如 main charch scanf c printf c ch 输入 a 14 switch语句问题 为什么引出switch语句 该语句为开关语句 解决多分支的情况 格式 switch 表达式 case 常量表达式 语句块 case 常量表达式 语句块 case 常量表达式m 语句块m default 语句块n 说明 1 表达式可以是整型 字符型 枚举数据型的表达式 5 4switch语句和break语句 15 2 计算表达式的值 3 找到与表达式的值相同的case常量表达式 执行该case后边的语句块 之后依次往下执行语句块 例如 switch grade case A printf 85 100 case B printf 70 84 case C printf 60 69 n case D printf 60 default printf error 若gread A 时 结果为 85 100 70 84 60 69 60 error 16 如果不想这样输出 则可用break语句处理 break语句 格式 break 功能 终止与每一个常量有关的语句序列 省略它则继续执行下一个case后的语句块 上述程序可写成多分支情况 switch grade case A printf 85 100 n break case B printf 70 84 n break case C printf 60 69 n break case D printf 60 n break default printf error 若gread A 时 输出结果为 当grad B 时 输出结果为 70 84 17 流程图为 grade 输出 85 100 输出 60 输出 60 69 输出 error 输出 70 84 18 例 写程序 判断某一年是否闰年 其中 leap代表闰年的信息 leap 1闰年 leap 0非闰年程序为 main intyear leap scanf d 19 例 运输公司对用户计算运费 距离 s 越远 每公里运费越低 折扣为d discount 每公里每吨货物的基本运费为p price 货物重w weight 总运费f freight f p w s 1 d 设c s 250 输入 1989结果为 1989isnotaleapyear输入 2000结果为 2000isaleapyear 20 程序为 main intc s floatp w d f scanf f f d case4 case5 21 case6 case7 d 8 break case8 case9 case10 case11 d 10 break ca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程项目质量保证与监督方案
- 2025江西抚州医药学院招聘高层次人才13人备考练习试题及答案解析
- 2025年河北沧州盐山县公开选调教师149名备考练习试题及答案解析
- 船舶货运评估题库及答案
- 2025年焊工年审试题及答案
- 2025青岛澳柯玛控股集团有限公司招聘计划备考练习题库及答案解析
- 装修现场文明施工方案
- 2025年创新中考的题目及答案
- 2025河北承德石洞子沟街道办事处招聘高校毕业生公益岗1人考试参考试题及答案解析
- 2025湖南大众传媒职业技术学院高层次人才招聘30人考试参考试题及答案解析
- 项目部刻章申请书
- 版挖掘机租赁合同
- 语言学概论全套教学课件
- JJF 1265-2022生物计量术语及定义
- GB/T 8118-2010电弧焊机通用技术条件
- GB/T 17421.7-2016机床检验通则第7部分:回转轴线的几何精度
- 电工技能测试
- 药事管理学全套课件
- 社区心理学课件
- 质量整改通知单(样板)
- 2020届高三北京高考“多文本阅读”总攻略
评论
0/150
提交评论