C语言第3章课件.ppt.ppt
《C语言第3章课件.ppt.ppt》由会员分享,可在线阅读,更多相关《C语言第3章课件.ppt.ppt(59页珍藏版)》请在三一文库上搜索。
1、第3章 分支结构程序设计,3.1 关系运算符和关系表达式 3.2 逻辑运算符和逻辑表达式 3.3 if语句 3.4 switch语句,例题链接,例题链接,例3.5,例3.4,例3.6,例3.7,例3.9,例3.10,例3.11,例3.12,例3.1,例3.2,例3.3,例3.13,例3.8,3.1 关系运算符和关系表达式,3.1.1 关系运算符 3.1.2 关系表达式,P56,所谓“关系运算”实际上是“比较运算”。将两个值进行比较,判断其比较的结果是否符合给定的条件。,3.1.1 关系运算符,共6种: 、=、=、0” 隐含 x 的值是否大于0,P56,3.1.2 关系表达式,用关系运算符将两个
2、表达式(可以是算术表达式或关系表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称关系表达式。 例如,下面都是合法的关系表达式: ab, abbc, (a=3)(b=5), ab, (ab)(bc),P56,3.1.2 关系表达式,判断结果只有两种可能:“真”或“假” 关系成立为“真”,不成立为“假”,只能是 0或1,P56,x=1; printf(“%d”, x 0);,输出 1,【例3.1】假设a、b、x为整型变量,y为单 精度型变量,请观察输出结果。,x=1; a=x = 0; printf(“%d”,a);,假,输出 0,【例3.1】假设a、b、x为整型变量,y为单 精度型变
3、量,请观察输出结果。,x=3; a=x 0; b=x5; printf(“%d”, a=b );,真,a的值1,真,b的值1,输出1,【例3.1】假设a、b、x为整型变量,y为单 精度型变量,请观察输出结果。,x=-3; printf(“%d”,0 = x = 2) ;,假,0 = 2,输出1,注意:表达式0=x=2不能代表 x 的取值范围 0x2,【例3.1】假设a、b、x为整型变量,y为单 精度型变量,请观察输出结果。,真,y=45.3219; printf(“%d”,y=45.3219);,输出0,注意:存放在内存中的实型数总有误差 避免使用判断 “实型数”“实型数”这样的关系表达式。,
4、【例3.1】假设a、b、x为整型变量,y为单 精度型变量,请观察输出结果。,3.2 逻辑运算符和逻辑表达式,3.2.1 逻辑运算符 3.2.2 逻辑表达式,P57,3.2.1 逻辑运算符,& :逻辑与 x=0 & x3 (双目运算符, 结合方向:自左至右) ! : 逻辑非 ! (x3) (一目运算符, 结合方向:自右至左) 优先次序: !&|,P57,3.2.1 逻辑运算符,逻辑运算的真值表:,P57,a b ! a ! b a&b a|b 真 真 假 假 真 真 真 假 假 真 假 真 假 真 真 假 假 真 假 假 真 真 假 假,3.2.2 逻辑表达式,用逻辑运算符将关系表达式或逻辑量连
5、接起来的式子就是逻辑表达式。 判断结果只有两种可能:“真”或“假” 逻辑运算的结果为非零时:“真” 逻辑运算的结果为零时:“假”,也只能 是0或1,P58,【例3.2】逻辑表达式的示例。,x=1; printf(“%d “,x=0 ,x=5; printf(“%d “,x=0 ,输出1,输出0,输出1,x=5; printf(“%d “,!x); printf(“%d “,3 ,x=0; printf(“%d “,x3); printf(“%d “,!x);,输出0,输出1,输出0,输出1,输出1,输出x=2,逻辑运算的规则,&:两个运算量都为非零,结果是真,值为1;否则,结果是假,值为0 |
6、:至少有一个运算量为非零,结果是真,值为1;否则,结果为假,值为0 !:运算量为零,结果是真,值为 1;否则,结果为假,值为 0,逻辑表达式的求解,在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。 a & b & c只有a为真(非0)时,才需要判别b的值,只有a和b都为真的情况下才需要判别c的值。只要a为假,就不必判别b和c(此时整个表达式已确定为假)。如果a为真,b为假,不判别c。 a|b|c只要a为真(非0),就不必判断b和c;只有a为假,才判别b;a和b都为假才判别c。,也就是说,对&运算符来说,只有a0,才继续进
7、行右面的运算。对运算符来说,只有a=0,才继续进行其右面的运算。 因此,如果有下面的逻辑表达式: (m=ab) & (n=cd) 当a=1,b=2,c=3,d=4,m和n的原值为1时,由于“ab”的值为0, 因此m=0,而“n=cd”不被执行,因此n的值不是0而仍保持原值1。这点请大家注意。,【例3.3】编写一个含有特殊逻辑表达式的程序。,#include main( ) int a=1,b=0; printf(“%d “,0 ,a的值仍为1,a的值为2,b的值仍为1,b的值为2,运算的先后顺序:,! 算术运算符 关系运算符 & | 赋值运算符,先,后,3.3 if语句,3.3.1 if语句的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课件 ppt
链接地址:https://www.31doc.com/p-2143203.html