收藏 分享(赏)

4、C语言选择结构.ppt

上传人:fmgc7290 文档编号:8436166 上传时间:2019-06-27 格式:PPT 页数:37 大小:681KB
下载 相关 举报
4、C语言选择结构.ppt_第1页
第1页 / 共37页
4、C语言选择结构.ppt_第2页
第2页 / 共37页
4、C语言选择结构.ppt_第3页
第3页 / 共37页
4、C语言选择结构.ppt_第4页
第4页 / 共37页
4、C语言选择结构.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、2019/6/27,1,第四章 选 择 结 构,2019/6/27,2,本章主要内容,4.1 工作场景导入,4.2 关系运算符与关系表达式,4.3逻辑运算符与逻辑表达式,4.4 if语句,4.5 switch语句,4.6 选择结构程序设计举例,4.7 回到工作场景,2019/6/27,3,4.1 工作场景导入,2019/6/27,4,【工作场景】 现有南京一家公司,其员工的保底薪水为500,该公司各部门的利润(profit,取整数)与利润提成都遵循以下原则:当profit小于等于1000时,没有提成,否则有提成;利润小于等于2000时提成10%;利润小于等于5000时候提成15%;利润小于等于

2、10000时提成20%;而超过10000时一律提成25%。试根据所给利润编程计算出员工该领的薪水,输出结果大致如下图所示。,2019/6/27,5,【引导问题】 (1) 如何表示判断信息以及对应的结果? (2) 如何运用if语句或switch语句实现? (3) 多分支语句如何使用?,2019/6/27,6,4.2 关系运算符与关系表达式,2019/6/27,7,4.2.1关系运算符,关系运算符用于比较大小,所谓关系运算实际上是“比较运算”,即进行两个数的比较,判断比较的结果是否满足给定的条件。C语言提供了6种关系运算符,如下表所示。,2019/6/27,8,(1) 、=的优先级别相同;=、!=

3、级别相同,前4种高于后两种。 (2) 关系运算符的优先级低于算术运算符。 (3) 关系运算符的优先级高于赋值运算符。 (4) 关系运算符是双目运算符,具有自左向右的结合性。,2019/6/27,9,4.2.2关系表达式,关系表达式是指用关系运算符将两个表达式连接起来进行关系运算的式子。其一般形式为: 表达式1 关系运算符 表达式2 关系运算符两边的运算对象可以是任意合法的表达式,如关系运算式、赋值表达式或逻辑表达式。 关系表达式的求值计算规定如下。 若关系表达式成立,其值为1或非0,否则为0;当一个关系表达式中同时出现关系运算符、算术运算符、赋值运算符时,必须按照先算术运算符,再关系运算符,最

4、后赋值运算符的顺序求整个表达式的值。,2019/6/27,10,4.3逻辑运算符与逻辑表达式,2019/6/27,11,C语言中提供了3种逻辑运算符: & (逻辑与)| (逻辑或)! (逻辑非) 1. 逻辑运算的值 逻辑运算的值也为“真”、“假”两种,用“1”和“0”来表示,规则如下。 与运算(&):当且仅当两个运算的值都“真”时,结果为真,否则结果假。或运算(|):两个运算的值有一个为“真”时,结果为真,全假时结果为假。非运算(!):当运算值“真”时,运算结果为假,否则为真。,4.3.1 逻辑运算符,2019/6/27,12,逻辑运算符的真值表如下表所示。,2019/6/27,13,2. 逻

5、辑运算符的优先级 逻辑与(&)高于逻辑或(|)的优先级,而逻辑非的优先级高于&。 例如a&b|(9-8)&!8,先计算!8的结果,然后在按照由左向右的顺序执行运算。我们学过了逻辑运算符、关系运算符、赋值运算符和算术运算符,下面将它们放在一起比较,结果如下:! 高算术运算符关系运算符& |赋值运算符 低,2019/6/27,14,用逻辑运算符将运算对象连接而成的式子称为逻辑表达式。逻辑表达式的值是式中各种逻辑运算的最后值,即最终整个表达式的结果。与关系表达式一样,逻辑表达式的运算结果也为1或0(真或假)。 逻辑表达式的一般形式为: 表达式 逻辑运算符 表达式 例如: 34 & 7%2 m*nm

6、| m !a & 0,4.3.2 逻辑表达式,2019/6/27,15,4.4 if语句,2019/6/27,16,1. 单分支选择语句 语句格式: if (表达式) 语句; 语句功能:根据表达式的结果来决定是否执行格式中的语句。如果表达式的结果为真,则执行语句,否则执行下一条语句,如右图所示。,4.4.1 if语句的三种格式,例如:从键盘输入一个整数,如果是偶数,则更新为它的两倍,输出此数。,2019/6/27,17,2双分支选择语句 语句格式: if (表达式) 语句1; else 语句2; 语句功能:如果表达式的值为真(即非0)则执行语句1,否则执行语句2。双分支选择语句的执行过程如右图

7、所示。,例如:从键盘输入一个整数,如果是偶数,则更新为它的两倍,否则减少为原来的一半。输出此数。,2019/6/27,18,练习,从键盘输入两个整数,判断两者的大小关系。 已知,一般车辆购置税计算公式为:车辆裸车总价1.1710%,而购买小排量汽车(1.6L及以下)的购置税的税率为购买大排量汽车税率的一半。编写程序,计算购买汽车时候需要缴纳的购置税为多少。,2019/6/27,19,3. 多分支选择语句 语句格式: if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; . else 语句n; 语句功能(else if结构):用于实现多分支

8、情况的处理。即在多个分支中仅执行表达式为非0值的那个if下的语句;若所有表达式都是0值,则执行最后一个else下的语句。最后一个else及其下面的语句也可以不存在。多分支选择语句的结构如右图所示。,2019/6/27,20,输入学生的成绩,根据分数输出学生的等级:90100(优秀)、8089(良好)、7079(中等)、6069(及格)、60分以下(不及格)。,#include int main() int cj;scanf(“%d“, ,2019/6/27,21,语句说明:if语句可以任意嵌套(即嵌套的位置任意,是不固定的)。,4.4.2 嵌套选择语句,嵌套具有else子句的if语句 if (

9、表达式1)if (表达式2) 语句序列1else 语句序列2,嵌套不含else子句的if语句 if (表达式1)语句序列1 else if (表达式2) 语句序列2,一般形式 if (表达式1)if (表达式2) 语句序列1else 语句序列2 elseif(表达式3) 语句序列3else 语句序列5,2019/6/27,22,if else 配对原则:缺省 时,else总是和它上面离它最近的未配对的if配对,2019/6/27,23,例: if (a=b)if(b=c)printf(“a=b=c”);elseprintf(“a!=b”);,修改: if (a=b) if(b=c)printf

10、(“a=b=c”);elseprintf(“a!=b”);,实现if else 正确配对方法:加 ,2019/6/27,24,请判断以下程序正误:, 例:有一函数,y=,1 (x0),程序2:将程序1的if语句改为: #include void main ( ) int x, y; scanf(“%d”, ,程序1: #include void main ( ) int x, y; scanf(“%d”, ,2019/6/27,25,程序4:将程序1的if语句改为:#include void main ( ) int x, y; scanf(“%d”, ,程序3:将程序1的if语句改为:#in

11、clude void main ( ) int x, y; scanf(“%d”, ,2019/6/27,26,条件运算符由“? :”组成,是C语言中唯一的三目运算符,因此要有三个运算对象。定义形式如下: 表达式1 ? 表达式2 : 表达式3条件表达式的执行过程为:当表达式1为真时,以表达式2的值作为整个条件表达式的值;反之,以表达式3的值为整个表达式的值。在if语句中,如果无论表达式是真还是假,都只给同一个变量赋值,这时就可以用简单的条件运算符来处理.,4.4.3 条件运算符,2019/6/27,27,4.5 switch语句,2019/6/27,28,5.3.1 switch多选择语句,2

12、019/6/27,29,5.3.1 switch多选择语句,多选择语句switch的格式: switch( 表达式) case E1:语句序列1;break;case E2:语句序列2;break;case En:语句序列 n;break;default:默认语句序列; ,语句说明: 首先计算表达式的值,然后依次与每一个case中常量表达式的值进行比较,一旦发现了某个匹配的值,就执行该case后面的语句组,直到执行了break语句为止。若没有匹配的值,则执行default后面的语句组。,2019/6/27,30,说明: switch后面表达式的值必须是整型或字符型。 E1,E2,En是常量表达

13、式,且值必须互不相同。 每个case语句的冒号后面可以是0条或多条语句,多条语句时,可以不加。 各case和default的顺序可以是任意的。 允许多个case语句使用同一语句序列. 每个case后面语句序列里的break语句可有可无,但执行效果不同 default语句不是必须的,2019/6/27,31,练习,从键盘输入1-7中的任意一个数字,然后输出它对应的星期数。 从键盘上输入月份(1-12),显示该月属于哪个季节? 春季:3-5; 夏季:6-8; 秋季:9-11; 冬季:12-2; 输入学生的成绩,输出学生的等级:90100(优秀)、8089(良好)、7079(中等)、6069(及格)

14、、60分以下(不及格),2019/6/27,32,4.6 选择结构程序设计举例,2019/6/27,33,例 从键盘输入3个小写字母,按照字母的顺序输出。例如:输入sdj,输出应该为djs。程序代码如下: #include main() char c1, c2, c3, ch; scanf(“%c,%c,%c“, 运行结果如右图所示。,2019/6/27,34,4.7 回到工作场景,2019/6/27,35,通过前面的学习,读者应该掌握了判断条件if和选择结构switch如何使用的基本方法,此时足以完成4.1节工作场景中的任务了。显然这里的判断条件就是利润的变化区间,对于不同的变化区间,给出对应的结果。,2019/6/27,36,1. 训练内容 编写程序,针对输入的件数,计算应付金额。具体要求是:某服装店经营套装,但允许单件出售,若购买数量不少于100套,每套80元,不足100套的每套90元,只买上衣每件60元,只买裤子每条35元。 2. 训练目的 懂得如何使用if-else和switch选择语句,以及二者如何一起使用。,4.8 工作实训营,2019/6/27,37,选择结构是程序设计的三种基本结构之一,C语言实现选择结构的语句有两种,即if和switch语句。本章主要讨论了它们的用法及相关内容。本章的知识结构如图4.19所示。,本 章 小 结,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报