




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章选择程序设计 4 1关系运算符与关系表达式 4 2逻辑运算符与逻辑表达式 4 4switch语句 返回 4 3if语句 C语言程序设计教程 C语言用三种语句控制程序的执行流程顺序结构 选择结构和循环结构 这一章主要讲选择结构 例如计算分段函数 时 须先判断x是大于等于还是小于0的 这时就需要选择语句来判断 下一页 第4章选择程序设计 4 1关系运算与关系表达式 关系运算就是比较运算 即将两个数据进行比较 判定两个数据是否符合给定的关系 a ba ba b 下一页 第4章选择程序设计 4 1 1关系运算符 C语言有6种 大于 大于等于 等于 不等于 六个关系运算符都是双元运算符 关系操作数可以是 数值类型数据字符型数据 关系运算的值 关系成立 1 表示逻辑真 关系不成立 0 表示逻辑假 下一页 第4章选择程序设计 5 3值 15 3值 05 3值 05 3值 1 例如 4 1 2关系表达式 1 关系表达式的构成关系运算符将两个表达式连接起来 构成关系表达式 下一页 第4章选择程序设计 a b b c比较两个算术表达式的值a 2 b比较变量和算术表达式的值 a b 比较两个字符的ASCII码值 2 关系运算符的优先级 例如 1 和 为同一级 和 为同一级 前者的优先级高于后者 2 关系运算符优先级低于算术运算符 3 关系运算符的结合律 C语言规定关系表达式采取左结合律 表达式中出现优先级别为同一级别的运算符时 则按从左到右结合方向处理 第4章选择程序设计 a b b c等效于 a b b c 2 a b a 等效于2 a b a 例如 inta 2 b 3 c 1 a bb 值是0 再计算033 值是1 再计算1 2 值为1 例如 返回 4 2逻辑运算符和逻辑表达式 4 2 1逻辑运算符C语言没有逻辑类型数据 逻辑运算根据数据是否为0进行判断 数据为非0 逻辑真 数据为0 逻辑假 逻辑运算值的表示 逻辑真 值为1 逻辑假 值为0 下一页 第4章选择程序设计 1 逻辑非 逻辑非是一元运算符 操作数值为0 逻辑非运算的结果为1 逻辑真 当操作数值为非0时 逻辑非运算的结果为0 下一页 第4章选择程序设计 inta 5 b 3 a结果 0 a b 结果 1 因为a b的值为0 例如 下一页 第4章选择程序设计 2 逻辑与 逻辑与是二元运算 只有参加逻辑与运算的两个操作数值均为非0 逻辑真 时 结果才为真 例如 inta 5 b 3 a b值 1 a0 值 0 因为a b的值为0 3 逻辑或 逻辑或也是二元运算 只要两个操作数中有一个为非0 逻辑真 结果就为1 下一页 第4章选择程序设计 例如 inta 5 b 3a b值 1 a0 值 1因为a 0的值为1 4 2 2逻辑表达式 逻辑运算表达式的构成用逻辑运算符将表达式连接起来就构成了逻辑表达式 下一页 第4章选择程序设计 例如 a b 对关系表达式的值取非 a b b c a b b c 逻辑运算符优先级 C语言逻辑运算符的优先级规定如下 1 优先级顺序为 2 高于算术运算符 低于关系运算符 下一页 第4章选择程序设计 b 计算顺序 a a b a 计算顺序 a 例如 C语言逻辑运算符采用左结合律 表达式中出现优先级别为同一级别的运算符时 按从左到右的结合方向处理 第4章选择程序设计 逻辑运算符的结合律 a b c计算顺序为 a b c 例如 返回 4 3if语句 例如计算分段函数 计算x 0 如果结果为1 计算 y 3 x 否则 计算 y 2 x 需要根据x的值进行流程选择 分支 下一页 第4章选择程序设计 4 3 1单分支选择语句 执行单分支语句时 首先先判断表达式的值若为非0则执行下面的语句若为0则跳过该语句 下一页 第4章选择程序设计 单分支选择语句if的形式为 if 表达式 语句 main floatx y scanf f 例如 4 3 2双分支选择语句 执行过程中首先先判断表达式的值若为非0则执行语句1 若为0则执行语句2 下一页 第4章选择程序设计 例如 main floatx y scanf f 输入两个数 比较其大小 将较大的数输出 流程分析 1 输入两个数据a b 2 如果a b则输出a 否则 输出b includemain floata b scanf f f 下一页 第4章选择程序设计 例如 4 3 3多分支选择语句 执行时先判断表达式1的值非0就执行下面的语句为0就执行下一个判断一直这样做下去直到得出最后结果 下一页 第4章选择程序设计 写一个程序完成下列功能 1输入一个分数score2score 60输出E360 score 70输出D475 score 80输出C580 score 90输出B590 score输出A 下一页 第4章选择程序设计 多分支问题 main intscore sanf d 下一页 第4章选择程序设计 程序 if语句中的表达式一般为关系或逻辑表达式 也可以为任何数值类型的表达式 执行语句可以是一条简单语句 空语句或复合语句 也可以嵌套其它流程控制语句 复杂条件选择 输入两个字符ch1和ch2 如果ch1 Z 且ch2 B 则输出 Youareright 下一页 第4章选择程序设计 问题 main charch1 ch2 ch1 getchar ch2 getchar if ch1 Z 下一页 第4章选择程序设计 程序 4 3 4if语句的嵌套 在上述3种if语句结构中 当if 表达式 或else后面的语句本身又是一个if语句结构时 就形成了if语句的嵌套结构 下一页 第4章选择程序设计 if语句的二层嵌套结构如右 if 表达式1 if 表达式1 2 语句1 1else语句1 2elseif 表达式2 1 语句2 1else语句2 2 例题4 3的分段函数可以用两层嵌套来完成 if x0时走这条分支 if x 10 当0 x 10 y x 2 else 当10 x y x 10 下一页 第4章选择程序设计 两层嵌套流程图 下一页 第4章选择程序设计 if x0时走这条分支 if x 10 当0 x 10 y x 2 else 当10 x y x 10 添加花括号后可以很清楚地表示出else与外层if的配对情况 下一页 第4章选择程序设计 注意结构 编程实现 根据两个数sex和tall分类 如果sex为 F 当tall大于等于150时 输出 A 否则输出 B 若sex不为 F 当tall大于等于170时 输出A 否则输出B 下一页 第4章选择程序设计 例4 4 分析 根据sex分支在sex为 F 的分支中判断tall 150否在sex不为 F 的分支中判断tall 170否 main inttall charsex printf inputsexandtall scanf c d 下一页 第4章选择程序设计 程序 条件语句 在C语言中 简单的分支选择可以用条件语句实现 条件语句的一般形式为 条件运算符 的含义是 表达式1的值为真 计算表达式2 表达式1的值为假 计算表达式3 被计算的表达式的值作为整个表达式的值 下一页 第4章选择程序设计 用条件语句实现 y x 0 3 x 2 x 此式求值取决于x的值 1 若x 0为真 则y 3 x 2 若x 0为假 则y 2 x 下一页 第4章选择程序设计 C语言中条件运算符的优先级高于赋值运算符 但低于逻辑运算符 条件运算符要求有三个操作对象 称三目 元 运算符 条件运算符的结合方向为 自右至左 如条件表达式 y x 10 x 10 x 0 x x 从右至左结合 等价于 y x 10 x 10 x 0 x x 它的功能是 当x 10时 y的值为x 10 当x0 第4章选择程序设计 返回 4 4Switch语句 switch 表达式 case常量1 语句1 case常量2 语句2 case常量3 语句3 default 语句4 另一种多分支语句 根据表达式不同的值选择不同的语句 下一页 第4章选择程序设计 Switch语句的一般形式 语句中的表达式可以是数字型或字符型 表达式的值 称为开关值 语句结构中各个case后常量表达式的值必须互不相同 否则执行时将出现矛盾 即同一个开关值 对应多种执行方案 当表达式的值与某一个常量相等时 就执行后面的语句 若无break语句 执行该语句后 流程控制转移到下一个分支 继续执行这一个分支的语句 一直到最后 当表达式的值与所有常量表达式的值不相等时 执行default 后面的语句 下一页 第4章选择程序设计 注意 switch i case1 printf A n break case2 printf B n break case3 printf C n break case4 printf D n break default printf E n 假设i 3时 则会从i 3时起执行语句 如果给每条语句加上break这样就只执行一条语句 CDE 下一页 第4章选择程序设计 看下面的例子 运行结果 语句后加或不加 break 可以使多分支变得非常灵活 如果多种情况需要共用一个执行语句 可用case的常量表达式多种情况列出 最后一种情况后 才安排需执行的语句 case后面的语句可以是一条语句 也可以是复合语句 还可以是花括弧括起来的几条语句 还可以是空语句 有多条语句时会顺序执行完所有语句 下一页 第4章选择程序设计 说明 编程 根据输入的学生的成绩判断等级 当成绩score 90时为A等 成绩70 score 90为B等 成绩60 score 70为C等 成绩score 60为D等 score为整数 分析 设score为整型数 在score
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 7.2.2 我国最大的城市群 水乡的文化特色与旅游(说课稿)2025-2026学年八年级地理下册同步教学(人教版河北专版)
- 六年级上册心理健康教育教案-6自信添力量 | 辽大版
- 蓄电池销售课件
- 18.2.2菱形 说课稿-2024-2025学年人教版数学八年级下册
- 5.3《十年的变化》(教学设计)-2024-2025学年二年级下册数学北师大版
- 《梦游天姥吟留别》教学设计 2024-2025学年统编版高中语文必修上册
- 初中期末考试试卷及答案
- 2025饮料的采购合同模板
- 显微镜构造题目及答案
- 葡萄糖耐量试验课件
- 2025新疆维吾尔自治区人民检察院招聘聘用制书记员(14人)笔试模拟试题及答案解析
- (2025秋季)人教版八年级物理上册1.2 运动的描述(教学设计)
- 膜性肾病课件
- 河南省天立教育2025-2026学年高三上学期开学联合考试语文含答案
- 2025年市场监督管理局公务员招录面试题及答案解析
- 《MATLAB数值计算基础与实例教程 》课件-第10章 其他数值计算的优化问题
- 2024-2025学年苏教版(2024)小学数学三年级上册(全册)教学设计(附目录P303)
- 输电线路清障作业方案
- 环氧酯树脂行业报告
- 提高员工执行力培训课件
- 痰标本采集技术
评论
0/150
提交评论