正在加载图片...
靳润昭C语言教程讲义 2001年2月17日 x>3/2 a′+1<c 都是合法的关系表达式。由于表达式也可以又是关系表达式。因此也允许出现嵌套的情况。 例如 a!=(c==d) 等 关系表达式的值是真”和“假”,用“1″和0〃表示 如 5>0的值为真”,即为1 (a=3)>(b=5)由于3>5不成立,故其值为假,即为0。 【例5.1】 maino char c= k int i=l, j=2, k=3 float x=3e+5, y=0. 85 print f("%d,%dn",a’+5<c,-i-2*j=k+1) printf("%d,%d\n",1<j<5,x-5.25<=x+y) printf(%d, %d\n, i+j+k==-2*j, k==j==i+5) 在本例中求出了各种关系运算符的值。字符变量是以它对应的 ASCII码参与运算的。对 于含多个关系运算符的表达式,如k==j=i+5,根据运算符的左结合性,先计算k==j,该式不 成立,其值为0,再计算0==i+5,也不成立,故表达式值为0 52逻辑运算符和表达式 521逻辑运算符极其优先次序 C语言中提供了三种逻辑运算符 1)&&与运算 l或运算 非运算 与运算符&和或运算符‖|均为双目运算符。具有左结合性。非运算符!为单目运算符, 具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下: !(非)&(与)→|(或) 第2页靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第2页 x>3/2 ‘a’+1<c -i-5*j==k+1 都是合法的关系表达式。由于表达式也可以又是关系表达式。 因此也允许出现嵌套的情况。 例如: a>(b>c) a!=(c==d) 等。 关系表达式的值是真”和“假”,用“1”和“0”表示。 如: 5>0 的值为“真”,即为 1。 (a=3)>(b=5)由于 3>5 不成立,故其值为假,即为 0。 【例 5.1】 main(){ char c='k'; int i=1,j=2,k=3; float x=3e+5,y=0.85; printf("%d,%d\n",’a’+5<c,-i-2*j>=k+1); printf("%d,%d\n",1<j<5,x-5.25<=x+y); printf("%d,%d\n",i+j+k==-2*j,k==j==i+5); } 在本例中求出了各种关系运算符的值。字符变量是以它对应的 ASCII 码参与运算的。对 于含多个关系运算符的表达式,如 k==j==i+5,根据运算符的左结合性,先计算 k==j,该式不 成立,其值为 0,再计算 0==i+5,也不成立,故表达式值为 0。 5.2 逻辑运算符和表达式 5.2.1 逻辑运算符极其优先次序 C语言中提供了三种逻辑运算符: 1) && 与运算 2) || 或运算 3) ! 非运算 与运算符&&和或运算符||均为双目运算符。具有左结合性。非运算符!为单目运算符, 具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下: !(非)→&&(与)→||(或)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有