版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章第四章 选择结构选择结构张涵张涵回顾:1、什么是输入?2、什么是输出?3、输入的命令是什么?4、输出的命令是什么?5、输出一个如下结果:例:已知a=3.1415927;保留3位小数,前面带2空格的。目标v熟练使用关系运算符v熟练使用逻辑运算符v熟练使用多重 if 结构v熟练使用嵌套 if 结构v熟练使用 switch 结构v理解条件运算符的用法4.1 关系运算和逻辑运算关系运算和逻辑运算一、一、C语言中的逻辑值语言中的逻辑值语言中规定:(1)用0、1 表示逻辑假和真值;语言没有专门的逻辑值,而是用来表示“真”,用表示“假”。(2)任何基本类型的值都可作为逻辑值使用。所有非0的值被当作“真
2、”使用,而0值被当作“假”使用注意:当注意:当x、y为实型数据为实型数据 尽量避免使用尽量避免使用 x=y10关系运算符关系运算符操作数操作数1 1操作数操作数2 2。二、关系运算符和关系表达式关系运算符和关系表达式 1.C语言的关系运算符共种:(大于)= (大于等于)(小于)=b 值为0 (a=3)(b=4) 值为0 ac=c 值为1 三 逻辑运算符和逻辑表达式 逻辑表达式运算过程中所有的非零值都为真,0为假。 其运算结果为(0、1)。逻辑运算的用法AGE=18AGE=25&AGE=60|“真”的非为“假”,“假”的非为“真”逻辑运算符总结年龄大于年龄大于18岁岁年龄小于年龄小于25
3、&只有当两个两个条件都为真真时结果才为真只要任何任何一个条件为真真时结果就为真对原条件取反取反,即:如果原条件为假时结果就为真|!优先次序:!(非) &(与)|(或)逻辑运算符中的&和|低于关系运算符,!高于算术运算符逻辑表达式中的短路问题int a=0,b=0; a+ & b+ ; int a=0,b=0; a+| b+ 首先计算a+的值为0,即0&b+,不需要再计算b+了,因此值为0,a为1,b为0.首先计算a+的值为1,即1 | b+,不需要再计算b+了,因此值为1,a为2,b为0.4.2 if 语句和用if语句构成的选择结构 1. 简单 if 语
4、句的一般形式为:if () 如果条件为真,if 语句执行一个语句或一组语句; 如果条件为假,则执行 if 语句后面的语句(如果有)。if () else 如果条件为真,执行 if 后面的一个语句或一组语句; 如果条件为假,则执行 else 后面的语句。2. if-else 语句的一般形式为:语句的一般形式为:# include void main() int num1, num2, sum; printf(n请输入两个数:); scanf(%d %d, &num1,&num2); sum = num1+ num2 ; if(sum 100) printf(n两数的和大于 100
5、 n );简单if语句的示例内存内存num1num2sum5678134请输入两个数:56 78两数的和大于 100#include void main()int num;printf(n请输入一个整数:); scanf (%d,&num);if(num % 2) = 0)printf(%d 是一个偶数。n,num); elseprintf(%d 是一个奇数。n,num);if-else语句的示例内存内存num57请输入一个整数:5757 是一个奇数。多重ifv要处理多重条件判断的情况,需要使用多重条件结构3.多重条件结构嵌套 ifswitch结构多重条件结构多重条件结构if (表达式
6、1)语句1;else if (表达式2)语句2;else if (表达式3)语句3;.else 语句n;v多重 if 结构是if-else 的另一种形式 ,这种形式也称为阶梯式 if-else-if 多重 if 结构真真 假 真真假真真 假 多重 if 结构示例问题描述:编写一个程序,根据用户输入的期末考试成绩,输出相应的成绩评定信息。成绩大于等于90分输出“优”;成绩大于等于80分小于90分输出“良”;成绩大于等于60分小于80分输出“中”;成绩小于60分输出“差”。 #include void main()float grade;printf(n 请输入期末考试成绩: );scanf(%f
7、, &grade);if(grade=90)printf(n 优);else if (grade=80) & (grade=60) & (grade80)printf(n 中);else printf(n 差);printf(n); 内存内存grade59请输入期末考试成绩:59差嵌套 if 结构就是将整个 if 块插入另一个 if 块中嵌套 if 结构1.在if子句中嵌套具有else子句的if语句if (表达式1) if(表达式2)语句1 else 语句2else 语句3#includevoid main()int a,b;printf(n 请输入 a 和 b 的值:
8、 );scanf(%d%d,&a,&b);if(a!=b) if(ab)printf(n abn);elseprintf(n abn);elseprintf(n a=bn); 嵌套 if 结构的示例内存内存ab6893输出:a100) value=50;else value=100;value = num 100 ? 50 : 100;(1)(0)条件表达式使用使用“if-else”的等同代码的等同代码 假设 num = 200 value = num 100;? 50 : 100200value=50说明:说明:1. .结合方向为结合方向为 自右向左自右向左2.2.! 算术算
9、术 关系关系 逻辑与逻辑与& & 逻辑或逻辑或| | ? :? : = =习题 4.6条件运算符示例问题描述:个人所得税收取规定:工资大于1000元的部分将扣除5的个人所得税。小于1000元的部分不扣除个人所得税。要求用户输入基本工资,计算税后工资。 #include void main()double sal;double rate;printf(n 请输入基本工资:);scanf(%lf,&sal);rate= (salc&b=c2、a|b+c&b-c3、!(ab)&c|1 答案:1、0 2、1 3、1解题思想:1、&一面为假就为假,那么b=c(很容易判断出来)2、3、 2题和3题中,只要知道|的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- dcapdca循环管理方法
- InteproSystems英特普罗公司介绍
- GATT与WIO多边贸易体制下的无条件最惠国待遇
- GPS与GIS在物流中的作用封顺
- HR2劳动合同管理实训
- Linux下音频设备编程
- 2026年测绘工程设计师《测绘工程管理》模拟卷
- 2026年通观全文分析题目含义及答案
- 岩棉卷棉施工方案
- 2026年注册测绘师考试大地测量学技术规范试卷
- 山东省土地发展集团有限公司笔试内容
- 职工文体活动组织开展管理办法
- LNG加气站安全操作规程标准
- 电工高级工培训
- 医院防溺水急救培训课件
- 适老化居家环境设计与改造(第二版) 课件全套
- 助贷协议合同范本
- BMS电池管理系统方案技术文档
- DB52∕T 1694-2022 医疗机构营养健康食堂建设管理规范
- 开学第一课 课件-2025-2026学年统编版道德与法治八年级上册
- “筑梦航天”青少年航天知识大赛试题与答案
评论
0/150
提交评论