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