2017-2-18 1 § > , > = , < , < = ( 优先级相同 ) 高= = , ! = ( 优先级相同 ) 低结合性:从左至右关系运算符的优先级低于算术运算符而高于赋值运算符例: c > a + b ? c > (a + b) a > b != c ?(a > b) != c a = b > c ? a = ( b > c ) 2017-2-18 2 格式: ( 表达式 1) 关系运算符 (表达式 2) 如: ( a=3) > (b=5), a + b > b + c 等. 注意: 1. 表达式可以是算术表达式,关系表达式,逻辑表达式,赋值表达式. 2. 关系表达式的值为逻辑值,即“真”或“假”.若关系成立,则关系表达式的值为 1,否则为 0。在 C语言中由于没有逻辑型变量,因此规定,对于任意一个表达式,只要值不为 0,: a = 3 , b = 2 , c = 1 a > b 表达式的值为 1 (a > b ) = = c 表达式的值为 1 f = a > b > =c f 为? 1 2017-2-18 main () { int a = 3 , b=4, c, d, e,f; if(a < b) c = 1; if(c) d = c; if(e = 0) f = 1; } 2017-2-18 4 逻辑运算符和逻辑表达式逻辑运算符及其优先次序?C语言提供三种逻辑运算符: (1) && 逻辑与(与运算符) (2) | |逻辑或(或运算符) (3)!逻辑非(非运算符) 说明: 1)“&& ”和“| |”为双目运算符, “!”为单目运算符; 2)逻辑运算的结果只有两种:真或假。 3 ) ! 高于算术运算符高于关系运算符高于 && 和 || 高于赋值运算符 4 )结合性: 从左至右 2017-2-18 5 例: (a >b)&& (c > d ) ? a > b&& c > d (!a = = b ) || ( x = = y ) ?!a = = b || x = = y ! (非) (高) 算术运算符关系运算符&& 和| |赋值运算符(低) 例: !a&&b| |x>y&&c 2017-2-18 6 逻辑表达式 C 语言编译系统在给出逻辑运算结果时,以数值 1代表“真”, 以数值 0代表“假”。例: 1)若 a=4 ,则!a=0 ; 2 )若 a=4 ,b=5 则 a&&b=1 ;a||b =1;!a||b =1; 3 )5>3&&2 || 8<4-!0 的值为 4 )‘c’&&’d’的值为说明: 1)对于“&&”和“||”逻辑运算符,在逻辑表达式求解中, 有时并不需要执行所有的逻辑运算符。例如: a&&b&&c , 如果 a为假,就不必判别 b和c的值; a||b||c ,如果 a为真,也不必判别 b和c的值了。所以, 对于(m=a>b)&&(n=c>d) ,如果“a>b ”的值为 0,则 n将不进行赋值运算而保留原值(Why?) ; 11 2017-2-18 7 一个重要的例子: 判断某一年是否为闰年的方法。而为闰年的条件是符合下面两者之一: (1)能被 4整除,但不能被 100 整除; (2)能被 100 整除,又能被 400 整除; 写出逻辑表达式: 首先分析逻辑结构: 1、条件( 1)和条件( 2)的关系应该是“或”; 2、而每个条件内部应该为“与”关系; 3、条件( 2)内,满足被 400 整除的一定满足被 100 整除, 因此只需一个逻辑表达式即可; 所以最后的逻辑表达式为: ((year%4= =0)&&(year%100!= 0))||(year%400= =0) 根据运算符的优先级关系,上式可简化为 year%4= =0&&year%100!= 0||year%400= =0 2017-2-18 8
C语言课件4 来自淘豆网m.daumloan.com转载请标明出处.