C语言第3章课件-.ppt.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言第3章课件-.ppt.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课件 ppt
- 资源描述:
-
1、第第3 3章章 分支结构程序设计分支结构程序设计例题链接例题链接例题链接例题链接 例例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.83.1 3.1 关系运算符和关系表达式关系运算符和关系表达式 P56返回返回所谓所谓“关系运算关系运算”实际上是实际上是“比较运比较运算算”。将两个值进行比较,判断其。将两个值进行比较,判断其比较的结果是否符合给定的条件。比较的结果是否符合给定的条件。3.1.1 3.1.1 关系运算符关系运算符 、=、=、0”隐含隐含 x 的值是否大于的值是否大于0 P563.1.2 3.1.
2、2 关系表达式关系表达式用用关系运算符关系运算符将两个表达式将两个表达式(可以是算术表达可以是算术表达式或关系表达式、逻辑表达式、赋值表达式或关系表达式、逻辑表达式、赋值表达式、字符表达式式、字符表达式)连接起来的式子,称连接起来的式子,称关系关系表达式表达式。例如,下面都是合法的关系表达式:例如,下面都是合法的关系表达式:ab,abbc,(a=3)(b=5),ab,(ab)(bc)P563.1.2 3.1.2 关系表达式关系表达式n判断结果只有两种可能:判断结果只有两种可能:“真真”或或“假假”n关系成立为关系成立为“真真”,不成立为,不成立为“假假”只能是只能是0或或1表达式的值表达式的值
3、1 结果为结果为“真真”时时0 结果为结果为“假假”时时P56x=1;printf(“%d”,x 0);真真输出输出 1x=1;a=x=0;printf(“%d”,a);假假 输出输出 0 x=3;a=x 0;b=x5;printf(“%d”,a=b);真真 a的值的值1真真 b的值的值1真真 输出输出1x=-3;printf(“%d”,0=x=2);假假 0=2输出输出1注意:表达式注意:表达式0=x=0&x=2 (双目运算符(双目运算符,结合方向:自左至右)结合方向:自左至右)n|:逻辑或逻辑或 x3(双目运算符(双目运算符,结合方向:自左至右)结合方向:自左至右)n!:逻辑非逻辑非 !(
4、x3)(一目运算符(一目运算符,结合方向:自右至左)结合方向:自右至左)n优先次序:优先次序:!&|P573.2.1 3.2.1 逻辑运算符逻辑运算符逻辑运算的真值表:逻辑运算的真值表:P57 a b !a!ba&b a|b真真真真假假假假 真真 真真真真假假假假真真 假假 真真假假真真真真假假 假假 真真假假假假真真真真 假假 假假3.2.2 3.2.2 逻辑表达式逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起用逻辑运算符将关系表达式或逻辑量连接起来的式子就是来的式子就是逻辑表达式逻辑表达式。n判断结果只有两种可能:判断结果只有两种可能:“真真”或或“假假”n逻辑运算的结果为非零时:逻辑运
5、算的结果为非零时:“真真”逻辑运算的结果为零时:逻辑运算的结果为零时:“假假”表达式的值表达式的值1 结果为结果为“真真”时时0 结果为结果为“假假”时时也只能也只能是是0或或1P58 x=1;printf(%d ,x=0&x=0&x=2);printf(%d ,x3);真真真真输出输出1 真真假假输出输出0 真真输出输出1 假假 x=5;printf(%d ,!x);printf(%d ,3&A);printf(%d ,(x=2)|0);printf(x=%dn,x);x=0;printf(%d ,x3);printf(%d ,!x);输出输出0 输出输出1 输出输出0 输出输出1 输出输出
6、1 输出输出x=2 逻辑运算的规则逻辑运算的规则 n&:两个运算量都为非零两个运算量都为非零,结果是真,结果是真,值为值为1;否则,结果是假,值为;否则,结果是假,值为0n|:至少有一个运算量为非零至少有一个运算量为非零,结果是真,结果是真,值为值为1;否则,结果为假,值为;否则,结果为假,值为0n!:运算量为零运算量为零,结果是真,值为,结果是真,值为 1;否;否则,结果为假,值为则,结果为假,值为 0逻辑表达式的求解逻辑表达式的求解在逻辑表达式的求解中在逻辑表达式的求解中,并不是所有的逻辑运算并不是所有的逻辑运算符都被执行符都被执行,只是在必须执行下一个逻辑运算只是在必须执行下一个逻辑运算
7、符才能求出表达式的解时,才执行该运算符。符才能求出表达式的解时,才执行该运算符。(1)a&b&c只有只有a为真为真(非非0)时,才需要判别时,才需要判别b的值,只有的值,只有a和和b都为真的情况下才需要判都为真的情况下才需要判别别c的值。只要的值。只要a为假,就不必判别为假,就不必判别b和和c(此时此时整个表达式已确定为假整个表达式已确定为假)。如果。如果a为真,为真,b为假,为假,不判别不判别c。(2)a|b|c只要只要a为真为真(非非0),就不必判断,就不必判断b和和c;只;只有有a为假,才判别为假,才判别b;a和和b都为假才判别都为假才判别c。也就是说,对也就是说,对&运算符来说,只有运
8、算符来说,只有a0,才继,才继续进行右面的运算。对运算符续进行右面的运算。对运算符来说,只有来说,只有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(
9、)int a=1,b=0;printf(%d ,0&(a=2);printf(a=%d ,a);printf(%d ,5&(a=2);printf(a=%d ,a);b=1;printf(%d ,5|(b=2);printf(b=%d ,b);printf(%d ,0|(b=2);printf(b=%dn,b);a的值仍为的值仍为1 a的值为的值为2 b的值仍为的值仍为1 b的值为的值为2 运算的先后顺序:运算的先后顺序:!算术运算符算术运算符 关系运算符关系运算符&|赋值运算符赋值运算符 先先后后3.3 if3.3 if语句语句P59返回返回if语句语句是用来判定所给定的条件是否满是用来判定
10、所给定的条件是否满足,根据判定的结果足,根据判定的结果(真或假真或假)决定执决定执行给出的两种操作之一。行给出的两种操作之一。3.3.1 if3.3.1 if语句的一般形式语句的一般形式 1不带不带else的的if语句语句 2带带else的的if语句语句 P601不带不带else的的if语句语句【例例3.4】老大和老二各拿了一包糖,老大和老二各拿了一包糖,现要保证老大手中的糖比老二的少。现要保证老大手中的糖比老二的少。编写程序实现其功能。编写程序实现其功能。#include main()int a=0,b=0,t=0;printf(Input a,b:);scanf(%d%d,&a,&b);i
展开阅读全文