3.逻辑运算符的优先级和结合性 当条件表达式中同时出现多个运算符时,首先按优 先级计算,当同时出现多个优先级相同的运算符 时,再按结合性计算。 优先级: !>算术运算符>关系运算符>&&>>赋值运算符 合性: 逻辑与&&、逻辑或‖的结合性:自左向右 逻辑非!的结合性:自右向左 例如:(下页)
3. 逻辑运算符的优先级和结合性 当条件表达式中同时出现多个运算符时,首先按优 先级计算,当同时出现多个优先级相同的运算符 时,再按结合性计算。 优先级: !>算术运算符>关系运算符>&& >|| >赋值运算符 结合性: 逻辑与&&、逻辑或 ||的结合性:自左向右, 逻辑非 ! 的结合性:自右向左 例如: (下页)
优先级与结合性举例 例如:设inth=3j=3,k=3; double x=0,y=2.3 计算下列表达式的值: ①h&&j&&k 等价于(h&&j&&k ②hj&&x<y 等价于(h<j)&&(x<y) ③h<kl‖x<y 等价于(h<k)‖(xy) ④x=y&&j+1l=!k+4 等价于(x!=y)&&(j+1)=(k)+4) 果
优先级与结合性举例 ◼ 例如: 设int h=3,j=3,k=3; ◼ double x=0,y=2.3; ◼ 计算下列表达式的值: ◼ ① h&& j && k 等价于(h&& j) && k ◼ ② h<j &&x<y 等价于 (h<j)&&(x<y) ◼ ③ h<k || x<y 等价于 ( h<k) || (x<y) ◼ ④ x!=y && j+1==!k+4 ◼ 等价于(x!=y) &&(( j+1)==((!k)+4 )) ◼ 结果:1, 0 ,1 , 1
逻辑表达式计算特例 在逻辑表达式的计算过程中,当该表达式的值能够确 定时,就停止该表达式的计算,即并不是表达式中所 有的运算符都被执行 例54: 1)设有如下定义 inta=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,m的值为 )。A.1B.0(.2D3 2)当c的值不为0时,在下列选项中能正确将c的值赋 给变量a、b的是() A.c=b=a;B.(a=C)(b=c);(.(a=c)&&(b=c);D. a=c=b
逻辑表达式计算特例 ◼ 在逻辑表达式的计算过程中,当该表达式的值能够确 定时,就停止该表达式的计算,即并不是表达式中所 有的运算符都被执行。 例5.4: ◼ 1)设有如下定义: int a=1, b=2, c=3, d=4, m=2, n=2; 则执行表达式: (m=a>b) && (n=c>d) 后,n的值为 ()。A. 1 B. 0 C. 2 D.3 ◼ 2)当c 的值不为0时,在下列选项中能正确将c的值赋 给变量a、b的是() A.c=b=a; B. (a=c)||(b=c); C. (a=c)&&(b=c); D. a=c=b;
5.3if语句 ■if语句能实现所有的选择结构 ■例55将任意两个整数m、n中的较大数送给x,较小 数送给y,然后按大小顺序输出(设m、n的值由键盘 输入) 分析:共分三步, S1:输入两个整数给m和n S2判断m、n的大小并分别给x和y赋值 S3:输出x和y。 其中第二步用选择结构
5.3 if 语句 ◼ if语句能实现所有的选择结构 ◼ 例5.5 将任意两个整数m、n中的较大数送给x,较小 数送给y ,然后按大小顺序输出(设m、n的值由键盘 输入) ◼ 分析:共分三步, S1: 输入两个整数给m和n。 S2: 判断m、n的大小并分别给x和y 赋值。 S3: 输出x和y。 其中第二步用选择结构