




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章 选择结构程序设计 关系运算 关系运算用来比较数值与数值之间的关系关系运算符有 优先级相同 高于后两种运算符 后两种运算符优先级相同关系表达式就是用关系运算符将两个表达式连接起来的式子关系表达式的结果为 真 或 假 在C语言中用1表示 真 用0表示 假 即关系表达式的结果为0或1 例如 inta 3 b 2 c 1 则 a b的结果为 d a b的结果为 b c a的结果为 a b c的结果为 f a b c的结果为 1 1 0 1 0 4 a 3的结果为 0 与 的区别 例 intb 3 请求出下列两个表达式的值及b的值 1 b 5 2 b 5 if x 2 printf win 改错 if x 2 printf win if后接关系表达式 结果为逻辑值 真或假 逻辑运算 C语言提供了三种逻辑运算符 逻辑非 逻辑与 逻辑或 高 低 逻辑非 是单目运算符 优先级最高 逻辑与 逻辑或 是双目运算符 优先级高于赋值运算符 低于关系运算符 逻辑表达式就是用逻辑运算符将逻辑量连接起来的式子 逻辑表达式的结果为1 真 或0 假 高 高 低 低 逻辑运算的真值表 00011011 3 2的结果为1 0 2的结果为 5 4 3的结果为1对吗 错 5 4 4 3为1 6 6 6的结果为 0 1 1 两个表达式作 只要一个的值为0 不必计算另一个 该表达式的值为0 2 两个表达式作 只要一个的值为1 不必计算另一个 该表达式的值肯定为1 includevoidmain inta 0 b 1 c 1 a 结果 1 1 1 总结常用运算符的优先级 非算关逻赋 逻辑非算术运算关系运算逻辑运算赋值运算 一 求下列逻辑表达式的值 设a 3 b 4 c 5 1 a b c b c 7 5 4 5 1 0 0 2 a b c b c 2 0 5 4 1 6 0 2 0 1 二 根据下列描述写出C语言表达式 1 判断某数能否被3 7 11整除 该数为num 且 且 C语言表达式为 num 3 0 num 7 0 num 11 0 闰年的条件满足下列二者之一 2 判断某年是否为闰年 该年为year 且 或 C语言表达式为 year 4 0 year 100 0 year 400 0 4 1if语句 if语句的三种形式if语句与条件运算符 1 if 表达式 语句 2 if 表达式 语句1 else语句2 3 复合if语句if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式n 语句n else语句n 1 if语句就是根据某一条件决定执行某一语句 二者选其一 它有三种形式 4 1 1if语句的三种形式 例1从键盘输入一个字符 如果是字母 则输出 否则不输出 includevoidmain charc scanf c c 较大者 a 较小者 1 变量说明 2 输入三个数 3 按大小排序 4 按顺序输出 b 较大者 a 较小者 b 较小者 a b c a b c c 较大者 a 例2输入三个数 按由小到大顺序输出 程序如下 includevoidmain floata b c t scanf f f f includevoidmain floata b c d t scanf f f f f 例3四个数由大到小排序输出 程序如下 在四个数中选最大数 存放在a中 在三个数中选最大数 存放在b中 在二个数中选最大数 存放在c中 例4 试编程 根据学生的考试成绩划分等级 分数等级90 100A75 89B60 74C0 59D 0 100 60 75 90 x 90 else x 75 x 60 else A B C D else 程序如下 includevoidmain intscore chargrade printf 请输入学生成绩 scanf d 注意 else总是与最近的一个if匹配 请思考 有一函数 编一程序 输入一个x值 输出y值 有以下几种写法 请大家判断那些正确 程序1 voidmain intx y scanf d 程序2 if x 0 if x 0 y 1 elsey 0 elsey 1 X 0 X 0 X 0 X 0 程序3 y 1 if x 0 if x 0 y 1 elsey 0 程序4 y 0 if x 0 if x 0 y 1 elsey 1 X 0 X 0 else else 程序1结果 x0y 1 程序2结果 x0y 1 程序3结果 x0y 1 程序4结果 x0y 1 对 对 错 错 程序举例 if的嵌套结构 例5写程序 判断某一年是否是闰年 includevoidmain intyear leap scanf d if leap printf dis year elseprintf disnot year printf aleapyear n 如 求b的绝对值 if b 0 abs b b elseabs b b abs b b abs b b abs b b b abs b b 0 b b abs b b 0 b b 条件表达式的一般形式 e1 e2 e3若e1为真 则此条件表达式取值为e2的值 若e1为假 则取值为e3的值 例1 写出计算c a b 的条件表达式 if b 0 c a b elsec a b c b 0 a b a b 4 1 2条件运算符与条件语句之间的关系 例2 判断一字符变量a是否为大写字母 若是 则将它转换成小写 if a A a a 32 a a A a 32 a 条件运算符的优先级大于赋值运算符 小于关系运算符 结合方向也是自右而左 用条件表达式求三个数的最大值 max a b a b c a b a b c a b两数最大值 例3 执行下列语句后 a的值是 b的值是 c的值是 inta b c m 1 n 0 a m n m n b m c n m 0 m n该表达式值为1 n 1 m 1 a 1 b 1 m 1 1 0 n 1 1 0 c 0 1 1 0 4 2switch语句 if语句是在二种情况中作出选择 一旦要选择的条件比较多 用if层层嵌套就比较麻烦 switch语句可以对多分支进行选择 格式 switch 表达式 case常量表达式1 语句1 case常量表达式2 语句2 case常量表达式n 语句n default 语句n 1 语句1 语句2 语句3 语句n 若要每执行一条语句即跳出switch语句 要使用break格式 switch 表达式 case常量表达式1 语句1 break case常量表达式2 语句2 break case常量表达式n 语句n break default 语句n 1 语句n 1 例1根据学生成绩等级划分成绩段 等级 A 分数在90 100之间 等级 B 分数在75 89之间 等级 C 分数在60 74之间 等级 D 分数在0 59之间 includevoidmain chargrade scanf c default printf 输入错误 n 例2 测试变量ch 字符类型 是数字 空白还是其它字符 0 9都是数字 换行 退格 空格都可当作是空白字符 switch ch case 0 printf It sadigit n case 1 printf It sadigit n case 9 printf It sadigit n break case32 printf It sawhite n case n printf It sawhite n case b printf It sawhite n break default printf It sachar n 例3 输入年月日 输出该日是这一年中的第几天 考虑闰年 编程思想 利用switch语句下滑趋势做累加求和 请思考 如果是2010年5月4日应该如何算 1月天数 2月天数 3月天数 4月天数 4 再思考 如果是x月y日应该如何算 1月天数 x 1月天数 y includevoidmain inty m d yy days 0 printf Pleaseinputyear month date scanf d d d 将1月份的天数加进来 days d printf tIt sthe ddayoftheyear n days 使用switch语句时应注意 switch后表达式的类型与case后常量表达式类型应一致 表达式类型一般使用整型或字符型 case后常量表达式应为单个常量 或是不含变量的常量表达式 但不能为变量 case后的常量表达式的值不能有相同的 如果有相同就意味着有两个入口 使程序产生混乱 注意一特殊形式 当a 1 b 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年航空机械员考试题库及答案
- 外贸销售合同样本中英文
- 高温工程施工合同(3篇)
- 安全员往年考试题及答案
- 安全卫生考试试题及答案
- 安全师考试题及答案
- 安保公司培训考试题及答案
- 痔疮动脉结扎微创技术-洞察及研究
- 2025河北公务员面试题及答案
- 2025国考行测模考试题及答案
- 电力系统反恐怖知识讲座
- 铁道车辆制动装置及制动新技术全套教学课件
- 化学氧化二氧化氯氧化课件
- 厂房建设工程投标方案(技术方案)
- 《大学语文》-《梦狼》
- 非常规时段施工安全管理方案
- 医院感染管理制度与职责
- 中建盘扣式落地卸料平台施工方案
- 管理学(第二版)邢以群PPT全套课件
- 四川省安全评价收费标准
- 人工流产-清宫术知情同意书
评论
0/150
提交评论