2.逻辑运算中的规律 (1)在&&表达式中,若左端为0,则不必再计算右端, 表达式值为0即:0&&a (2)类似有1|la=1 规律: Oa==a 0&&a==0 1 a==1 1&&a==a alla==a a&&a==a !l==1 a&&!a=0 (a|b)==!a&&!b!(a&&b)==!al!b
2.逻辑运算中的规律 (1) 在&& 表达式中, 若左端为0, 则不必再计算右端, 表达式值为0 即: 0 && a == 0 (2) 类似有 1 || a == 1 规律: 0||a ==a 0&&a==0 1||a==1 1&&a==a a||a==a a&&a==a a||!a==1 a&&!a==0 !(a||b)==!a&&!b !(a&&b)==!a||!b
2逻辑表达式: <表达式><&&或‖><表达式>(C的任何一种表达式均可) E0: char; int i, j, k; double x, y; c=w,; i=j=k=3; x=0.0; y=2.3; 表达式 等价表达式 表达式的值 i &&j & k (i&&j)&&k x &&ilj-2 (x&&i)‖-2) x i&&j-3 x‖(i&&(j-3) 0 i<j &&x<y (ij)&&(x<y) 0 i==&&x<=y(i==j)&&(x<=y) x!y&+1-!k+4(x=y)&&(+1)=(k)+4) A<=c&&c<=Z(A<=c)&&(=Z) i==2j=4k=6i=(i==2)|G==4)‖(k==6)
表达式 等价表达式 表达式的值 2.逻辑表达式: <表达式> <&& 或 ||> <表达式> (C的任何一种表达式均可) 已知: char c ; int i, j, k; double x,y; c=‘w’; i=j=k=3; x=0.0;y=2.3; i && j && k (i && j) && k 1 x && i || j -2 (x && i) || (j-2) 1 x || i && j -3 x || (i && (j-3)) 0 i < j && x < y (i<j) && (x<y) 0 i = = j && x < = y (i= =j) && (x<=y) 1 x!=y&&j+1= =!k+4 (x!=y) && (j+1)= = ((!k)+4)) 1 ‘A’<=c && c<=‘Z’ (‘A’ <= c) && (c <= ‘Z’) 0 i=i= =2||j= =4||k==6 i=((i= =2) || (j= = 4) || (k= =6)) 0
已学过的运算符优先级如下: ++ 算术运算符关系运算符 =&& 赋值和复合赋值符逗号运算符
! ++ -- 算术运算符 关系运算符 = = != && || 已学过的运算符优先级如下: 赋值和复合赋值符 逗号运算符
运算符的优先级和结合性 优先级运算符含义 要求运算 结合方向 对象的个数 圆括号 下标运算符 指向结构体 成员运算符 自左至右 结构体成员运算符 逻辑非运算符 按位取反运算符 2 自增运算符 自减运算符 负号运算符 自右至左 (类型)类型转换运算符 指针运算符 (单目运算符) & 地址运算符 sizeof长度运算符 2 除法运算符 自左至右 求余运算符 (双目运算符) +加法运算符 减法运算符 (双目运算符) 自左至右
运算符的优先级和结合性 优先级 运算符 含义 要求运算 结合方向 对象的个数 圆括号 下标运算符 指向结构体 成员运算符 结构体成员运算符 逻辑非运算符 按位取反运算符 自增运算符 自减运算符 负号运算符 类型转换运算符 指针运算符 地址运算符 长度运算符 乘法运算符 除法运算符 求余运算符 加法运算符 减法运算符 1 2 3 4 ( ) [ ] . ! ~ ++ - - - (类型) * & sizeof * / % + - 1 (单目运算符) 2 (双目运算符) 2 (双目运算符) 自右至左 自左至右 自左至右 自左至右