05选择结构程序设计(逻辑运算符)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

B说:“A和C是同一种人。”
两种可能
(1)B说的是真话,意味着:(B==1 && A==C) (B&&A==C)
(2)B说的是假话,意味着:(B==0 &&A!=C) (!B&&A!=C) (B&&A==C)|| ((!B&& A!=C)
真心话大冒险
有A、B、C三人,每人或者说真话,或者说假话。 A说:“B说假话。” A&&!B || !A&&B
问:运算结束后,m=? n=?
m=0 n=1
逻辑运算符应用
问题分析:
择偶的四个标准(身高,财富,颜值,感情)
用逻辑值表示条件是否达到,达到用1,未达到用0
逻辑运算符应用
择偶的四个标准(身高,财富,颜值,感情) 要同时满足。
Height==1 && Wealth==1 && handsome==1 && love==1
(a==b)||(x==y)
(!a)+b||(a>b)
逻辑运算的几点说明
3.短路特性:逻辑表达式求解时,并非所有的逻辑运 算符都被执行,只是在必须执行下一个逻辑运算符才 能求出表达式的解时,才执行该运算符
高富帅对自己好
高、富、帅、对 自己好
逻辑运算的几点说明
例: 假设变量均已正确定义, a=1;b=2;c=3;d=4;m=1;n=1;有下列表达式 (m=a>b)&&(n=c>d)
逻辑运算符应用
例:真心话大冒险
有A、B、C三人,每人或者说真话,或者说假话。 A说:“B说假话。” B说:“A和C是同一种人。” 问A、B、C三人谁说真话,谁说假话?
问题分析:用逻辑值表示真话和假话 真话用1,假话用0
A说:“B说假话。”
两种可能
(1)A说的是真话,意味着:A==1 &&B==0 A&&!B (2)A说的是假话,意味着:A==0 &&B==1 A==1&&B==0 || A==0&&B==1 A&&!B || !A&&B !A&&B
逻辑运算真值表
a
b
a&&b
a||b
!a
!b
O 0 非0 非0
0ቤተ መጻሕፍቲ ባይዱ非0 O 非0
0 0 0 1
O 1 1 1
1 1 O 0
1 0 1 0
逻辑运算的几点说明
1.在判断一个量是否为“真”时,以0代表“假”, 以非0代表“真”。
即将一个非零的数值认作为“真”。 例如:
(1) 若a=4,则!a的值为
0
(2) 若a=4,b=5,则a&&b的值为 1
D
课堂练习
若x和y代表整型数,写出代表数学关系|x-y|<10的 表达式 (x-y)*(x-y)<100 x-y>10 && x-y<-10
小结
表达多个条件时,可使用逻辑运算符 逻辑运算符的优先级:高于赋值运算,低于算 术运算与关系运算。 逻辑与和逻辑或具有短路特性。 理论上,可以使用算术运算符*代替逻辑与。
Height&& Wealth && handsome && love
逻辑运算符应用
择偶的四个标准(身高,财富,颜值,感情) 只要满足一个即可。
用逻辑非如何描述
?
Height==1 || Wealth==1 || handsome==1 || love==1
Height|| Wealth || handsome || love
逻辑运算的几点说明
2.在一个逻辑表达式中如果包含多个逻辑运算符, 如: !a && b||x>y && c
按以下的优先次序:
(1) !(非)→&&(与)→(或)
(2) 逻辑运算符中的“&&”和“||”低于关系运算 符,“!”高于算术运算符。
逻辑运算的几点说明
例: (a>b) && (x>y) 可写成 可写成 可写成 a>b && x>y a==b||x==y !a+b||a>b
《C语言程序设计》
逻辑运算符
高富帅, 对自己好
学习目标
掌握C语言如何实现多个判断条件
理解逻辑值的含义 熟练使用逻辑运算符构造条件表达式 理解逻辑与和逻辑或的短路特性
逻辑运算符
C语言提供3种逻辑运算符
运算符 && || ! 含 义 逻辑与 逻辑或 逻辑非
逻辑运算表达式
逻辑表达式:用逻辑运算符将关系表达式或其 他逻辑量连接起来的式子 逻辑表达式的结果是一个逻辑值,即“真”或“假”
逻辑运算的几点说明
2.在一个逻辑表达式中如果包含多种运算符,如: !a && b||x>y && c 按以下的优先次序: (1) !(非)→&&(与)→(或)
即“!”为三者中最高的
有以下程序段,执行后,x,y,z的值为多少? int x,y,z,a=1,b=0,c=0;
x=(a||c)&&b; y=a||c&&b; z=a&&!b||c; 0 1 1
B说:“A和C是同一种人。” (B&&A==C)|| ((!B&& A!=C) 问A、B、C三人谁说真话,谁说假话? (A&&!B || !A&&B)
&&
((B&&A==C)|| (!B&& A!=C))
穷举法5-1.c
课堂练习
输入一个年份,判别某一年是否闰年
闰年的条件是符合下面二者之一
①能被400整除,如2000
②能被4整除,但不能被100整除,如2008
描述闰年的两个特征
输入年份y

(y%400==0) || (y%4==0 && y%100!=0)

输出y是闰年
输出y不是闰年
课堂练习
以下关于逻辑运算符两侧运算对象的叙述中正确 的是——
A、只能是整数0或1 B、只能是整数0或非0整数 C、可以是结构体类型的数据 D、可以是任意合法的表达式
相关文档
最新文档