52逻辑运算符和逻辑表达式 逻辑运算将及其优先次序 )&&(辑与)相当于其他语言中的AND 2川(辑可3)相当于其他语言中的oR 3)!(辑非相当于其他语言中的NoT 例:a&&b着a2b为真,则a&&b为真。 ab著ab之一为真,则ab为真。 !a着a为真,则a为假 优先次序 !(非)→&&0->|Q 逻辑运算符中的“&&”和“|低于关系运算符,“P高于算 术运算符 20212
6 2021/2/24 5.2 逻辑运算符和逻辑表达式 1.逻辑运算符及其优先次序 (1)&& (逻辑与) 相当于其他语言中的AND (2)|| (逻辑或) 相当于其他语言中的OR (3)! (逻辑非) 相当于其他语言中的NOT 例:a&&b 若a,b为真,则a&&b为真。 a||b 若a,b之一为真,则a||b为真。 !a 若a为真,则!a为假。 优先次序: •!(非)->&&()->||() •逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算 术运算符
52逻辑运算符和逻辑表达式 逻辑表达式 用逻辑运算符将关系表达式逻辑量连接起来的式子 就是逻辑表达式。 辑表达式的值应该是一个逻辑量“真”或“假” 任何非零的数值被认作“真” 例:设a=4,b=5: a的值为0 a&&b的值为1 ab的值为1 ab的值为1 4&&0‖2的值为1 2021/2/24
7 2021/2/24 5.2 逻辑运算符和逻辑表达式 2.逻辑表达式 •用逻辑运算符将关系表达式或逻辑量连接起来的式子 就是逻辑表达式。 •逻辑表达式的值应该是一个逻辑量“真”或“假”。 例:设a=4,b=5: !a的值为0 a&&b的值为1 a||b的值为1 !a||b的值为1 4&&0||2的值为1 任何非零的数值被认作“真
52逻辑运算符和逻辑表达式 例 5>388840 自左向右运算 53逻辑值为1!0逻辑值为1 4-1值为3 表达式值为01&80逻辑值为08-3逻辑值为0 20212
8 2021/2/24 5.2 逻辑运算符和逻辑表达式 例:5>3&&8<4-!0 自左向右运算 1&&0逻辑值为0 8<3逻辑值为0 5>3逻辑值为1 !0逻辑值为1 4-1值为3 表达式值为0
52逻辑运算符和逻辑表达式 在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。 (1)a&&b&&c只有a为真时,才需要判断b的值,只有a和b都为 真时,才需要判断c的值。 (2)叫b|c只要a为真,就不必判断b和c的值,只有a为假,才 判断b。a和b都为假才判断c 例:(m=a>b)&&(n=c>d) 当a=1,b=2c=3d=4,m和n的原值为1时,由于“a>b的 为0,因此m=0,而“n=c>d不被执行,因此n的值不 仍保持原值1 2021/2/24
9 2021/2/24 5.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
52逻辑运算符和逻辑表达式 用逻辑表达式来表示闫年的条件 能被4整除,但不能被100整除。 能被4整除,又能被400除。 答(ear%4==08&year7%100170) lyear%400=0 案值为真(1)是闫年,否则为非闫年。 2021/2/
10 2021/2/24 5.2 逻辑运算符和逻辑表达式 用逻辑表达式来表示闰年的条件 •能被4整除,但不能被100整除。 •能被4整除,又能被400整除。 答 (year%4==0&&year%100!=0)||year%400==0 案 值为真(1)是闰年,否则为非闰年