程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言關系運算符和表達式學習資料

C語言關系運算符和表達式學習資料

編輯:關於C語言
 

在程序中經常需要比較兩個量的大小關系,以決定程序下一步的工作。比較兩個量的運算符稱為關系運算符。
 

關系運算符及其優先次序

在C語言中有以下關系運算符:

  1. <(小於)
  2. <=(小於或等於)
  3. >(大於)
  4. >=(大於或等於)
  5. ==(等於)
  6. !=(不等於)


關系運算符都是雙目運算符,其結合性均為左結合。關系運算符的優先級低於算術運算符,高於賦值運算符。在六個關系運算符中,<、<=、>、>=的優先級相同,高於==和!=,==和!=的優先級相同。
 

關系表達式

關系表達式的一般形式為:
    表達式  關系運算符  表達式

例如:
    a+b>c-d
    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】

復制純文本新窗口
 
  1. #include <stdio.h>
  2. int main(void){
  3. char c='k';
  4. int i=1, j=2, k=3;
  5. float x=3e+5, y=0.85;
  6. printf( "%d,%d\n", 'a'+5<c, -i-2*j>=k+1 );
  7. printf( "%d,%d\n", 1<j<5, x-5.25<=x+y );
  8. printf( "%d,%d\n", i+j+k==-2*j, k==j==i+5 );
  9. return 0;
  10. }
#include <stdio.h>
int main(void){
    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 );
    return 0;
}

在本例中求出了各種關系運算符的值。字符變量是以它對應的ASCII碼參與運算的。對於含多個關系運算符的表達式,如k==j==i+5,根據運算符的左結合性,先計算k==j,該式不成立,其值為0,再計算0==i+5,也不成立,故表達式值為0。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved