●优先级: 局 从右向左 ●结合方向 &&(11) &&:从左向右 ‖(12) ‖:从左向右 短路特性:逻辑表达式求解时,并非所有的逻 辑运算符都被执行,只是在必须执行下一个逻 辑运算符才能求出表达式的解时,才执行该运 例a&&b&&c∥只在a为真时,才判别b的值 只在a、b都为真时,才判别c的值 例a|blc ∥)在a为假时,才判别b的值 只在a、b都为假时,才判别c的值 例a=1:b2c-3d=4m1n果m0m=1 (m=a>b)&&(n=c>d)
11 ! (2) && (11) || (12) 高 低 ⚫优先级: ⚫结合方向: ! :从右向左 && :从左向右 || :从左向右 短路特性:逻辑表达式求解时,并非所有的逻 辑运算符都被执行,只是在必须执行下一个逻 辑运算符才能求出表达式的解时,才执行该运 算符 例 a&&b&&c //只在a为真时,才判别b的值; 只在a、b都为真时,才判别 c的值 例 a||b||c //只在a为假时,才判别b的值; 只在a、b都为假时,才判别 c的值 例 a=1;b=2;c=3;d=4;m=1;n=1; (m=a>b)&&(n=c>d) //结果m=0,n=1
逻楫运犷符的使用举例 例如:有如下程序语句:a=32b=-8 逻辑表达式a>=0&&a<10的取值为? 注意千万不能将上述表达式写成:0<=a<10 例如:有如下程序语句:a=32,b=-8: 逻辑表达式a>=0&&b的取值为? 注意运算对象可以是整数,非0视作成立 例如:有如下程序语句:a=32b=-8 逻辑表达式a>=0&&b==12的取值为?计算完 逻辑表达式的值后,变量b的值为多少? 8
12 逻辑运算符的使用举例 例如:有如下程序语句: a=32;b= -8; 逻辑表达式a>=0 && a<10 的取值为? 注意千万不能将上述表达式写成: 0<=a<10 0 例如:有如下程序语句: a=32;b= -8; 逻辑表达式a>=0 && b 的取值为? 注意运算对象可以是整数,非0视作成立 1 例如:有如下程序语句: a=32;b= -8; 逻辑表达式a>=0 && b==12 的取值为?计算完 逻辑表达式的值后,变量b的值为多少? 0 -8
逻辑运犷符的使用举例 例如:有如下程序语句:a=32b=-8: 逻辑表达式a>=0&&a<10的取值为? 注意千万不能将上述表达式写成:0<=a<10 例如:有如下程序语句:a=32b=-8: 逻辑表达式a>=0&&b的取值为? 注意运算对象可以是整数,非0视作成立 例如:有如下程序语句:a=32b=-8: 逻辑表达式a>=0&&(b=12)的取值为?计算完 逻辑表达式的值后,变量b的值为多少? 注意运算对象可以是表达式,表达式的值非0就 视作成立 13
13 逻辑运算符的使用举例 例如:有如下程序语句: a=32;b= -8; 逻辑表达式a>=0 && a<10 的取值为? 注意千万不能将上述表达式写成: 0<=a<10 0 例如:有如下程序语句: a=32;b= -8; 逻辑表达式a>=0 && b 的取值为? 注意运算对象可以是整数,非0视作成立 1 例如:有如下程序语句: a=32;b= -8; 逻辑表达式a>=0 && (b=12) 的取值为?计算完 逻辑表达式的值后,变量b的值为多少? 1 12 注意运算对象可以是表达式,表达式的值非0就 视作成立
逻楫运犷符的使用举例 例如:有如下程序语句:a=32;b=-8; 逻辑表达式a>=0&&a<10的取值为? 注意千万不能将上述表达式写成:0<=a<10 例如:有如下程序语句:a=32;b= 逻辑表达式a>=0&&b的取值为? 注意运算对象可以是整数,非0视作成立 例如:有如下程序语句:a=32b=-8; 逻辑表达式a<=0&&(b=12)的取值为?计算完逻辑表达 式的值后,变量b的值为多少? 注意该逻辑表达式中&&后面的赋值语句并未执行。 14
14 逻辑运算符的使用举例 例如:有如下程序语句:a=32;b= -8; 逻辑表达式a>=0 && a<10 的取值为? 注意千万不能将上述表达式写成: 0<=a<10 0 例如:有如下程序语句:a=32;b= -8; 逻辑表达式a>=0 && b 的取值为? 注意运算对象可以是整数,非0视作成立 1 例如:有如下程序语句:a=32;b= -8; 逻辑表达式a<=0 && (b=12) 的取值为?计算完逻辑表达 式的值后,变量b的值为多少? 注意该逻辑表达式中&&后面的赋值语句并未执行。 0 -8
逻辑运犷的使用举例 逻辑表达式!a与a==0等价? 当a的值不为0时,前者取值为0,后者取值也为0 当a的值为0时,前者取值为1,后者取值也为1
15 逻辑运算符的使用举例 逻辑表达式 ! a 与 a==0 等价? 当a的值不为0时,前者取值为0,后者取值也为0 当a的值为0时,前者取值为1,后者取值也为1