c语言第四章选择结构程序设计

上传人:小*** 文档编号:243139195 上传时间:2024-09-16 格式:PPT 页数:28 大小:963KB
返回 下载 相关 举报
c语言第四章选择结构程序设计_第1页
第1页 / 共28页
c语言第四章选择结构程序设计_第2页
第2页 / 共28页
c语言第四章选择结构程序设计_第3页
第3页 / 共28页
点击查看更多>>
资源描述
Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,C,程序设计(第三版),*,第四章,选择结构程序设计,主要内容,4.1,关系运算符和关系表达式,4.2,逻辑运算符和逻辑表达式,4.3,if,语句,4.4,条件表达式,4.5,switch,语句,4.1,关系运算符和关系表达式,1.,关系运算符及其优先次序, (,小于,), (,大于,),= (,大于或等于,),= (,等于,),!= (,不等于,),优先级相同(高),优先级相同(低),4.1,关系运算符和关系表达式,2.,关系表达式,用关系运算符将两个表达式(可以是算术表达式或,关系表达式,逻辑表达式,赋值表达式,字符表达式),接起来的式子,称关系表达式,例:,a+bb+c,(a=3)(b=5),ab)(bb,a=b,ab,abcd;,printf(“%d,%d”,d,e);,4.2,逻辑运算符和逻辑表达式,1.,逻辑运算符及其优先次序,(1)&,& (,逻辑与,),相当于其他语言中的,AND,(2)| (,逻辑或,),相当于其他语言中的,OR,(3)! (,逻辑非,),相当于其他语言中的,NOT,例:,a&b,若,a,b,为真,则,a&b,为真。,a|b,若,a,b,之一为真,则,a|b,为真。,!,a,若,a,为真,则,!a,为假。,优先次序:,!,(,非,)-&()-|(),逻辑运算符中的“,&”,和“,|”,低于,关系运算符,“,!”,高于,算,术运算符,4.2,逻辑运算符和逻辑表达式,2.,逻辑表达式,用逻辑运算符将关系表达式或逻辑量连接起来的式子就,是逻辑表达式。,逻辑表达式的值应该是一个逻辑量“真”或“假”。,例:,设,a=4,,,b=5,:,!a,的值为,a&b,的值为,a|b,的值为,!a|b,的值为,4&0|2,的值为,任何非零的数值被认作“真”,4.2,逻辑运算符和逻辑表达式,例:,53&84-!0,自左向右运算,1&0,逻辑值为,0,83,逻辑值为,1,表达式值为,0,4.2,逻辑运算符和逻辑表达式,在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。,(1)a&b&c,只有,a,为真时,才需要判断,b,的值,只有,a,和,b,都为真时,,才需要判断,c,的值。,(2)a|b|c,只要,a,为真,就不必判断,b,和,c,的值,只有,a,为假,才,判断,b,。,a,和,b,都为假才判断,c,例,:,(m=ab)&(,n=cd),a=1,b=2,c=3,d=4,m=1,n=1,m= n=,4.3,if,语句,1.if,语句的三种基本形式,(1)if,(,表达式) 语句,例:,int a=25,b=38,max;,max=a;,if(ab),max=b;,printf(“max=%d”,max);,表达式,语句,真(非,0,),假,(,0,),4.3,if,语句,(2)if(,表达式,),语句,1,else,语句,2,例:,if (xy),printf,(“%d”,x);,else,printf,(“%d”,y);,条件,语句,1,语句,2,Y,N,4.3,if,语句,(3)if,(,表达式,1,)语句,1,else if(,表达式,2),语句,2,else if(,表达式,3),语句,3,else if(,表达式,m),语句,m,else,语句,n,4.3,if,语句,例:,if (number500)cost=0.15;,else if(number300)cost=0.10;,else if(number100)cost=0.075;,else if(number50)cost=0.05;,else cost=0;,4.3,if,语句,说明:,(1),3,种形式的,if,语句中在,if,后面都有表达式,,一般为,逻辑表达式,或,关系表达式,。,(,2),在,if,和,else,后面可以只含有一个内嵌的操,作语句,也可以由多个操作语句,此时用花,括号将几个语句括起来成为一个复合语句。,4.3,if,语句,2.if,语句的嵌套,在,if,语句中又包含一个或多个,if,语句称为,if,语句的嵌套。,形式:,if,(),if(),语句,1,else,语句,2,else,if(),语句,3,else,语句,4,内嵌,if,4.3,if,语句,匹配规则:,Else,总是与它上面的,最近的,统一复合语句中的,未配,对的,if,语句配对。,例:,if,(),if(),语句,1,else,语句,2,else,if(),语句,3,else,语句,4,例:,if,(),if(),语句,1,else,if(),语句,2,else,语句,3,当,if,和,else,数目不同时,可以加,花括号,来确定配对关系。,4.3,if,语句,-1 (,x0),算法,1,: 算法,1,:,输入,x,输入,x,若,x0,则,y=-1,若,x0,则,y=1,若,x=0,则,y=0,输出,y,若,x0,则,y=1,输出,y,4.3,if,语句,#include,main,(),int,x,y;,scanf,(“%d”,程序段,printf,(“x=%d,y=%dn”,x,y);,4.3,if,语句,上例中的程序段有四个,请判断哪个是正确的?,程序,1,: 程序,2,:,if(x=0),Y=-1; if(x0) y=1;,else,else y=0;,if(x,=0) y=0; else y=-1;,else,y=1;,程序,3:,程序,4:,Y=-1; y=0;,if(x,!=0) if(x=0),If(x,0) y=1;,if(x,0) y=1;,else,y=0;,else,y=-1;,正,确,正,确,4.4,条件表达式,条件运算符,格式: 表达式?表达式,表达式,功能: 判断,表达式,1,的值,如果成立就执行,表,达式,2,,否则就执行,表达式,3,使用场合:若在语句中,当被判别的表达式的,值为“真”或“假” 时,都执行一个赋值语,句且向,同一个变量,赋值时,可以用一个,条件运算符来处理。,4.4,条件表达式,例:, () ,=,;, ;,当,ab,时将,a,的值赋给,max,,当,ab,时将,b,的值赋给,max,,,可以看到无论,ab,是否满足,都是向同一个变量赋值。,可以用下面的条件运算符来处理:,(,)?,;,4.4,条件表达式,说明:,(1),条件运算符的执行顺序:先求解表达式,若为非(真)则求解表达式,此时表达式的值就作为整个条件表达式的值。若表达式的值为(假),则求解表达式,表达式的值就是整个条件表达式的值。,(2),条件运算符优先级高于赋值运算符 ,低于关系运算符,和算术运算符。,(3),条件运算符的结合方向为“自右至左”。,ab?a:cd?c:d a=1,b=2,c=3,d=4,等价于,ab?a:,(,cd?c:d,),4.5,条件表达式,(,4)“,表达式,2”,和“表达式,3”,不仅可以是数值表达式,还可以是赋值表达式或函数表达式。,(5),条件表达式中,表达式的类型可以与表达式和表达式的类型不同。,eg:ab?(a=10),:(b=10);,4.5,switch,语句,switch,语句的格式:,switch,(,表达式),case,常量表达式:语句,case,常量表达式:语句,case,常量表达式:语句,default,:,语句,4.5,switch,语句,例,:,要求按照考试成绩的等级输出百分制分数段,用,switch,语句实现:,switch,(,grade,),case,printf,(,);,case,printf,(,);,case,printf,(,);,case,printf,(,);,default,(,printf,);,4.5,switch,语句,说明:,switch,后面括弧内的“表达式”, 标准允许它为任何类型。,(2),当表达式的值与某一个,case,后面的常量表达式的值相等时,就执行此,case,后面的语句,若所有的,case,中的常量表达式的值都没有与表达式的值匹配的,就执行,default,后面的语句。,(3),每一个,case,的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。,4.5,switch,语句,(4),各个,case,和,default,的出现次序不影响执行结,果。例如,可以先出现“,default,:,”,,,再出现,“,case,:,”,,然后是“,case,:,”,。,(5),执行完一个,case,后面的语句后,流程控制转移到下一 个,case,继续执行。“,case,常量表达式”只是起语句标号作用,并不是在条件判断。在执行,switch,语句时,根据,switch,后面表达式的值 找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。,应该在执行一个,case,分支后,可以用一个,break,语句来终止,switch,语句的执行。,(6),多个可以共用一组执行语句。,考试重点,1,、 用,if,语句实现选择结构。,2,、 用,switch,语句实现多分枝选择结构。,3,、 选择结构的嵌套。,分析:这部分主要讲解了选择结构程序设计,一般会出,2-3,个选择题和,2-3,个填空题。单支和多支选择的区别和作用,这部分知识会与后面的循环语句结合使用。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!