C语言程序设计课件0905选择结构程序设计.ppt
《C语言程序设计课件0905选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计课件0905选择结构程序设计.ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、选择结构程序设计课程:程序设计语言课程:程序设计语言教材:谭浩强教材:谭浩强C C程序设计第三版程序设计第三版教师:陈小荷教师:陈小荷本章重点n n掌握关系运算符、逻辑运算符的优先次序,理解条件表达式的意义。n n掌握if语句的四种形式,能针对具体问题正确运用。n n理解switch语句的控制结构,能正确运用。关系运算符 小于 大于 优先级高(6)=大于或等于=等于 优先级低(7)!=不等于关系表达式n n比较两个运算数,表达式成立则值为1(true),否则值为 0(false):x y /未知 x+5 x/1(true)x+5=x /1(true)关系运算符与算术运算符n n算术运算符的优先
2、级是算术运算符的优先级是3 3(乘除余)和(乘除余)和4 4(加减)(加减)n n以下两个表达式的值是多少?以下两个表达式的值是多少?10+(20 10)*10010+(20 10)*100n n以下四个表达式,如果要加括号,并且不能改变以下四个表达式,如果要加括号,并且不能改变原来的优先次序,应该怎么加?原来的优先次序,应该怎么加?10+20 25,10+20 z x*y z z=x y,z!=x y z 的值是多少?如果它们的值分别是 1、3、5 呢?n n数学书上 x y z 的意思是 x大于y,y大于z,这个意思用C语言来表达,应该是:x y&y z关系运算符和赋值运算符n n重温:赋
3、值运算符的优先级低(14)n nx=y z 等价于下面哪个表达式?(x=y)z x=(y z)n n若 x,y,z 的初值分别是 5,3,1,下面表达式的值是多少?x=y z 逻辑值表第一行是标题。以第二行为例,读法是:第一行是标题。以第二行为例,读法是:若若a a真真b b真,则非真,则非a a和非和非b b均假,均假,a&b a&b 为真,为真,a|b a|b 亦为真。亦为真。逻辑表达式求值是自左至右的,一旦发现已经可以根据一个运算数求逻辑表达式求值是自左至右的,一旦发现已经可以根据一个运算数求值,就不会再对第二个运算数求值。例如,在值,就不会再对第二个运算数求值。例如,在 a&b a&b
4、 中,如果已知中,如果已知a a假,则整个逻辑表达式为假,不必再考虑假,则整个逻辑表达式为假,不必再考虑b b的值的值逻辑运算符的优先级和结合方向n n逻辑反的结合方向是自右至左,其他逻辑运算符的结合方向均为自左至右n n逻辑非!,优先级2n n算术运算符,优先级3和4n n关系运算符,优先级6和7n n逻辑与&,优先级11n n逻辑或|,优先级12n n赋值运算符,优先级14表达式求值假定以下变量假定以下变量 a,b,c,d a,b,c,d 的值分别是的值分别是 0,1,2,3 0,1,2,3,变量变量 x x 和和 y y 的值未知,请对下列表达式求值:的值未知,请对下列表达式求值:n n
5、x=y&10 12 x=y&10=y&x!=xx=y&x!=xn na b|3 1 a b|3 1 n na x-1 a x-1 n na&b|c&d a&b|c&d n na&(b|c)&da&(b|c)&d表达式求值假定 a,b,c 的值分别是 3,4,5n n a+b c&b=cn n(a+b)c)&(b=c)n n a|b+c&b cn n!(a b)&!c|1n n!(x=a)&(y=b)&0n n!(a+b)+c 1&b+c/2练习写一些表达式n n判断是否“及格”(60分及格)n n判断是否“英文字母”n n判断是否“小写英文字母或阿拉伯数字”n n判断是否“能被4整除”n n判
6、断是否“能被4整除但不能被100整除”n n判断是否“闰年”形式1:if(e)s;n n是否执行s,取决于e的值 n nsample:输入g,0,两个printf语句的执行情况如何?#include if(isletter(ch)/*判断ch是否字母*/printf(“%c is a letter n”,ch);printf(“thank you.n”);形式2:if(e)s1;else s2;n ne的值非 0,执行 s1,否则执行 s2n nsample:输入g,0,两个printf 语句的执行情况如何?if(isletter(ch)printf(“%c is a letter n”,ch
7、);else printf(“%c is not a letter n”,ch);s 可以是一个复合语句n nsample:三个变量的排序(升序)if(ab)tmp=a;a=b;b=tmp;if(ac)tmp=a;a=c;c=tmp;if(bc)tmp=b;b=c;c=tmp;形式3:多分枝的if语句n n注意下面语句的逻辑关系:注意下面语句的逻辑关系:if(n500)cost=0.15;if(n500)cost=0.15;else if(n300)cost=0.10;else if(n300)cost=0.10;else if(n100)cost=0.075;else if(n100)cos
8、t=0.075;else if(n50)cost=0.05;else if(n50)cost=0.05;else const=0.0;else const=0.0;n n例如,第二行相当于说:例如,第二行相当于说:if(n300)cost=0.10;if(n300)cost=0.10;n n如果按如果按n n值从小到大的顺序来写多分枝的值从小到大的顺序来写多分枝的if if语句,语句,应该怎么写?应该怎么写?形式4:嵌套的if语句n nif(e)s1;else s2 if(e)s1;else s2 中,中,s1s1或或s2s2本身又是一个本身又是一个if if语句语句n n形式形式3 3也是嵌
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课件 0905 选择 结构 程序设计
限制150内