4.1 关系运算和逻辑运算解析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可是整数,也可以是任何类型的数据。系统最终是以 :
0判断为假,非 0 判断为真.
14
在逻辑表达式求值的过程中,并不 是所有的逻辑运算符都必须被执行,只 是在必须执行下一个逻辑运算符时才能 求出表达式的解时,才执行该运算符。
例:求表达式的值: 5>3 && 2||8<4-!0 ① 4-!0 即: 3 得:5>3 && 2||8<3得:1 && 2 || 0 ② 5>3 结果为 1;8<3 结果为0 ③ 1&&2 结果为 1 最后结果为 1
1.关系运算符及优先级:
< (小于) <= (小于等于) > (大于) >= (大于等于)
= = (等于) ! = (不等于)
优先级相 同 (高 ) 高
优先级相 同 (低 )
低
3
Baidu Nhomakorabea
第1节 关系运算和逻辑运算
运算符 > >= < 含义 大于 大于等于 小于 结合方向 自左至右 自左至右 自左至右 举例 a>b,10>8 a>=b,3>=2 a<b,3<10 操作数个数 双目运算符 双目运算符 双目运算符
<=
== !=
小于等于
等于 不等于
自左至右
自左至右 自左至右
a<=b,3<=b
a==b,3==5*a a!=b,3!=5%7
双目运算符
双目运算符 双目运算符
算术运算符 : * ,
高 关系运算符: 赋值运算符: = 低
/ , % ,+ , -
< , <= , > , >=, ==, !=
复合赋值运算符: +=,
%=, *=
运算符的优先级请见附录
5
2.关系表达式:
关 系 运 算 符 将 两 个 表 达 式 连 起 来 的 式 子 —— 关 系 表 达式。关系表达式由于是一种比较的操作,其结果是成 立,不成立的关系。也即产生一个逻辑值 , “真” 或 “假”。
C语言中没有设逻辑型数据 . C中用1代表逻辑真 ,0 代表逻辑假。
0 ~ 1
6
如:设:
a=4 ,
b=3 ,
c=2 ;
则:(1). 如果a > b的值为 “真”,则表达式的值为1 . (2). d= b > c /* d的值为 1 .*/ /* e 的值为 0.*/ /* 因 “>” 运算符自左到右结合,先执 行 a>b,值为 1,再执行1>c,值为 0*/ (4). f= (a>b)+a f的值为5 (3). e = a>b>c
注: 逻辑表达式求解自左向右,且一旦知道结果的真假 值,求值即停止。
例. 若设: a=1,b=1,c=3,d=4, m,n原值为1,那么: (m=a>b) && (n=c>d) 则m新值为0,n不再赋值。
16
熟练掌握关系运算符和逻辑运算符,可以巧妙地用一 个逻辑表达式来表示一个复杂的条件。
1. 判断ch 是否为小写英文字母:
高
!
…… 逻辑非(NOT)
(对操作数取反,如操作数为真,结果就为假.)
&& …… 逻辑与(AND)
低
||
(只有两个操作数的值同时为真时,结果为真.)
…… 逻辑或 (OR)
(只要两个操作数中的一个值为真时,结果就为真.)
9
逻辑运算符的功能
逻辑与: &&, 逻辑或:||, 逻辑非: ! 真值表: a b a&&b a||b !a 假 假 假 假 真 假 真 假 真 真 真 假 假 真 假 真 真 真 真 假
第 4章
选择结构程序设计
1
内容简介
选择结构又叫分支结构,用于在几 个可选择的分支之间进行选择。选择结 构是结构化程序设计的基本结构之一, 在C程序中,可以使用if和switch两种语 句进行逻辑判断,从而实现选择结构。
一、关系运算符与关系表达式 : 关系运算符也就是一种比较大小的运算符。
第1节 关系运算和逻辑运算
7
思考:
表达式
还是
y=6<10==1
y=6<(10==1) ?
它等同于 y=(6<10)==1
高 算术运算符 : * , / ,% +,关系运算符: < , <= , > , >=, ==, != 赋值运算符: = 低
8
2. 逻辑运算符
逻辑运算符及优先级:
逻辑运算符是对逻辑量进行操作. 共有三种:
这种表示方法法最先在C中使用,因为它使得编程显示 特别方便。
13
例:设 a=4,b=5,则: !a 的值为 0
a&&b 的值为 1 .
(因为a的值为非 0,认为是真)
a||b
的值为 1 .
的值为 1 (自左向右运算).
4 && 0 || 2
•可见: (1).逻辑运算结果不是 0,就是 1.
(2).参加逻辑运算的操作数可以是1,0(真, 假),也
(ch >= 'a') && (ch <= 'z') 2. 判断ch 是否为英文字母: (ch >= 'a' && ch <= 'z') || ( ch >= 'A' && ch <= 'Z')
17
例:闰年的条件:a.能被4整除,但不能被100整除 或:b.能被400整除 设 year为某一年份, year为闰年的表达式: ((year%4 ==0&&year%100!=0)||year%400==0) 当上述逻辑表达式为 1 时,year这一年为闰年,当为 0 时, year这一年为非闰年。
&& , | | 是双目(二元)运算符,! 是单目(一元)运算符.
10
优先级:
逻辑运算符: ! 高
算术运算符: + , *
关系运算符: > , =< 逻辑运算符: && , | |
赋值运算符: =
低
11
例:(a>b)&& (x>y)
(!a) | | a>b
a>b && x>y
! a | | a>b
2.逻辑表达式 :用逻辑运算符将关系表达式,或逻辑量
连起来的式子,叫逻辑表达式。逻辑表达式的值应该是一
个逻辑量:真(1),假(0).
12
说明 :
C语言在编译时,给出逻辑运算结果时 (如关系表达式 、逻辑表达式),如果是真,用1表示;是假用0表示。 但在判断一个量是否为真或为假时, 即以非0为真(包 括负值), 以0值为假.
18
2、计算机等级考试分笔试和上机考试两部分, 写出判断某考生是否通过考试以及是否有补考 机会的逻辑表达式 假设变量grade1和变量grade2分别表示笔试和机 试成绩,则: grade1>=60&& grade2>=60,该考生通过考试 ; grade1<=60 || grade2<=60,该考生未通过考试 但可以参加补考; grade1<=60&& grade2<=60,该考生未通过考 试且不能参加补考。
0判断为假,非 0 判断为真.
14
在逻辑表达式求值的过程中,并不 是所有的逻辑运算符都必须被执行,只 是在必须执行下一个逻辑运算符时才能 求出表达式的解时,才执行该运算符。
例:求表达式的值: 5>3 && 2||8<4-!0 ① 4-!0 即: 3 得:5>3 && 2||8<3得:1 && 2 || 0 ② 5>3 结果为 1;8<3 结果为0 ③ 1&&2 结果为 1 最后结果为 1
1.关系运算符及优先级:
< (小于) <= (小于等于) > (大于) >= (大于等于)
= = (等于) ! = (不等于)
优先级相 同 (高 ) 高
优先级相 同 (低 )
低
3
Baidu Nhomakorabea
第1节 关系运算和逻辑运算
运算符 > >= < 含义 大于 大于等于 小于 结合方向 自左至右 自左至右 自左至右 举例 a>b,10>8 a>=b,3>=2 a<b,3<10 操作数个数 双目运算符 双目运算符 双目运算符
<=
== !=
小于等于
等于 不等于
自左至右
自左至右 自左至右
a<=b,3<=b
a==b,3==5*a a!=b,3!=5%7
双目运算符
双目运算符 双目运算符
算术运算符 : * ,
高 关系运算符: 赋值运算符: = 低
/ , % ,+ , -
< , <= , > , >=, ==, !=
复合赋值运算符: +=,
%=, *=
运算符的优先级请见附录
5
2.关系表达式:
关 系 运 算 符 将 两 个 表 达 式 连 起 来 的 式 子 —— 关 系 表 达式。关系表达式由于是一种比较的操作,其结果是成 立,不成立的关系。也即产生一个逻辑值 , “真” 或 “假”。
C语言中没有设逻辑型数据 . C中用1代表逻辑真 ,0 代表逻辑假。
0 ~ 1
6
如:设:
a=4 ,
b=3 ,
c=2 ;
则:(1). 如果a > b的值为 “真”,则表达式的值为1 . (2). d= b > c /* d的值为 1 .*/ /* e 的值为 0.*/ /* 因 “>” 运算符自左到右结合,先执 行 a>b,值为 1,再执行1>c,值为 0*/ (4). f= (a>b)+a f的值为5 (3). e = a>b>c
注: 逻辑表达式求解自左向右,且一旦知道结果的真假 值,求值即停止。
例. 若设: a=1,b=1,c=3,d=4, m,n原值为1,那么: (m=a>b) && (n=c>d) 则m新值为0,n不再赋值。
16
熟练掌握关系运算符和逻辑运算符,可以巧妙地用一 个逻辑表达式来表示一个复杂的条件。
1. 判断ch 是否为小写英文字母:
高
!
…… 逻辑非(NOT)
(对操作数取反,如操作数为真,结果就为假.)
&& …… 逻辑与(AND)
低
||
(只有两个操作数的值同时为真时,结果为真.)
…… 逻辑或 (OR)
(只要两个操作数中的一个值为真时,结果就为真.)
9
逻辑运算符的功能
逻辑与: &&, 逻辑或:||, 逻辑非: ! 真值表: a b a&&b a||b !a 假 假 假 假 真 假 真 假 真 真 真 假 假 真 假 真 真 真 真 假
第 4章
选择结构程序设计
1
内容简介
选择结构又叫分支结构,用于在几 个可选择的分支之间进行选择。选择结 构是结构化程序设计的基本结构之一, 在C程序中,可以使用if和switch两种语 句进行逻辑判断,从而实现选择结构。
一、关系运算符与关系表达式 : 关系运算符也就是一种比较大小的运算符。
第1节 关系运算和逻辑运算
7
思考:
表达式
还是
y=6<10==1
y=6<(10==1) ?
它等同于 y=(6<10)==1
高 算术运算符 : * , / ,% +,关系运算符: < , <= , > , >=, ==, != 赋值运算符: = 低
8
2. 逻辑运算符
逻辑运算符及优先级:
逻辑运算符是对逻辑量进行操作. 共有三种:
这种表示方法法最先在C中使用,因为它使得编程显示 特别方便。
13
例:设 a=4,b=5,则: !a 的值为 0
a&&b 的值为 1 .
(因为a的值为非 0,认为是真)
a||b
的值为 1 .
的值为 1 (自左向右运算).
4 && 0 || 2
•可见: (1).逻辑运算结果不是 0,就是 1.
(2).参加逻辑运算的操作数可以是1,0(真, 假),也
(ch >= 'a') && (ch <= 'z') 2. 判断ch 是否为英文字母: (ch >= 'a' && ch <= 'z') || ( ch >= 'A' && ch <= 'Z')
17
例:闰年的条件:a.能被4整除,但不能被100整除 或:b.能被400整除 设 year为某一年份, year为闰年的表达式: ((year%4 ==0&&year%100!=0)||year%400==0) 当上述逻辑表达式为 1 时,year这一年为闰年,当为 0 时, year这一年为非闰年。
&& , | | 是双目(二元)运算符,! 是单目(一元)运算符.
10
优先级:
逻辑运算符: ! 高
算术运算符: + , *
关系运算符: > , =< 逻辑运算符: && , | |
赋值运算符: =
低
11
例:(a>b)&& (x>y)
(!a) | | a>b
a>b && x>y
! a | | a>b
2.逻辑表达式 :用逻辑运算符将关系表达式,或逻辑量
连起来的式子,叫逻辑表达式。逻辑表达式的值应该是一
个逻辑量:真(1),假(0).
12
说明 :
C语言在编译时,给出逻辑运算结果时 (如关系表达式 、逻辑表达式),如果是真,用1表示;是假用0表示。 但在判断一个量是否为真或为假时, 即以非0为真(包 括负值), 以0值为假.
18
2、计算机等级考试分笔试和上机考试两部分, 写出判断某考生是否通过考试以及是否有补考 机会的逻辑表达式 假设变量grade1和变量grade2分别表示笔试和机 试成绩,则: grade1>=60&& grade2>=60,该考生通过考试 ; grade1<=60 || grade2<=60,该考生未通过考试 但可以参加补考; grade1<=60&& grade2<=60,该考生未通过考 试且不能参加补考。