




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第五章选择结构设计程序设计,2,选择结构设计程序设计,关系运算符和关系表达式逻辑运算符和逻辑表达式if语句switch语句程序举例,3,关系运算符和关系表达式,4,关系运算符关系运算实际上是两个量的比较,比较的结果只有两种可能:真(1)、假(0)。例如:a3?当a=5时,比较的结果为真;当a=1时,结果为假。C语言提供6种关系运算符(大于)=(大于或等于)=(相等)!=(不等),选择结构程序设计关系运算符和关系表达式,优先级相同(高),优先级相同(低),等式运算符,5,选择结构程序设计关系运算符和关系表达式,关系运算符合法的4=6A+bbaba=ba=b-1(x+y)=!44,6,关于优先次序,=为同一级别,=和!=为同一级别。在同一级别中,采取由左至右的结合方向。,算术运算符,关系运算符,赋值运算符,高,低,例ca+bc(a+b)ab!=c(ab)!=ca=bca=(bc),等式运算符,选择结构程序设计系运算符和关系表达式,7,选择结构程序设计关系运算符和关系表达式,关系表达式用关系运算符将或者等式运算符两个表达式连接起来,叫关系表达式。合法的关系表达式:ab,a+bb+c,(a=3)(b=5),(a=3)(b=5),ab)(b=0的值为真(在计算机中记为1)。,8,选择结构程序设计关系运算符和关系表达式,关系表达式例:a=3,b=2,c=1,则:(1)ab的值为1(2)(ab)=c的值为真(即1)ab的值为1,c也为1,(ab)=c相当于1=1,结果为真,即(ab=c)的值为1。(3)b+cb中d的值为ab的值,为。(5)f=abc中f的值为c的值,为。,9,课堂练习,inti=1,j=2,k=3;doublex=5.5,y=7.7i=k+1x-y=j-k-1x+k+7=(k+1)1x-y=j-k-1(x-y)=(j-k)-1)1x+k+7y/k(x+k)+7)b)doublex=0.0,y=2.3;idoublex=0.0,y=2.3;iprintf(%d%dn,!xa+b+c,!x+!y);printf(%d%dn,a|b=x,00101110,25,例判断某一年是否是闰年。条件是:能被4整除,但不能被100整除;能被4整除,又能被400整除。用year表示年份,判断闰年的逻辑表达式为:(year%4=0错误:ifb=aarea=a*a;,29,合并,if(jk)min=j;if(j500)cost=0.2;elseif(money300)cost=0.15;elseif(money100)cost=0.1;elseif(money50)cost=0.05;elsecost=0;price=money-(money*cost);,34,选择结构程序设计if语句,if语句的说明If后面的表达式一般为关系表达式或逻辑表达式,但也可以是其它类型的数值;在每个else前面有一分号,整个语句结束处有一分号;3.if和else后面的语句可以是简单的也可以是复合语句(用扩起来的语句)。,例:if(a+bc),35,例输入两个数,按数值大小次序排列输出.main()floata,b,t;scanf(%f,%f,选择结构程序设计if语句,输入为3.6,-3.2输出为-3.20,3.60,36,选择结构程序设计if语句,If语句的嵌套嵌套的定义:在if语句中又包含一个或多个if语句。嵌套的一般形式:If()if()语句1else语句2Elseif()语句3else语句4(注意!If与else的配对关系。),37,嵌套注意的问题,if(a=1)if(b=2)printf(*);if(a=1)if(b=2)printf(*);elseprintf(#);else属于离它最近的并且能够匹配的if,38,例输入三个数,按由小到大次序排列并输出。main()flaota,b,c,t;scanf(%f,%f,%f,选择结构程序设计if语句,输入为:3,7,1输出为:1.00,3.00,7.00,39,选择结构程序设计if语句,输入为:4输出为:x=4,y=1,40,选择结构程序设计if语句,条件运算符max=(ab)?a:b;条件表达式当(ab)为真时,表达式取a的值当(ab)为假时,表达式取b的值条件运算符是三目运算符表达式1?表达式2:表达式3条件运算符的结合方向为从右向左例如:ab?a:cd?c:d相当于ab?a:(cd?c:d)如果a=1,b=2,c=3,d=4,则条件表达式的值为4。,41,例输入一个字符,判断大小写,如是大写,则转换成小写,输出。main()charchi;scarf(%c,printf(%c,ch),选择结构程序设计if语句,42,switch语句,43,选择结构程序设计switch语句,Switch语句是多分支选择语句,也叫开关语句或者选择语句。一般形式:switch(表达式)case常量表达式1:语句1;Break;case常量表达式2:语句2;Break;case常量表达式n:语句n;Break;default:语句n+1;,switch,语句1,语句2,语句n,语句n+1,表,达,式,常量1,常量2,常量n,default,(执行过程),44,选择结构程序设计switch语句,例根据成绩等级打出成绩范围.main()chargrade;printf(Enteryourgraden);scanf(%c,输入为B输出为7084,45,选择结构程序设计switch语句,46,选择结构程序设计switch语句,switch语句的说明条件表达式的类型和常量表达式的类型必须一致;switch后面的表达式一般情况下应该是有序型的量,目前学到的有序型是整数、字符。当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的值匹配,则执行default后面的语句。每一个case的常量表达式的值必须互不相同。多个case和default的出现次序不影响执行结果。case常量表达式只起语句标号作用;必须用break语句终止多个case连续执行,否则只要有一个case满足后,以下的语句全部无条件执行。多个case可共用一组执行语句。,47,选择结构程序设计switch语句,课堂练习给出百分制成绩,要求输出等级A,B,C,D,E。90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。思路:不能写成case80-89:.,因为case不能表示范围,成绩不能表示成常数表达式;将以上范围分别用常量表示:90-99-9,80-89-8,.;设分数为score,则score/10将范围变常量。,48,选择结构程序设计switch语句,main()intscore,num;chargrade;scanf(%d,输入为76输出为C,49,程序举例,50,选择结构程序设计程序举例,例写一程序判断某一年是否是闰年.main()intyear,leap;printf(输入年份:);scanf(%d,输入年份:2004输出为:2004isleapyear,51,选择结构程序设计程序举例,52,选择结构程序设计程序举例,例计算邮资。最低重量为1克,基本费为0.80元。每增加1克,增加邮费0.50元,加快费为2.00元。,53,#includemain()floatweight,postage;charfast;chara100;printf(npleaseinputthew
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论