教学课件2-8 逻辑运算符与表达式
- 格式:pptx
- 大小:302.02 KB
- 文档页数:16
逻辑运算逻辑运算符C语言提供了3种逻辑运算符,如下表。
优先级由高到低逻辑运算符!(逻辑非)高于&&(逻辑与)高于││(逻辑或)说明:“&&”和“||”是双目运算符,要求要有两个操作数,而“!”是单目运算符,只要求有一个操作数即可。
以上逻辑运算符的优先级是:“!”(逻辑非)级别最高,其次是“&&”(逻辑与),“||”(逻辑或)级别最低,逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算术运算符。
即:“!”(逻辑非)>算术运算符>关系运算符>“&&”>“||”>赋值运算符>逗号运算符。
逻辑表达式“&&”和“||”的运算对象有两个,故它们都是双目运算符,而!的运算对象只有一个,因此它是单目运算符。
逻辑运算举例如下:①a&&b: 当&&两边都为“真”时,表达式a&&b的值才是真。
值得注意的是:在数学中,关系式0<x<10是可以使用的,表示x的值应在大于0且小于10的范围内,但在C语言中却不能用0<x<10这样一个关系表达式来表示上述的逻辑关系,即关系运算符不能连用,但可以借助逻辑运算符来辅助运算,正确的表示方法是 0<x && x<10。
②a||b: 当||两边有一个为“真”时,表达式a||b的值就是真。
③!a: 表示取反,如果a为真,则!A为假,反之亦然。
例如!-5的值就为0.在C语言中,由&&或||组成的逻辑表达式,在某些特定情况下会产生“短路“现象。
(1)x && y && z ,只有当x为真(非0)时,才需要判别y的值;只有x和y都为真时,才需要去判别z的值;只要x为假就不必判别y和z,整个表达式的值为0。
口诀:“一假必假”。