第五章选择结构_第1页
第五章选择结构_第2页
第五章选择结构_第3页
第五章选择结构_第4页
第五章选择结构_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1本章内容51关系运算符和关系表达式52逻辑运算符和逻辑表达式53if语句54switch语句45格式输入与输出第五章选择结构程序设计返回2第五章逻辑运算和判断选取控制第五章选择结构程序设计§51关系运算符和关系表达式一、运算符与优先级(左结合性)<<=>>===!=同级同级高低算术运算关系运算赋值运算高低3第五章逻辑运算和判断选取控制二、关系表达式1、关系表达式的形式<表达式><关系运算符><表达式>2、关系表达式的值1——真0——假下列是合法的关系表达式:a+b>c+d(a=3)<(b=5)‘a’!=‘A’(a>b)==(c<d)注意:f=a<b<c

表达式的值。如:0<x<5

当x=10时,表达式成立4第五章逻辑运算和判断选取控制§52逻辑运算符和逻辑表达式一、运算符与优先级!算术运算关系运算||高低逻辑运算真值表5第五章逻辑运算和判断选取控制二、逻辑表达式1、逻辑表达式的值1——真0——假例:设a=4,b=5,则!a为0假ab-1为1真5>32||2<4-!0结果为1①②③④⑤⑥逆波兰表达式计算过程:从左到右,运算符和其后面的比较,级别底的和前面的数一起进栈,级别高的运算,最后全部出栈同时完成计算。6第五章逻辑运算和判断选取控制(m=a>b)(n=c>d)当a=1,b=2,c=3,d=4,m=1,n=1时,执行结果m=0,(n=c>d)不被执行,n仍然为13、运算中一旦能确定其值,终止计算如计算:

a&&b&&ca||b||c2、逻辑运算的对象并非仅限于逻辑量C判断处理的原则非0——真

0——假例if-5=10;else=0;思考题:上式去掉括号后m=a>bn=c>d结果如何7第五章逻辑运算和判断选取控制§53if语句(条件语句)一、语句格式任意表达式可以是复合语句格式1:ife语句格式2:ife语句1else语句2格式3:ife1语句1elseife2语句2elseife3语句3…elseifem语句melse语句n8第五章逻辑运算和判断选取控制二、语句功能格式1:if(e)语句计算

e的值并判断。e值非0,则执行语句;否则,执行下条语句。格式2:if(e)语句1else语句2计算

e

的值并判断。

e值非0,则执行语句1;否则,执行语句2。下条语句语句1语句2e非00下条语句e语句非00goto9第五章逻辑运算和判断选取控制格式3:ife语句1elseife语句2elseife语句3…elseife语句melse语句n123m计算e1的值并判断,其值非0执行语句1;否则,判断e2的值,其值非0执行语句2;否则,判断e3的值,其值非0执行语句3;否则,…判断em的值,其值非0执行语句m;否则,执行语句n00e1e3eme2语句1语句3语句2语句m语句n

下条语句非0非0非0非000….10第五章逻辑运算和判断选取控制例51从键盘输入两个整型数,输出最大数。main{inta,b;scanf“%d,%d”,a,b;ifa>=ba=%d\n”,a;ifb>aa=%d\n”,b;}开始enda,ba>ba<bab非0非00011第五章逻辑运算和判断选取控制例51从键盘输入两个整型数,输出最大数。main{inta,b;scanf“%d,%d”,a,b;ifb>aa=b;a=%d\n”,a;}开始enda,bb>aaa=b非0012第五章逻辑运算和判断选取控制例52输入两个整型数,按大小输出。main{inta,b,temp;}printf“%d,%d\n”,a,b;}开始enda,bb>aa,bab非0013第五章逻辑运算和判断选取控制例53输入互不相等的三个数,按从小到大顺序输出它们。分析:设已知的三个数为a,b,c。(1)可直接通过逻辑表达式和条件语句设计程序。(2)可通过条件语句和互换变量值设计程序,即经过处理后使:a<b<c14第五章逻辑运算和判断选取控制方法(1):main{floata,b,c;scanf“%f%f%f”,a,b,c;ifa<bb<cprintf“%f,%f,%f”,a,b,c;ifa<cc<bprintf“%f,%f,%f”,a,c,b;ifb<aa<cprintf“%f,%f,%f”,b,a,c;ifb<cc<aprintf“%f,%f,%f”,b,c,a;ifc<bb<aprintf“%f,%f,%f”,c,b,a;ifc<aa<bprintf“%f,%f,%f”,c,a,b;}15第五章逻辑运算和判断选取控制方法(2):main{floata,b,c,t;scanf“%f%f%f”,a,b,c;ifa>b{t=a;a=b;b=t;}ifa>c{t=a;a=c;c=t;}ifb>c{t=b;b=c;c=t;}printf“%,%,%”,a,b,c;}16例54求一元二次方程a2bc=0的解第五章逻辑运算和判断选取控制求x1、x2x1、x2endd>=0无实根yn开始d=b2-4aca,b,c开始求根:x1、x2x1、x2enda,b,cd=b2-4ac17第五章逻辑运算和判断选取控制include<mathh>main{floata,b,c,d,1,2;scanf“%f%f%f”,a,b,c;d=b*b-4*a*c;ifd>=0{1=-bsqrtd/2*a;2=-b-sqrtd/2*a;printf“1=%f,2=%f\n”,1,2;}elseprintf“Itisnorealroots”;}18第五章逻辑运算和判断选取控制,根据距离s的远近计费标准如下:s<250m 没有折扣 250s<500 2%折扣 500s<1000 5%折扣 1000s<2000 8%折扣 2000s<3000 10%折扣 3000s 15%折扣根据货物重量w和运距s,求运费f。返回19第五章逻辑运算和判断选取控制main{floatp,s,w,d,f;scanf“%f%f%f”,p,s,w;ifs>=3000d=015;elseifs>=2000d=010;elseifs>=1000d=008;elseifs>=500d=005;elseifs>=250d=002;elsed=00;f=p*w*s*1-d;printf“f=%”,f;}20第五章逻辑运算和判断选取控制三、if语句的嵌套嵌套if的一般形式ifif语句1else语句2elseif语句3else语句4内嵌if内嵌if注意:else总是与它上面最近的if配对21第五章逻辑运算和判断选取控制ifif语句1elseif语句2else语句3内嵌ififif语句1elseif语句2else语句3内嵌ififif语句1else语句2if{if语句1}else语句222第五章逻辑运算和判断选取控制分析:a=0不是二次方程。 b2-4ac=0有两个相等实根。b2-4ac>0有两不等实根。b2-4ac<0有两共轭复根。include“mathh”main{floata,b,c,d,,1,2,r,i;scanf“%f%f%f”,a,b,c;编程:例56求一元二次方程a2bc=0的解23第五章逻辑运算和判断选取控制求1、2求r、i1、2r、iNO!d=0d>0求yynnd=b-4ac2yna=0开始a,b,cend24第五章逻辑运算和判断选取控制iffabsa<1e-6pleroots:%f,%f”,r,i;}}}25第五章逻辑运算和判断选取控制四、条件运算符与条件表达式1、条件表达式的一般形式<表达式1>?<表达式2>:<表达式3>2、运算规则先计算表达式1,若为非0,则以表达式2的值作为条件表达式的值;否则,以表达式3的值为条件表达式的值。3、优先级算术关系逻辑运算!除外条件运算赋值运算高低右结合26第五章逻辑运算和判断选取控制1输出和y当中的最大值=>y:y;a=%d”,;或a=%d”,>y:y;或>yprintf“%d”,:printf“%d”,y;举例:2a>ba:b1等价于a>ba:b1而不是a>ba:b13a>ba:c>dc:d等价于a>ba:c>dc:d4>y1:56表达式的值的类型取高的5ch=ch>=‘A’ch<=‘’ch32:ch;27第五章逻辑运算和判断选取控制§54switch语句一、语句格式switch(表达式){case常量表达式1:语句1

case常量表达式2:语句2

……

case常量表达式n:语句ndefault:语句n+1}28第五章逻辑运算和判断选取控制二、执行过程当switch后的表达式的值与某一个case后的常量表达式的值相等时,执行其后的语句;若无匹配,则执行default后的语句。三、brea语句使流程跳出switch结构,终止switch语句的执行。29第五章逻辑运算和判断选取控制例57用switch语句设计“例55运费程序”跳转s<1d=01<s<2d=022<s<4d=0054<s<8d=0088<s<12d=0112<s d=01530第五章逻辑运算和判断选取控制main{floatp,w,s,d,f;intc;scanf“%f”,s;scanf“%f%f”,p,w;ifs>=3000c=12;elsec=s/250;switchc{case0:d=0;brea;case1:d=002;brea;case2:case3:d=005;brea;case4:

case5:case6:case7:d=008;brea;case8:case9:case10:case11:d=01;brea;case12:d=15;brea;}f=p*w*s*1-d;printf“f=%”,f;}31第五章作业第111页53、55、57上机调试作业第111-112页56、57第五章逻辑运算和判断选取控制32第五章逻辑运算和判断选取控制习题55已知,求分段函数值y main {float,y; scanf“%f”,; if<1y=; if>=1<10y=2*-1; if>=10y=3*-11; print

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论