第四章 选择分支结构程序设计优秀课件.ppt
《第四章 选择分支结构程序设计优秀课件.ppt》由会员分享,可在线阅读,更多相关《第四章 选择分支结构程序设计优秀课件.ppt(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章选择分支结构程序设计第1页,本讲稿共83页C语言程序设计语言程序设计例:例:银行存款的例子银行存款的例子 设银行定期存款年利率设银行定期存款年利率raterate 一年一年 3.8 3.8 二年二年 4.50 4.50 三年三年 5.22 5.22 五年及以上五年及以上 5.76 5.76 并已知存款期为并已知存款期为n n年,存款本金为年,存款本金为capitalcapital元,编程元,编程计算计算n n年后本息之和年后本息之和depositdeposit.第2页,本讲稿共83页C语言程序设计语言程序设计例:用例:用C语言实现图示的分段函数。语言实现图示的分段函数。sin(x)/xx
2、=0y=1x=01.分析问题(分析问题(建立数学模型,选择公式建立数学模型,选择公式),确定算法。确定算法。输入输入x;判断判断x值;值;根据根据x值,计算值,计算y值;值;输出输出y值。值。显然显然顺序结构不能实现,需用选择结构。顺序结构不能实现,需用选择结构。第3页,本讲稿共83页C语言程序设计语言程序设计2.写出算法描述写出算法描述第4页,本讲稿共83页C语言程序设计语言程序设计3.编写程序:用计算机语言写出实现算法的程序。编写程序:用计算机语言写出实现算法的程序。#include#include#include#includevoid main()void main()float x,
3、y;float x,y;printf(“Enter x:”);printf(“Enter x:”);scanf(“%f”,&x);scanf(“%f”,&x);if(xif(x!=0.0)=0.0)y=sin(x)/x;y=sin(x)/x;else else y=1;y=1;printf(“x=%5.2fty=%7.2fn”,x,y);printf(“x=%5.2fty=%7.2fn”,x,y);第5页,本讲稿共83页C语言程序设计语言程序设计3.编写程序:用计算机语言写出实现算法的程序。编写程序:用计算机语言写出实现算法的程序。#include#include#include#includ
4、evoid main()void main()float x,y;float x,y;printf(“Enter x:”);printf(“Enter x:”);scanf(“%f”,&x);scanf(“%f”,&x);if(xif(x!=0.0)=0.0)y=sin(x)/x;y=sin(x)/x;else else y=1;y=1;printf(“x=%5.2fty=%7.2fn”,x,y);printf(“x=%5.2fty=%7.2fn”,x,y);第6页,本讲稿共83页C语言程序设计语言程序设计4.输入(编辑)程序输入(编辑)程序,编译、连接、执行程序编译、连接、执行程序,输出输出
5、结果(测试)结果(测试)第7页,本讲稿共83页C语言程序设计语言程序设计n选择结构是三种基本结构(顺序、选择、循环)之一。选择结构是三种基本结构(顺序、选择、循环)之一。n选选择择结结构构的的特特点点是是:程程序序的的流流程程是是由由多多条条支支路路构构成成的的,在在程程序序的的一一次次执执行行过过程程中中,根根据据不不同同的的情情况况,只只有有一一条条支支路路被被选择执行,而其它支路上的语句被直接跳过。选择执行,而其它支路上的语句被直接跳过。n在在C C语言中,提供了语言中,提供了ifif语句和语句和switchswitch语句来实现选择结构。语句来实现选择结构。第8页,本讲稿共83页4.1
6、关系运算符和关系表达式关系运算符和关系表达式411关系运算符及其优先次序关系运算符及其优先次序1.关系运算:是对两个量进行关系运算:是对两个量进行“比较运算比较运算”。2.关系运算符:关系运算符:第9页,本讲稿共83页4.1关系运算符和关系表达式关系运算符和关系表达式411关系运算符及其优先次序关系运算符及其优先次序 3.关于优先级别:关于优先级别:n前前4种关系运算符的优先级别相同,后两种也相同。种关系运算符的优先级别相同,后两种也相同。前前4种高于后两种。种高于后两种。n算术运算符、算术运算符、关系运算符、赋值运算符。关系运算符、赋值运算符。高高低低第10页,本讲稿共83页4.1关系运算符
7、和关系表达式关系运算符和关系表达式4.1.1关系运算符及其优先次序关系运算符及其优先次序例:例:ca+b等价于等价于c(a+b);关系运算符的优先级低于算术运算符;关系运算符的优先级低于算术运算符ab=c等价于等价于(ab)=c;“”优先级高于优先级高于“=”a=bc等价于等价于a=(bc);“c等价于等价于a=(bc);关系运算符的优先级高于赋值运算符。;关系运算符的优先级高于赋值运算符。第11页,本讲稿共83页4.1关系运算符和关系表达式关系运算符和关系表达式4.1.2关系表达式关系表达式1.用关系运算符将两个表达式(算术、关系、逻辑、用关系运算符将两个表达式(算术、关系、逻辑、赋值表达式
8、等)连接起来的有意义的表达式,称为关赋值表达式等)连接起来的有意义的表达式,称为关系表达式。系表达式。如:如:x!=0;a=A;a*a+b*ba+b;a=bc;a=bb&xy等价于等价于(ab)&(xy)a=b|x=y等价于等价于(a=b)|(x=y)!a|ab等价于等价于(!a)|(ab)第17页,本讲稿共83页4.2 4.2 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式4.2.2逻辑表达式逻辑表达式1.逻辑量:当一个量(可以是基本类型的常量或变量)逻辑量:当一个量(可以是基本类型的常量或变量)用作判断的时候,用作判断的时候,C编译系统认为:编译系统认为:非非0真,真,0假假2.逻辑表达式:
9、用逻辑运算符(逻辑与、逻辑或、逻逻辑表达式:用逻辑运算符(逻辑与、逻辑或、逻辑非)将关系表达式或逻辑量连接起来的有意义的表辑非)将关系表达式或逻辑量连接起来的有意义的表达式叫逻辑表达式。达式叫逻辑表达式。第18页,本讲稿共83页4.2 4.2 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式4.2.2逻辑表达式逻辑表达式3.逻辑表达式的值逻辑表达式的值:真(真(1),假(),假(0)。)。4.C语言编译系统在给出逻辑运算结果时,以语言编译系统在给出逻辑运算结果时,以1代表代表“真真”,以,以0代表代表“假假”,但在判断一个量是否为,但在判断一个量是否为“真真”时,以时,以0代表代表“假假”,以非,
10、以非0代表代表“真真”(即认为一个(即认为一个非非0的数值是的数值是“真真”)。)。第19页,本讲稿共83页4.2 4.2 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式4.2.2逻辑表达式逻辑表达式例:例:若若a=4,则则!a值为值为0(假)。(假)。若若a=4,b=5,则则a&b值为值为1(真)(真),a|b值为值为1(真)(真),!a|b值值为为1(真)(真)4&0|2值为值为1(真)(真)c&d(真)值为(真)值为1第20页,本讲稿共83页4.2 4.2 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式4.2.2逻辑表达式逻辑表达式例:计算:例:计算:53&2|8a)|(m=a22.x1+a
11、并并yb3.的定义域的定义域nfabs(x)2或或x2|x-2nx=1+a&y=2|x=0&x!=0第26页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式1.条件执行条件执行if(表达式表达式)语句语句if(p)A第27页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式1.if(p)A例:例:if(xy)printf(“%d”,x);例:例:if(xy)t=a;a=b;b=t;第28页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式n复合语句:用一对花括号复合语句:用一对花括号包围起来的一条包围起来的一条和多条语句。和多
12、条语句。复合语句的形式:复合语句的形式:语句语句1;语句语句2;语句语句3;第29页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式 复合语句在选择结构,循环结构中经常用到。我们在逻复合语句在选择结构,循环结构中经常用到。我们在逻辑上把复合语句看成是一条语句。辑上把复合语句看成是一条语句。第30页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式例:要求用户输入一个实数,然后求出这个实数的绝对值。例:要求用户输入一个实数,然后求出这个实数的绝对值。第31页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式2.分支执行分支执行i
13、f(表达式表达式)语句语句1else语句语句2即即if(p)AelseB当当P为真时(非为真时(非0)执行执行A,否则执行否则执行B或后续语句。或后续语句。第32页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式2.分支执行分支执行例:例:if(a0)printf(“Aisapositiven”);elseprintf(“Aisnotapositiven”);nA和和B可以使单一语句,也可以是复合语句。可以使单一语句,也可以是复合语句。nelse部分不能独立存在部分不能独立存在,前面一定有;和前面一定有;和if语句。语句。第33页,本讲稿共83页4.3if语句语句4.3
14、.1if语句三种形式语句三种形式注意:注意:n在在if和和else后面可以是单条语句,也可以是复合语后面可以是单条语句,也可以是复合语句,如果使用了复合语句,一定要用花括号括起来,句,如果使用了复合语句,一定要用花括号括起来,语句块后面不要语句块后面不要“;”号。号。第34页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式例如:例如:if(a+bc&b+ca&c+ab)s=0.5*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“%f”,area);elseprintf(“itisnotatriangle”);第35页,本讲稿共
15、83页4.3if语句语句4.3.1if语句三种形式语句三种形式n在在C语言中,表达式语言中,表达式P的值是非的值是非0时,系统均按真时,系统均按真值处理。值处理。例例(1)if(a)printf(“ok!”);(2)x=-5;if(x)printf(“ok!”);(3)y=0;if(y=0)printf(“ok!”);if(y)printf(“ok!”);第36页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式nelse子句不能单独使用,必须是子句不能单独使用,必须是if语句的一部分,语句的一部分,与与if配对使用。配对使用。(缩排的格式缩排的格式)例:例:if(n6)
16、if(n12)printf(“n大于大于6且小雨且小雨12n”);elseprintf(“n小于等于小于等于6n”);第37页,本讲稿共83页4.3if语句语句例:以下程序运行后的输出结果是例:以下程序运行后的输出结果是。main()inta=1,b=3,c=5;if(c=a+b)printf(yesn);elseprintf(non);yes第38页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式例:比较例:比较a和和b的大小,并将大值赋给的大小,并将大值赋给max,并打印并打印出出max的值。的值。编程步骤:编程步骤:1.确定算法,画出流程图;确定算法,画出流程图;
17、2.写出程序;写出程序;3.上机编译;上机编译;4.测试。测试。第39页,本讲稿共83页4.3if语句语句4.3.1 if4.3.1 if语句三种形式语句三种形式#include (#include (注意程序的缩排注意程序的缩排)void main()void main()float a,b,max;float a,b,max;printf(please input a,b:);printf(please input a,b:);scanf(%f%f,&a,&b);scanf(%f%f,&a,&b);if(ab)if(ab)printf(nabn);printf(nabn);max=a;ma
18、x=a;else else printf(a=bn);printf(a=bn);max=b;max=b;printf(printf(“nmax=%fn,max);nmax=%fn,max);第40页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式例:从键盘上输入例:从键盘上输入a,b,c三个数,按从大到小输出。三个数,按从大到小输出。(难点:交换数据算法难点:交换数据算法)第41页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式#includevoidmain()inta,b,c,t;printf(“Entera,b,c:”);scanf(“%d
19、%d%d”,&a,&b,&c);if(ab)/*t-临时变量临时变量*/t=a;a=b;b=t;/*交换交换a,b*/if(ac)t=a;a=c;c=t;if(b=90优秀优秀score=80良好良好score=70中等中等score=60及格及格score60不及格不及格第45页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式#includevoidmain()floatscore;printf(“inputscore:”);scanf(“%f”,&score);if(score=90)printf(“Excellent!n”);elseif(score=80)pri
20、ntf(“Good!n”);elseif(score=70)printf(“Middle!n”);elseif(score=60)printf(“Pass!n”);elseprintf(“Fail!n”);第46页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式例:模拟超市的优惠购物。根据顾客购物数以及例:模拟超市的优惠购物。根据顾客购物数以及所购商品单价计算顾客应付金额,计算中要进行优所购商品单价计算顾客应付金额,计算中要进行优惠打折。具体打折规定是:惠打折。具体打折规定是:购物超过购物超过10件按件按8折优惠;折优惠;购物超过购物超过100件,按件,按7折优惠。折优
21、惠。第47页,本讲稿共83页4.3if语句语句4.3.1if语句三种形式语句三种形式#includestdio.h#definerate11.0#definerate20.8#definerate30.7voidmain()intnum;floatprice,money;printf(pleaseinputmumandprince:);scanf(%d%f,&num,&price);if(num100)money=rate3*price*num;elseif(num10)money=rate2*price*num;elsemoney=rate1*price*num;printf(moneyis
22、%f,money);第48页,本讲稿共83页4.3if语句语句4.3.2 4.3.2 ifif语句的嵌套语句的嵌套 ifif语句的嵌套:语句的嵌套:ifif语句的语句的ifif块或块或elseelse块中,又块中,又包含一个包含一个ifif语句。语句。if()if()语句语句1;else语句语句2;elseif()语句语句3;else语句语句4;注意:应当注意注意:应当注意if与与else的配对关的配对关系。系。else总是与它总是与它上面上面的的最近最近的的未配对未配对的的if配对。特别是配对。特别是if/else子句数目不一样时(子句数目不一样时(if子句数量子句数量只会大于或等于只会大于
23、或等于else子句数量)子句数量)第49页,本讲稿共83页4.3if语句语句4.3.2 4.3.2 ifif语句的嵌套语句的嵌套 例:编一个程序,例:编一个程序,输入输入x,输出输出y。输入x yx-3?n y=x-1yn输出y。#include#includevoidmain()floatx,y;scanf(“f%”,&x);if(x-3)y=x-1;elseif(x=3)y=sqrt(9-x*x);elsey=log10(x);printf(/n“%f%f/n”,x,y);第50页,本讲稿共83页4.3if语句语句4.3.2 4.3.2 ifif语句的嵌套语句的嵌套比较例:比较例:1.if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四章 选择分支结构程序设计优秀课件 第四 选择 分支 结构 程序设计 优秀 课件
限制150内