收藏 分销(赏)

项目选择结构程序设计.ppt

上传人:w****g 文档编号:2997005 上传时间:2024-06-12 格式:PPT 页数:115 大小:635.04KB
下载 相关 举报
项目选择结构程序设计.ppt_第1页
第1页 / 共115页
项目选择结构程序设计.ppt_第2页
第2页 / 共115页
项目选择结构程序设计.ppt_第3页
第3页 / 共115页
项目选择结构程序设计.ppt_第4页
第4页 / 共115页
项目选择结构程序设计.ppt_第5页
第5页 / 共115页
点击查看更多>>
资源描述

1、项目目选择结构程序构程序设计项目三项目三 选择结构程序设计选择结构程序设计第三部分第三部分 实验学习实验学习 3第一部分第一部分 任务学习任务学习 1第二部分第二部分 项目学习项目学习 22021/2/282项目三项目三 选择结构程序设计选择结构程序设计 在你的人生中,曾经面对什么选择?你们现在有没有思考过毕业之后是工作还是继续上学呢?学在你的人生中,曾经面对什么选择?你们现在有没有思考过毕业之后是工作还是继续上学呢?学编程还是不学编程呢?当你不知向何处走时,会抬头看看路牌,当某个方向满足了要求,则会向那个编程还是不学编程呢?当你不知向何处走时,会抬头看看路牌,当某个方向满足了要求,则会向那个

2、方向走去。在程序设计中,当某条件成立时执行某段程序;不成立时执行另一段程序,此时,即为选方向走去。在程序设计中,当某条件成立时执行某段程序;不成立时执行另一段程序,此时,即为选择结构,可使用择结构,可使用ifif或或switchswitch语句完成该功能。本章从实例分析着手,使读者了解并掌握语句完成该功能。本章从实例分析着手,使读者了解并掌握C C语言选择结构,语言选择结构,加深对加深对C C语言程序开发设计过程的感性认识,强化培养编程思路,为语言程序开发设计过程的感性认识,强化培养编程思路,为2021/2/283项目三项目三 选择结构程序设计选择结构程序设计进一步进行进一步进行C C语言程序

3、设计打下基础。语言程序设计打下基础。【学习目标学习目标】(1)(1)掌握关系运算符、逻辑运算符和条件运算符的用法。掌握关系运算符、逻辑运算符和条件运算符的用法。(2)(2)掌握选择结构程序设计的方法。掌握选择结构程序设计的方法。(3)(3)能够画出选择结构的流程图。能够画出选择结构的流程图。(4)(4)能够用选择结构程序设计解决实际问题。能够用选择结构程序设计解决实际问题。2021/2/284第一部分第一部分 任任 务务 学学 习习 二、单分支选择语句二、单分支选择语句 一、双分支选择语句一、双分支选择语句 三、逻辑运算符三、逻辑运算符 四、多分支选择语句四、多分支选择语句ifelseifel

4、se 五、嵌套五、嵌套ifif语句语句 六、六、switchswitch语句语句 七、七、switchswitch语句中多个语句中多个casecase语句相同情况语句相同情况 的处理的处理 2021/2/285第一部分第一部分 任任 务务 学学 习习 一、双分支选择语句一、双分支选择语句体重测量仪改进版体重测量仪改进版【问题提出问题提出】在日常的生活中经常会碰到两种不同的情况,需要分两支处理的问题。例如,如果学生所有考试在日常的生活中经常会碰到两种不同的情况,需要分两支处理的问题。例如,如果学生所有考试都及格了,就可以升级,否则就要留级;痞子蔡说,如果我有一双翅膀,我就会飞过来看你,否则我都及

5、格了,就可以升级,否则就要留级;痞子蔡说,如果我有一双翅膀,我就会飞过来看你,否则我就不能来看你。在就不能来看你。在C C语言中这类问题需要用选择结构中的双分支选择结构语言中这类问题需要用选择结构中的双分支选择结构if.elseif.else语句来完成。语句来完成。2021/2/286第一部分第一部分 任任 务务 学学 习习【工作任务工作任务】编写一个体重测量仪:要求从键盘输入身高和体重后,能够计算出体重指数。体重指数编写一个体重测量仪:要求从键盘输入身高和体重后,能够计算出体重指数。体重指数=体重体重(kg)/(kg)/(身高身高)2)2;要求实现这样的判断:如果体重指数;要求实现这样的判断

6、:如果体重指数2525,属于正常;否则属于肥胖。,属于正常;否则属于肥胖。【思路指导思路指导】输入:身高、体重。输入:身高、体重。输出:体重指数。输出:体重指数。2021/2/287第一部分第一部分 任任 务务 学学 习习 定义变量:定义变量:float weightfloat weight,heightheight,indexindex。处理:体重指数处理:体重指数=体重体重(kg)/(kg)/(身高身高(米米)2)2,即,即index=weight/(height*height)index=weight/(height*height)。判断条件:判断条件:index25index25。两执

7、行语句:如果两执行语句:如果index25index25,输出,输出“You are rightYou are right!”。否则输出。否则输出“You are fat!”You are fat!”。选择结构的流程图如图选择结构的流程图如图3-13-1所示。所示。2021/2/288第一部分第一部分 任任 务务 学学 习习 图图3-1 3-1 选择结构流程图选择结构流程图 2021/2/289第一部分第一部分 任任 务务 学学 习习【解决方案】【解决方案】#include void main()float weight,height,index;printf(n请输入你的体重请输入你的体重:

8、);scanf(%f,&weight);printf(n 请输入你的身高请输入你的身高(米米):);scanf(%f,&height);index=weight/(height*height);printf(The index of your weight is:%f,index);if(index25)printf(You are right!);else printf(You are fat!);2021/2/2810第一部分第一部分 任任 务务 学学 习习【运行情况运行情况】选择结构程序运行结果如图选择结构程序运行结果如图3-23-2所示。所示。【归纳分析归纳分析】(1)(1)关系运算符

9、和关系表达式。关系运算符和关系表达式。图图3-2 3-2 选择结构程序运行结果选择结构程序运行结果 2021/2/2811第一部分第一部分 任任 务务 学学 习习 index25 index25是关系表达式,其中是关系表达式,其中(、=、=大于大于优先级相同,高于优先级相同,高于=和和!=!=大于或等于大于或等于 小于小于=(num3num4)(num1+num2)(num3num4)真真(num1+num2)=(num3+num4)(num1+num2)=(num3+num4)假假num=40num=40;num/10!=2num/10!=2;真真num1=2num1=2;num1=num4

10、num1=num4;假假注:在关系表达式中不要把关系运算符注:在关系表达式中不要把关系运算符“=”=”误写成误写成“=”=”。“a=4”a=4”是赋值表达式,则不管是赋值表达式,则不管a a的原来值是多的原来值是多少,表达式少,表达式“a=4”a=4”的结果永远为真的结果永远为真”,因为赋值表达式的值是左边变量得到的值。,因为赋值表达式的值是左边变量得到的值。2021/2/2813第一部分第一部分 任任 务务 学学 习习 (2)if.else (2)if.else语句。语句。1)if.else 1)if.else语句形式。语句形式。if(if(表达式表达式)语句组语句组1 1 else els

11、e 语句组语句组2 2 2)2)执行过程。执行过程。判断表达式的值,如果表达式值为真,则执行花括号括起来的语句组判断表达式的值,如果表达式值为真,则执行花括号括起来的语句组1 1,然后继续执行选择结构下,然后继续执行选择结构下面的语句;如果面的语句;如果2021/2/2814第一部分第一部分 任任 务务 学学 习习 表达式值为假,则执行花括号括起来的语句组表达式值为假,则执行花括号括起来的语句组2 2,然后继续执行选择结构下面的语句。,然后继续执行选择结构下面的语句。3)3)注意。注意。无论是单分支选择语句,还是双分支选择语句,如果语句组只有一个语句,可以省略无论是单分支选择语句,还是双分支选

12、择语句,如果语句组只有一个语句,可以省略,否则,否则花括号必须存在。因为,在没有花括号的情况下,花括号必须存在。因为,在没有花括号的情况下,C C编译系统能够识别的语句序列只有一句。编译系统能够识别的语句序列只有一句。if if后面的表达式一定要有括号。后面的表达式一定要有括号。if if和和elseelse同属于一个同属于一个ifif语句,语句,elseelse不能作为语句单不能作为语句单2021/2/2815第一部分第一部分 任任 务务 学学 习习 独使用,它只是独使用,它只是ifif语句的一部分,与语句的一部分,与ifif配对使用,因此程序中不可以没有配对使用,因此程序中不可以没有ifi

13、f而只有而只有elseelse。只能执行与只能执行与ifif有关的语句或者执行与有关的语句或者执行与elseelse有关的语句,而不可能同时执行两者。有关的语句,而不可能同时执行两者。ifif语句的表达式可以是任意类型语句的表达式可以是任意类型C C语言的合法表达式,但计算结果必须为整型、字符型或浮点型语言的合法表达式,但计算结果必须为整型、字符型或浮点型之一。之一。(4)(4)其执行过程如图其执行过程如图3-33-3所示。所示。2021/2/2816第一部分第一部分 任任 务务 学学 习习 图图3-3 ifelse3-3 ifelse语句执行过程语句执行过程 2021/2/2817第一部分第

14、一部分 任任 务务 学学 习习【技能训练技能训练】商场为了提高效益,规定一次性购买物品总价超过商场为了提高效益,规定一次性购买物品总价超过10001000元,就会对物品总价打元,就会对物品总价打7 7折,一次性购买折,一次性购买物品总价低于物品总价低于10001000元,就会对物品总价打元,就会对物品总价打9 9折。为该商场设计一个收费程序。折。为该商场设计一个收费程序。2021/2/2818第一部分第一部分 任任 务务 学学 习习 程序代码如下:程序代码如下:#include void main()float x,y;printf(输入你所买物品总价格输入你所买物品总价格:);scanf(%

15、f,&x);if(x1000)y=x*0.7;else y=x*0.9;printf(你所要支付的价格你所要支付的价格%.1fn,y);2021/2/2819第一部分第一部分 任任 务务 学学 习习 图图3-4 3-4 收费程序运行结果收费程序运行结果 程序运行结果如图程序运行结果如图3-43-4所示。所示。2021/2/2820第一部分第一部分 任任 务务 学学 习习 二、单分支选择语句二、单分支选择语句身高预测身高预测【问题提出问题提出】在日常生活中还会经常碰到单分支的情况。例如,学校举办在日常生活中还会经常碰到单分支的情况。例如,学校举办C C语言辅导班,期中考试成绩低于语言辅导班,期中

16、考试成绩低于6060分分的同学必须要参加,对其他的同学不提出任何要求。该问题的特点是只有当某条件成立时才需要处理,的同学必须要参加,对其他的同学不提出任何要求。该问题的特点是只有当某条件成立时才需要处理,否则不处理。在否则不处理。在C C语言中,处理这种问题时使用省略语言中,处理这种问题时使用省略elseelse的的ifif语句。语句。2021/2/2821第一部分第一部分 任任 务务 学学 习习【工作任务】【工作任务】每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人

17、后身高的因素有遗传、饮食习惯和体育锻炼情况等。小孩成人后的身高与其父母的身高和自身的性成人后身高的因素有遗传、饮食习惯和体育锻炼情况等。小孩成人后的身高与其父母的身高和自身的性别密切相关。别密切相关。设设faHeightfaHeight为其父身高,为其父身高,moHeightmoHeight为其母身高,身高预测公式为:为其母身高,身高预测公式为:男性成人时身高男性成人时身高=(faHeight+moHeight)*0.54(cm)=(faHeight+moHeight)*0.54(cm)女性成人时身高女性成人时身高=(faHeight*0.923+moHeight)/2(cm)=(faHeig

18、ht*0.923+moHeight)/2(cm)此外,如果喜爱体育锻炼,则可增加身高此外,如果喜爱体育锻炼,则可增加身高2%2%;如果有;如果有2021/2/2822第一部分第一部分 任任 务务 学学 习习 良好的卫生饮食习惯,则可增加身高良好的卫生饮食习惯,则可增加身高1.5%1.5%。【思路指导】【思路指导】输入:性别输入:性别(用字符型变量用字符型变量sexsex存储,输入字符存储,输入字符F F表示女性,输入字符表示女性,输入字符M M表示男性表示男性)、父母身高、父母身高(用实型用实型变量存储,变量存储,faHeight faHeight为其父身高,为其父身高,moHeightmoH

19、eight为其母身高为其母身高)、是否喜爱体育锻炼、是否喜爱体育锻炼(用字符型变量用字符型变量sportssports存存储,输入字符储,输入字符Y Y表示喜爱,输入字符表示喜爱,输入字符N N表示不喜爱表示不喜爱)、是否有良好的饮食习惯、是否有良好的饮食习惯(用字符型变量用字符型变量dietdiet存储,输存储,输入字符入字符Y Y表示喜爱,输入字符表示喜爱,输入字符N N表示不喜爱表示不喜爱)。输出:身高。输出:身高。处理:利用给定公式和身高预测方法对身高进行预测。处理:利用给定公式和身高预测方法对身高进行预测。2021/2/2823第一部分第一部分 任任 务务 学学 习习 判断条件:性别

20、男还是女、是否喜爱体育锻炼、是否有良好的饮食习惯。判断条件:性别男还是女、是否喜爱体育锻炼、是否有良好的饮食习惯。2021/2/2824第一部分第一部分 任任 务务 学学 习习【解决方案】【解决方案】#include void main()char sex;/*孩子性别孩子性别*/char sports;/*是否喜欢体育运动是否喜欢体育运动*/char diet;/*是否有良好的饮食习惯是否有良好的饮食习惯*/float myHeight;/*孩子身高孩子身高*/float faHeight;/*父亲身高父亲身高*/float moHeight;/*母亲身高母亲身高*/printf(你是男孩你

21、是男孩(M)还是女孩还是女孩(F);scanf(%1s,&sex);printf(你输入你爸爸的身高你输入你爸爸的身高(cm):);2021/2/2825第一部分第一部分 任任 务务 学学 习习 scanf(%f,&faHeight);printf(你输入你妈妈的身高你输入你妈妈的身高(cm):);scanf(%f,&moHeight);printf(你是否喜欢体育锻炼你是否喜欢体育锻炼(Y/N);scanf(%1s,&sports);printf(是否有良好的饮食习惯等条件是否有良好的饮食习惯等条件(Y/N);scanf(%1s,&diet);if(sex=M)myHeight=(faHei

22、ght+moHeight)*0.54;else myHeight=(faHeight*0.923+moHeight)/2.0;if(sports=Y)myHeight=myHeight*(1+0.02);2021/2/2826第一部分第一部分 任任 务务 学学 习习 if(diet=Y)myHeight=myHeight*(1+0.015);printf(Your future height will be%f(cm)n,myHeight);2021/2/2827第一部分第一部分 任任 务务 学学 习习【运行情况运行情况】身高预测程序运行结果如图身高预测程序运行结果如图3-53-5所示。所示。

23、图图3-5 3-5 身高预测程序运行结果身高预测程序运行结果 2021/2/2828第一部分第一部分 任任 务务 学学 习习【归纳分析归纳分析】(1)if (1)if语句形式:语句形式:if(if(表达式表达式)语句组语句组 (2)(2)执行过程:如果表达式的值为真,则执行其后的语句组,否则不执行该语句组。执行过程:如果表达式的值为真,则执行其后的语句组,否则不执行该语句组。(3)(3)其执行过程如图其执行过程如图3-63-6所示。所示。2021/2/2829第一部分第一部分 任任 务务 学学 习习 图图3-6 3-6 单分支选择语句执行过程单分支选择语句执行过程 2021/2/2830第一部

24、分第一部分 任任 务务 学学 习习【技能训练技能训练】在奥运会体操决赛中最后有在奥运会体操决赛中最后有3 3个优胜者,现在编程把这个优胜者,现在编程把这3 3个优胜者的成绩由低到高进行排序。个优胜者的成绩由低到高进行排序。2021/2/2831第一部分第一部分 任任 务务 学学 习习 程序代码如下:程序代码如下:#include void main()float a,b,c;float t;printf(请输入三个运动员的成绩请输入三个运动员的成绩);scanf(%f%f%f,&a,&b,&c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c

25、;c=t;printf(n分数由低到高分别是:分数由低到高分别是:%5.2f,%5.2f,%5.2fn,a,b,c);2021/2/2832第一部分第一部分 任任 务务 学学 习习 图图3-7 3-7 成绩排序程序运行结果成绩排序程序运行结果 程序运行结果如图程序运行结果如图3-73-7所示。所示。2021/2/2833第一部分第一部分 任任 务务 学学 习习 三、逻辑运算符三、逻辑运算符电梯控制程序电梯控制程序【问题提出问题提出】在处理问题的时候经常需要同时判断多个条件。例如,警察在档案库中搜索符合条件在处理问题的时候经常需要同时判断多个条件。例如,警察在档案库中搜索符合条件(如身高如身高1

26、.80m1.80m以上,年龄以上,年龄4545岁以下的男性岁以下的男性)的犯人档案时,需要使用逻辑运算符。的犯人档案时,需要使用逻辑运算符。2021/2/2834第一部分第一部分 任任 务务 学学 习习【工作任务工作任务】电梯厂商为了提高电梯的利用率,需要一个控制程序,实现如下功能:输入楼层数,如果楼层是电梯厂商为了提高电梯的利用率,需要一个控制程序,实现如下功能:输入楼层数,如果楼层是1 15 5,显示提示,显示提示“请走楼梯!请走楼梯!”;如果楼层是;如果楼层是6 61515,显示提示,显示提示“请进电梯!请进电梯!”;如果输入的是;如果输入的是1 11515之之外的数据,显示提示外的数据

27、,显示提示“本楼只有本楼只有1 11515层,输入数据错误,请重新输入!层,输入数据错误,请重新输入!”。2021/2/2835第一部分第一部分 任任 务务 学学 习习【思路指导思路指导】(1)(1)输入楼层数输入楼层数x x。(2)if(x)(2)if(x)在在1 11515之外,显示提示之外,显示提示“本楼只有本楼只有115115层,输入数据错误,请重新输入!层,输入数据错误,请重新输入!”;if(x)if(x)在在1 15 5之间,显示提示之间,显示提示“请走楼梯!请走楼梯!”;if(x)if(x)在在6 61515之间,显示提示之间,显示提示“请进电梯!请进电梯!”。2021/2/28

28、36第一部分第一部分 任任 务务 学学 习习【解决方案】【解决方案】#include void main()int x;printf(请输入你所到的楼层数请输入你所到的楼层数);scanf(%d,&x);if(x15)printf(本楼只有本楼只有115层,输入数据错误,请重新输入!层,输入数据错误,请重新输入!n);if(x=1&x=6&x、=、=大于、大于等于、小于、小于等于大于、大于等于、小于、小于等于自左向右自左向右!=!=、=不等于、等于不等于、等于自左向右自左向右&逻辑与逻辑与自左向右自左向右|逻辑或逻辑或自左向右自左向右=、+=+=、-=-=、/=/=、%=%=赋值运算符,复合赋

29、值运算符赋值运算符,复合赋值运算符自右至左自右至左,逗号运算符逗号运算符自左向右自左向右2021/2/2841第一部分第一部分 任任 务务 学学 习习 1)1)与运算与运算“&”&”。参与运算的两个量都为真时,结果才为真,否则为假。参与运算的两个量都为真时,结果才为真,否则为假。二级二级C C语言考试的时候,只有笔试和机试都考过去的时候,你的这次考试才算成功,可以用一个表语言考试的时候,只有笔试和机试都考过去的时候,你的这次考试才算成功,可以用一个表格来表示这之间的关系,见表格来表示这之间的关系,见表3-53-5。表表3-5 3-5 二级二级C C过关情况过关情况 笔试笔试机试机试二级二级C

30、C过关情况过关情况表达式表达式1 1与与表达式表达式2 2结果结果不及格不及格不及格不及格失败失败0 0&0 00 0不及格不及格及格及格失败失败0 0&1 10 0及格及格不及格不及格失败失败1 1&0 00 0及格及格及格及格成功成功1 1&1 11 12021/2/2842第一部分第一部分 任任 务务 学学 习习 2)2)或运算或运算“|”|”。参与运算的两个量只要有一个为真,结果就为真;两个量都为假时,结果为假。参与运算的两个量只要有一个为真,结果就为真;两个量都为假时,结果为假。现在买东西支付的方式有很多种,你只要用任何一种方式支付就可以,可以用一个表格来表示这之现在买东西支付的方式

31、有很多种,你只要用任何一种方式支付就可以,可以用一个表格来表示这之间的关系,见表间的关系,见表3-63-6。表表3-6 3-6 支付情况支付情况 钱钱信用卡信用卡支付情况支付情况表达式表达式1 1或或表达式表达式2 2结果结果没有没有没有没有失败失败0 0|0 00 0有有没有没有成功成功1 1|0 01 1没有没有有有成功成功0 0|1 11 1有有有有成功成功1 1|1 11 12021/2/2843第一部分第一部分 任任 务务 学学 习习 3)3)非运算非运算“!”!”。参与运算量为真时,结果为假;参与运算量为假时,结果为真。参与运算量为真时,结果为假;参与运算量为假时,结果为真。(4)

32、(4)逻辑表达式。逻辑表达式。1)1)逻辑表达式是用逻辑运算符将两个表达式连接起来的式子。逻辑表达式是用逻辑运算符将两个表达式连接起来的式子。2)2)逻辑表达式也只有两个值,分别是逻辑表达式也只有两个值,分别是0 0和和1 1。逻辑表达式结果非。逻辑表达式结果非0 0,非,非0 0为真,真为为真,真为1 1;逻辑表达式结;逻辑表达式结果为果为0 0,0 0为假,假为为假,假为0 0。阅读下面这个程序,分析程序结果。阅读下面这个程序,分析程序结果。2021/2/2844第一部分第一部分 任任 务务 学学 习习#include void main()int a=-5,i,j,k,l,m;float

33、 b=0.01;i=!a;j=a&b;k=a|b;l=(53&2|84-!0);m=a9;printf(i=%d,j=%d,k=%d,l=%d,m=%dn,i,j,k,l,m);运行结果:运行结果:i=0,j=1,k=1,l=1,m=0 2021/2/2845第一部分第一部分 任任 务务 学学 习习 3)3)短路特性。逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑短路特性。逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。运算符才能求出表达式的解时,才执行该运算符。逻辑与运算符逻辑与运算符“&”&”。如

34、逻辑表达式如逻辑表达式a&b&ca&b&c,执行过程是:当,执行过程是:当a a为为0 0时,时,b b和和c c不需要再判断,逻辑与运算符将不再执行,不需要再判断,逻辑与运算符将不再执行,结果为结果为0 0,否则还要继续后边的运算。,否则还要继续后边的运算。逻辑或运算符逻辑或运算符“|”|”。如逻辑表达式如逻辑表达式a|b|ca|b|c,执行过程是:当,执行过程是:当a a为非为非0 0时,时,b b和和2021/2/2846第一部分第一部分 任任 务务 学学 习习 c c不需要再判断,逻辑或运算符将不再执行,其结果为不需要再判断,逻辑或运算符将不再执行,其结果为1 1,否则继续执行后面的运

35、算。,否则继续执行后面的运算。阅读下面这个程序,分析程序结果。阅读下面这个程序,分析程序结果。#include void main()int a,b=0,c=0,d=0;scanf(%d,&a);d=a&(b=5)&(c=3);printf(a=%d,b=%d,c=%d,d=%dn,a,b,c,d);运行结果:运行结果:2021/2/2847第一部分第一部分 任任 务务 学学 习习 输入:输入:1 输出:输出:a=1,b=5,c=3,d=1 输入:输入:0 输出:输出:a=0,b=0,c=0,d=0 4)4)熟练的将现实生活中的条件转换为熟练的将现实生活中的条件转换为C C条件表达式,是编写选

36、择程序的基础。体会下列常用的条件表达式,是编写选择程序的基础。体会下列常用的C C语语言条件表达式。言条件表达式。关系式关系式1x51x5:x=1&x=1&x0&b0|a0&b0&b0|a0&b0a*b0。a a、b b同时为零:同时为零:a=0&b=0,a=0&b=0,或者或者a*a+b*b=0a*a+b*b=0。x x是字母:是字母:(x=a&x=A&x=a&x=A&x=a)&(ch=a)&(ch=a&ch=a&ch=z。chch是空格或者回车:是空格或者回车:ch=|ch=nch=|ch=n。numbernumber是偶数:是偶数:number%2=0number%2=0。yearyea

37、r是闰年:是闰年:(year%4=0&year%100!=0)|(year%400=0)(year%4=0&year%100!=0)|(year%400=0)。【技能训练技能训练】输入三角形三边长,求三角形面积。输入三角形三边长,求三角形面积。程序代码如下:程序代码如下:2021/2/2849第一部分第一部分 任任 务务 学学 习习#include#include void main()float a,b,c,l,s;printf(请输入三边长请输入三边长a,b,c的值:的值:);scanf(%f,%f,%f,&a,&b,&c);if(a0&b0&c0&a+bc&b+ca&a+cb)l=(a+

38、b+c)/2;s=sqrt(l*(l-a)*(l-b)*(l-c);printf(s=%.2fn,s);else printf(你所输入的数据有问题你所输入的数据有问题!n);2021/2/2850第一部分第一部分 任任 务务 学学 习习 程序运行结果如图程序运行结果如图3-93-9所示。所示。图图3-9 3-9 求三角形面程序运行结果求三角形面程序运行结果 2021/2/2851第一部分第一部分 任任 务务 学学 习习 四、多分支选择语句四、多分支选择语句ifelseifelse体重测量仪改进版体重测量仪改进版【问题提出问题提出】一个人站在交叉路口正在思考:这么多条路让我选择我到底应该选择哪

39、条路呢?他通过看路牌,然一个人站在交叉路口正在思考:这么多条路让我选择我到底应该选择哪条路呢?他通过看路牌,然后选择了一条能够到达自己目的地的路。例如,评分等级为后选择了一条能够到达自己目的地的路。例如,评分等级为A A、B B、C C、D D,如果分数大于等于,如果分数大于等于8585,则为,则为A A级,否则级,否则(分数小于分数小于85)85)继续判断;如果分数大于等于继续判断;如果分数大于等于7575,则为,则为B B级,否则级,否则(分数小于分数小于75)75)继继2021/2/2852第一部分第一部分 任任 务务 学学 习习 续判断;如果分数大于等于续判断;如果分数大于等于6060

40、,则为,则为C C级,否则级,否则(分数小于分数小于60)60)为为D D级。这个问题不是一个或者两个的选择,级。这个问题不是一个或者两个的选择,而是多分支的选择,在而是多分支的选择,在C C语言中可以选用多分支选择语句语言中可以选用多分支选择语句if-elseif-else来解决这类问题。来解决这类问题。2021/2/2853第一部分第一部分 任任 务务 学学 习习【工作任务工作任务】编写一个体重测量仪:要求从键盘输入身高和体重后,能够计算出体重指数。编写一个体重测量仪:要求从键盘输入身高和体重后,能够计算出体重指数。体重指数体重指数=体重体重(kg)/(kg)/(身高身高)2)2。要求实现

41、如下的判断。要求实现如下的判断。偏瘦:体重指数偏瘦:体重指数1818。正常:正常:18=18=体重指数体重指数2525。微胖:微胖:25=25=体重指数体重指数3030。较胖:较胖:30=30=体重指数体重指数3535。肥胖:肥胖:35=35=体重指数体重指数40=40=40。2021/2/2854第一部分第一部分 任任 务务 学学 习习【思路指导思路指导】输入:身高、体重。输入:身高、体重。输出:体重指数。输出:体重指数。定义变量:定义变量:float weight,height,index;float weight,height,index;。处理:体重指数处理:体重指数=体重体重(kg)

42、/(kg)/(身高身高)2;)2;。判断条件:判断条件:如果体重指数小于如果体重指数小于1818,偏瘦,偏瘦 否则如果体重指数小于否则如果体重指数小于2525,标准,标准 否则如果体重指数小于否则如果体重指数小于3030,微胖,微胖 否则如果体重指数小于否则如果体重指数小于3535,较胖,较胖 否则如果体重指数小于否则如果体重指数小于4040,肥胖,肥胖 否则很胖否则很胖 2021/2/2855第一部分第一部分 任任 务务 学学 习习【解决方案解决方案】#include void main()float weight,height,index;printf(n 请输入你的体重请输入你的体重:)

43、;scanf(%f,&weight);printf(n 请输入你的身高请输入你的身高(米米):);scanf(%f,&height);index=weight/(height*height);printf(The index of your weight is:%f,index);if(index18)printf(偏瘦偏瘦!n);else if(index25)printf(标准标准!n);else if(index30)printf(微胖微胖!n);else if(index35)printf(较胖较胖!n);else if(index40)printf(肥胖肥胖!n);else prin

44、tf(很胖很胖!n);2021/2/2856第一部分第一部分 任任 务务 学学 习习【运行情况运行情况】程序运行结果如图程序运行结果如图3-103-10所示。所示。图图3-10 3-10 多分支选择语句程序运行结果多分支选择语句程序运行结果 2021/2/2857第一部分第一部分 任任 务务 学学 习习【归纳分析归纳分析】(1)(1)要处理多重条件判断的情况,需要使用多分支选择结构,如图要处理多重条件判断的情况,需要使用多分支选择结构,如图3-113-11所示。所示。图图3-11 3-11 多分支选择结构多分支选择结构 2021/2/2858第一部分第一部分 任任 务务 学学 习习 (2)(2

45、)多分支多分支ifelseifelse语句。语句。1)1)一般形式为:一般形式为:if(表达式表达式1)语句组语句组1 else if(表达式表达式2)语句组语句组2 else if(表达式表达式3)语句组语句组3 else if(表达式表达式n)语句组语句组n else 语句组语句组n+1 2)2)执行过程。执行过程。如果表达式如果表达式1 1为真,执行花括号括起来的语句组为真,执行花括号括起来的语句组1 1,然后,然后2021/2/2859第一部分第一部分 任任 务务 学学 习习 自动退出多分支语句结构,继续执行选择结构下面的语句。自动退出多分支语句结构,继续执行选择结构下面的语句。如果表

46、达式如果表达式1 1为假,不执行花括号括起来的语句组为假,不执行花括号括起来的语句组1 1,再来判断表达式,再来判断表达式2 2是否为真。是否为真。如果表达式如果表达式2 2为真,执行花括号括起来的语句组为真,执行花括号括起来的语句组2 2,然后自动退出多分支语句结构,继续执行选择结,然后自动退出多分支语句结构,继续执行选择结构下面的语句。构下面的语句。如果表达式如果表达式2 2为假,不执行花括号括起来的语句组为假,不执行花括号括起来的语句组2 2,再来判断表达式,再来判断表达式3 3是否为真。是否为真。依此类推依此类推如果所有的条件都不成立,则执行最后一个如果所有的条件都不成立,则执行最后一

47、个elseelse下的语句组下的语句组n+1n+1,然后继续执行选择,然后继续执行选择结构下面的语句。结构下面的语句。2021/2/2860第一部分第一部分 任任 务务 学学 习习 3)3)多分支多分支ifelseifelse语句的执行过程如图语句的执行过程如图3-123-12所示。所示。图图3-12 3-12 多分支多分支ifelseifelse语句的执行过程语句的执行过程 2021/2/2861第一部分第一部分 任任 务务 学学 习习【技能训练技能训练】从键盘输入一个学生的分数,要求实现这样的判断功能:从键盘输入一个学生的分数,要求实现这样的判断功能:如果分数大于如果分数大于100100,

48、输出,输出“Input error!”“Input error!”;如果分数介于如果分数介于100100到到9090之间,输出之间,输出“Very Good!”“Very Good!”;如果分数介于如果分数介于8080到到9090之间,输出之间,输出“Good!”“Good!”;如果分数介于如果分数介于7070到到8080之间,输出之间,输出“Middle!”“Middle!”;如果分数介于如果分数介于6060到到7070之间,输出之间,输出“Pass!”“Pass!”;如果分数小于如果分数小于6060,输出,输出“No Pass!”“No Pass!”。程序代码如下:程序代码如下:2021/

49、2/2862第一部分第一部分 任任 务务 学学 习习#include void main()float score;printf(please input a number:n);scanf(%f,&score);if(score100)printf(Input error!);else if(score=90)printf(very good!);else if(score=80)printf(good!);else if(score=70)printf(middle!);else if(score=60)printf(pass!);else printf(no pass!);2021/2/

50、2863第一部分第一部分 任任 务务 学学 习习 图图3-13 3-13 考试通过情况判断程序进行结果考试通过情况判断程序进行结果 程序运行结果如图程序运行结果如图3-133-13所示。所示。2021/2/2864第一部分第一部分 任任 务务 学学 习习 五、嵌套五、嵌套ifif语句语句求解分段函数求解分段函数【问题提出问题提出】在日常生活中,经常遇到两个分支的问题,也经常遇到其中一个分支或两分支中又包含另外分支的在日常生活中,经常遇到两个分支的问题,也经常遇到其中一个分支或两分支中又包含另外分支的问题。例如,在一个交叉路口选择一条路线,过了该交叉口,又遇到另一个交叉路口。程序设计中也经问题。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服