在形式逻辑中,逻辑运算符或逻辑联结词把语句连接成更复杂的复杂语句。包含包含逻辑与、或、异或、非等逻辑运算符,这些逻辑运算符,看看你会用几种?
&& (逻辑与) 相当于其他语言中的AND
|| (逻辑或) 相当于其他语言中的OR
! (逻辑非) 相当于其他语言中的NOT
例:a&&b 若a,b为真,则a&&b为真。
a||b 若a,b之一为真,则a||b为真。
!a 若a为真,则!a为假。
优先次序:
!(非)->&&()->||()
逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算术运算符
因此运算符的优先顺序为:!>算术运算符>关系运算符>&&>||>赋值运算符
用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。
逻辑表达式的值应该是一个逻辑量“真”或“假”。
任何非零的数值被认作“真”。
例:设a=4.b=5:
!aa&&b
a||b!a&&!b
!a||b!a||!b
!a&&b4&&0||2
短路原则:
在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。
(1)a&&b&&c 只有a为真时,才需要判断b的值,只有a和b都为真时,才需要判断c的值
(2)a||b||c 只要a为真,就不必判断b和c的值,只有a为假,才判断b。a和b都为假才判断c
例:(m=a>b)&&(n=c>d)
当a=1.b=2.c=3.d=4.m和n的原值为1时,由于“a>b”的值为0.因此m=0.而
“n=c>d”不被执行,因此n的值不是0而仍保持原值1.
例:(5>3)&&8<4-!0
图 4-2 逻辑表达式
用逻辑表达式来表示闰年的条件:
能被4整除,但不能被100整除。
能被4整除,又能被400整除。