




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3 1判断与分支 C语言的语句程序的三种基本结构if判断语句 运算符switch语句 一个函数包含声明部分和执行部分 后者由语句来实现语句用来向计算机系统发出操作指令 一个实际的程序应当包含若干语句 C语言的语句 C语言的语句 C语句可以分为 控制语句 9种 if else 条件语句 for 循环语句 while 循环语句 do while 循环语句 continue 结束本次循环语句 break 中止执行switch或循环语句 switch 多分支选择语句 goto 转向语句 return 从函数返回语句 程序的三种基本结构 顺序结构 intx 1 y 2 z 3 inta a x x y y z z a 程序的三种基本结构 选择结构 inta 1 b 2 printf maxis f n a b a b 程序的三种基本结构 程序的三种基本结构 循环结构 两种 if判断语句 if语句最常用的形式是if 关系表达式 语句1 else语句2 例如 if x 0 y 1 elsey 1 关系运算符和关系表达式 关系运算是逻辑运算中比较简单的一种 所谓 关系运算 实际上是 比较运算 C语言提供6种关系运算符 优先级相同 高 小于 小于或等于 大于 大于或等于 优先级相同 低 等于 不等于 关系运算符和关系表达式 优先次序 1 运算符 的优先级别相同 后两种也相同 前4种高于后2种 2 关系运算符的优先级低于算术运算符 3 关系运算符的优先级高于赋值运算符 关系运算符和关系表达式 用关系运算符将两个表达式连接起来的式子 称关系表达式 例 c a b等效于c a b a b c等效于 a b ca b c等效于a b c a b c等效于a b c 例 课本P 68z 3 1 x 1 y 2 逻辑运算符和逻辑表达式 用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式C语言提供三种逻辑运算符 逻辑与 逻辑或 逻辑非在一个逻辑表达式中可包含多个逻辑运算符 如 a b x y c优先次序 非 与 或 逻辑运算符中的 和 低于关系运算符 高于算术运算符 逻辑运算符和逻辑表达式 例 a b x y 等价于a b x y a b x y 等价于a b x y a a b 等价于 a a b 逻辑运算符和逻辑表达式 在判断一个量是否为 真 时 以0代表 假 以非0代表 真 即将一个非零的数值认作为 真 c语言编译系统给出的逻辑运算结果不是0就是1 不可能是其他数值 例 若a 4 则 a的值为 若a 4 b 5 则a b的值为 若a 4 b 5 则a b的值为 若a 4 b 5 则 a b的值为 4 0 2的值为 5 3 8 4 0的值为 逻辑运算符和逻辑表达式 常用的逻辑运算规律 a b c 只有a为真 非0 时 才需要判别b的值 只有a和b都为真的情况下才需要判别c的值 只要a为假 就不必判别b和c 如果a为真 b为假 不判别c a b c 只要a为真 非0 就不必判断b和c 只有a为假 才判别b a和b都为假才判别c P 71的一些规律可以a 0或1来分析 逻辑运算符和逻辑表达式 例 用一个逻辑表达式判别某年 year 是闰年闰年的条件是符合下面二者之一 能被4整除 但不能被100整除 能被4整除 又能被400整除 逻辑表达式 year 4 0 year 100 0 year 400 0 逻辑运算符和逻辑表达式 例3 用一个逻辑表达式判别某年非闰年 year 4 0 year 100 0 year 400 0 year 4 0 year 100 0 year 400 0德 摩根定律 a b a b a b a b归纳 用逻辑表达式表示复杂条件直观 简捷 可读性好 逻辑表达式计算有时会出现部分表达式不参加运算的情况 逻辑运算符和逻辑表达式 例 某专业课录取的条件如下 a 数学成绩 60 b 物理成绩 50 c 化学成绩 40 d 以上三课的总成绩 200 或数学和物理的总成绩 150 maths 60 physics 50 chemistry 40 maths physics chemistry 200 maths physics 150 if语句的三种形式 if 表达式 语句例 if x y printf d x if 表达式 语句1else语句2例 if x y printf d x elseprintf d y if语句的三种形式 多分支选择结构 if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3 elseif 表达式m 语句mElse语句n例如 if number 500 cost 0 15 elseif number 300 cost 0 10 elseif number 100 cost 0 075 elseif number 50 cost 0 05 elsecost 0 if判断语句 if语句的嵌套 由后向前else子句与它前面最近 不带else的if配对 与书写格式无关格式 if x 0 if y 0 语句1else语句2elseif y 0 语句3else语句4 if x 0 if y 0 语句1elseif y 0 语句2else语句3 如果if与else的数目不一样 为实现程序设计者的企图 可以加花括弧来确定配对关系 if x 0 if y 0 语句1 else if y 0 语句3else语句4 if判断语句 例 输入两个数 由小到大的次序输出这两个数 main inta b t scanf d d if判断语句 例 输入3个数a b c 按由小到大的顺序输出 思路 ifa b将a和b对换 a是a b中的小者 ifa c将a和c对换 a是a c中的小者 因此a是三者中最小者 ifb c将b和c对换 b是b c中的小者 也是三者中次小者 然后顺序输出a b c即可 if判断语句 main inta b c t scanf d d d a b c if a b t a a b b t 实现a和b的互换 if a c t a a c c t 实现a和c的互换 if b c t b b c c t 实现b和c的互换 printf d d d a b c 运算符 if 表达式1 表达式2 else表达式3 等价于 max 表达式1 表达式2 表达式3 运算符 例 输入一个字符 判别它是否大写字母 如果是 将它转换成小写字母 如果不是 不转换 然后输出最后得到的字符 main charch scanf c switch语句 switch语句是多分支选择语句 if语句只有两个分支可供选择 而实际问题中常常需要用到多分支的选择 一般形式 switch 表达式 case常量表达式1 语句1 break case常量表达式2 语句2 break case常量表达式n 语句n break default 语句n 1 break Statement x switch语句 使用规则 switch后面括弧内的 表达式 只能对整数求值 可以使用字符或整数 ANSI新标准允许为任何类型 case标签必须是常量或常量表达式当表达式的值与某一个case后面的常量表达式的值相等时 就执行此case后面的语句 若所有的case中的常量表达式的值都没有与表达式的值匹配的 就执行default后面的语句 每一个case的常量表达式的值必须互不相同 否则就会出现互相矛盾的现象 对表达式的同一个值 有两种或多种执行方案 switch语句 各个case和default的出现次序不影响执行结果 可以先出现 default 再出现 case D 然后是 case A 执行完一个case后面的语句后 流程控制转移到下一个case继续执行 case常量表达式 只是起语句标号作用 并不是在该处进行条件判断 在执行switch语句时 根据switch后面表达式的值找到匹配的入口标号 就从此标号开始执行下去 不再进行判断 多个case可以共用一组执行语句 switch语句 例 某研究生院的学生评级 平均得分评定等级80 100优60 79良50 59中40 49及格0 39不及格 switch语句 综合举例 例 判断某一年是否闰年if year 4 0elseleap 0 综合举例 main intyear leap scanf d year if year 4 0 if year 100 0 if year 400 0 leap 1 elseleap 0 elseleap 1 elseleap 0 综合举例 if leap printf dis year elseprintf disnot year printf aleapyear n 综合举例 main intyear leap scanf d year if year 4 0 leap 0 elseif year 100 0 leap 1 elseif year 400 0 leap 0 elseleap 1 综合举例 if leap printf dis year elseprintf disnot year printf aleapyear n 总结 当使用多分支选择语句时 使用if还是switch可以根据个人习惯选择 但多于2项时 最好使用switch应先判断最常见的 期望的 最可能的条件 以提高效率尽量使逻辑表达式简单应避免使用负逻辑书写上养成代码缩排的习惯书写上养成在switch语句中使用default子句的习惯应该把具有类似动作的case归为一组 注意 在if else语句的if和else语句中 使用括号把语句括起来检查是否在应使用 运算符的地方用了 运算符在关系运算符 和 与 和 的逻辑是不同的if表达式需要 括起来在if表达式后面加冒号是错误的不要使用等
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中生安全培训计划课件
- 内网安全教育培训课件
- 《漏》公开课一等奖创新教案(共两课时)
- 10古诗二首 公开课一等奖创新教学设计
- 内河船员快速培训课件
- 化妆品安全培训会议通知课件
- 兄道友弟道恭课件
- 内控监督平台培训课件
- 创业培训产品课件
- 口腔医学护理体系与实务
- 2025年七年级语文上册《陈太丘与友期行》文言文对比阅读训练含答案
- 2025年气象系统公务员录用考试面试真题模拟试卷(结构化小组)
- 风力发电项目审批流程及要点梳理
- 跨境电商第三方物流合作中的三方保密协议及责任划分
- 2019ESCEAS血脂异常管理指南2025重点更新解读
- 《现代传感与检测技术》教学大纲
- 快递安全收寄培训课件
- 安全及节能驾驶培训内容课件
- 转基因玉米培训课件
- 3.2《学习成就梦想》教案 -2025-2026学年统编版道德与法治七年级上册
- 造血干细胞移植并发症
评论
0/150
提交评论