C语言程序设计-第4章.ppt

上传人:max****ui 文档编号:6340361 上传时间:2020-02-23 格式:PPT 页数:27 大小:357.81KB
返回 下载 相关 举报
C语言程序设计-第4章.ppt_第1页
第1页 / 共27页
C语言程序设计-第4章.ppt_第2页
第2页 / 共27页
C语言程序设计-第4章.ppt_第3页
第3页 / 共27页
点击查看更多>>
资源描述
C语言程序设计 课件制作 贵州新科电脑培训中心 全国计算机等级考试二级教程 第四章选择结构 通常 计算机程序是按顺序结构执行的 然而 在许多情况下 程序执行时需要依赖于用户输入的数据或表达式的值 为了处理计算机所遇到的各种不同情况 c语言提供了可以进行逻辑判断的选择语句 由选择语句构成的选择结构 将根据逻辑判断的结果决定程序的不同流程 本章要点 1 关系运算和逻辑运算 逻辑值 关系运算符和关系表达式 逻辑运算符和逻辑表达式2 If语句和用if语句构成的选择结构 if语句 嵌套的if语句3 条件表达式构成的选择结构4 switch语句和用switch语句和break语句构成的选择结构 switch语句的执行过程 在switch语句体中使用break语句 语句标号和goto语句 4 1关系运算和逻辑运算 逻辑值 真 和 假 用 1 和 0 来表示 判断一个条件是否成立 成立则返回值为 真 不成立则返回结果为 假 关系运算 比较运算 将两个数进行比较 判断比较的结果是否符合指定的条件关系运算符 关系运算符 几种运算符之间优先级别从高到低依次是 逻辑非 算术运算 关系运算 逻辑与 逻辑或 赋值运算 关系表达式 由关系运算符和运算对象组成运算对象是任意合法的表达式关系表达式的值为逻辑值一般形式为 表达式 关系运算符 表达式 注意 1 不能将赋值号 用作关系运算符 2 尽量避免使用浮点数进行 或 的比较 原因 整型转换成实型实型在内存中有误差 逻辑运算符 几种运算符之间优先级别从高到低依次是 逻辑非 算术运算 关系运算 逻辑与 逻辑或 赋值运算 知识点 举例 逻辑表达式 由逻辑运算符和运算对象组成运算对象是任意合法的表达式一般形式为 表达式逻辑运算符号表达式 注意 1 逻辑运算符两侧表达式的值是逻辑值而非算术值2 逻辑表达式可以嵌套3 在特定条件下会产生 短路 现象 运算法则 例 例 用关系表达式和逻辑表达式描述复杂的关系 例1 能被7或11整除 但不能同时被7或11整除的表达式怎么写 例2 表示水仙花数的表达式怎么写 假如我们用X来表示该数 说明 水仙花数是指这样的一个数 它的个位数的立方加上十位数的立方加百位数的立方之和 恰好等于这个数本身 比如 153 13 53 33例2 判别某一年是否为闰年 判断闰年的条件为下面的两者之一 1 能被4整除但不能被100整除 2 能被400整除 假设我们用一个变量y来表示该年份 则表达式该如何书写 4 2if语句和用if语句构成的选择结构 If语句不含else子句的if语句含else子句的if语句 不含else子句的if语句 语句形式 if 表达式 语句 例如 if a b t a a b b t 说明 if是关键字表达式是实现逻辑判断的条件圆括号不能少圆括号后不能加 可用 将多条语句组成 一条语句 实例4 1 解释执行过程 含else子句的语句 一般形式 If 表达式 语句1 else语句2 说明 if和else是关键字 语句1 称为if子句 语句2 称为else子句 else必须和if配合使用实例4 3解释执行过程 If语句说明 1 表达式为任意合法的c语言表达式2 无论是否有else子句 if子句的 都不能省略 嵌套的if语句 If和else子句中又包含了if和else子句可以嵌套在if子句中 也可以嵌套在else子句中分类 1 在if子句中嵌套具有else子句的if语句 语句形式 If 表达式1 if 表达式2 语句1 else语句2 else语句3 嵌套的if语句 2 在if语句中嵌套不含else子句的if语句 语句形式 if 表达式1 if 表达式2 语句1 else语句2 3 在else子句中嵌套if语句 嵌套的if语句 If 表达式1 语句1 elseif 表达式2 语句2 else语句3 If 表达式1 语句1 elseif 表达式2 语句2 else语句3 a 嵌套if子句带有else 第一种写法 第二种写法 b 嵌套if语句不带else If 表达式1 语句1 elseif 表达式2 语句2 If 表达式1 语句1 elseif 表达式2 语句2 第一种写法 第二种写法 建议 通过比较a和b两种形式可以看出 内嵌在else子句中的if语句无论是否有else子句 在语法上都不会引起误会 因此 我们在书写内嵌的if语句时 尽量把内嵌的if语句嵌在else子句中 阶梯型的嵌套if语句 不断在else子句中嵌套if语句 第一种写法 If 表达式1 语句1 elseif 表达式 语句2 elseif 表达式 语句3 elseif 表达式4 语句4 else语句n 第二种写法 If 表达式1 语句1 elseif 表达式 语句2 elseif 表达式3 语句3 elseif 表达式4 语句4 else语句n 执行过程 从上到下逐一检测执行 遇到为 真 的表达式n 则执行该表达式后的语句n 如果所有的表达式都为 假 则执行最后的else子句 如果语句最后的else语句不存在 则不执行任何操作 条件表达式构成的选择结构 条件运算符 由 和 组成 唯一的三目运算符 优先级别 优于赋值运算 但低于逻辑运算 关系运算和算术运算条件表达式的形式 表达式 表达式2 表达式3 例 y x 10 100 200假设x 则y 200 4 4switch语句以及用switch语句和break语句构成的选择结构 实际问题中 常常遇到多路选择的选择结构程序 虽然使用elseif语句可以实现 但不够直观 使用c语言提供的switch语句会更容易理解 更方便 switch语句 语句形式 switch 表达式 case常量表达式 语句1 case常量表达式 语句2 case常量表达式n 语句n default 语句n 1 说明 1 switch case default是关键字 中的内容为语句体 2 表达式可以是整型表达式 字符型表达式及枚举型表达式 3 case和其后的常量表达式合称case语句标号4 default代表所有case标号之外的那些标号 5 case语句后的语句可以由若干条语句组成 6 在case和常量之间一定得有空格 Switch语句的执行过程 首先计算switch后表达式的值 在case语句中寻找与该值吻合的标号并执行该标号后的语句 如果没有与该表达式值相等的标号 则执行default标号后的语句 如果不存在default标号 则跳过语句体 什么也不做例 6 在switch语句中使用break语句 break 间断语句 用于终止switch语句体的执行过程 必须和switch联合使用一般形式 case常量表达式 语句 break 例 6 语句标号和goto语句 语句标号 goto语句的转向目标 合法的标识符 用户标识符 可以和变量同名 可以加在任何语句之前例 stop printf End n Goto语句 无条件转向语句 语句形式 goto语句标号 说明 语句标号必须和goto语句在同一个函数内尽量不用 原因 滥用goto语句将使程序的流程毫无规律 可读性变差 本章完 祝大家学有所成 谢谢
展开阅读全文
相关资源
相关搜索

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


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

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


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