日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

您好,歡迎進入深圳市穎特新科技有限公司官方網(wǎng)站!

您現(xiàn)在的位置:首頁 新聞資訊 >> 新聞頭條 >> C語言關系運算符
新聞資訊
NEWS INFORMATION

C語言關系運算符

發(fā)布時間:2019-05-22

在上節(jié)《C語言if else語句》中看到,if 的判斷條件中使用了<=>、!=等符號,它們專門用在判斷條件中,讓程序決定下一步的操作,稱為關系運算符(Relational Operators)。

關系運算符在使用時,它的的兩邊都會有一個表達式,比如變量、數(shù)值、加減乘除運算等,關系運算符的作用就是判明這兩個表達式的大小關系。注意,是判明大小關系,不是其他關系。

C語言提供了以下關系運算符:

關系運算符含  義數(shù)學中的表示
< 小于 <
<= 小于或等于
> 大于 >
>= 大于或等于
== 等于 =
!= 不等于


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

在C語言中,有的運算符有兩個操作數(shù),例如 10+20,10和20都是操作數(shù),+ 是運算符。我們將這樣的運算符稱為雙目運算符。同理,將有一個操作數(shù)的運算符稱為單目運算符,將有三個操作數(shù)的運算符稱為三目運算符。

常見的雙目運算符有 +、-、*、/ 等,單目運算符有 ++、-- 等,三目運算符只有一個,就是 ? :,我們將在《C語言條件運算符》中詳細介紹。

關系運算符的兩邊可以是變量、數(shù)據(jù)或表達式,例如:
1) a+b > c-d
2) x > 3/2
3) 'a'+1 < c
4) -i-5*j == k+1

關系運算符也可以嵌套使用,例如:
1) a > (b > c)
2) a != (c == d)

關系運算符的運算結果只有 0 或 1。當條件成立時結果為 1,條件不成立結果為 0。例如:

  • 5>0 成立,其值為 1;
  • 34-12>100 不成立,其值為 0;
  • (a=3)>(b=5) 由于3>5不成立,故其值為 0。


我們將運算結果 1 稱為“真”,表示條件成立,將 0 稱為“假”,表示條件不成立。

下面的代碼會將關系運算符的結果輸出:

  1. #include <stdio.h>
  2. int main(){
  3. char c='k';
  4. int i=1, j=2, k=3;
  5. float x=3e+5, y=0.85;
  6. int result_1 = 'a'+5<c, result_2 = x-5.25<=x+y;
  7. printf( "%d, %d\n", result_1, -i-2*j>=k+1 );
  8. printf( "%d, %d\n", 1<j<5, result_2 );
  9. printf( "%d, %d\n", i+j+k==-2*j, k==j==i+5 );
  10. return 0;
  11. }

運行結果:
1, 0
1, 1
0, 0

對于含多個關系運算符的表達式,如 k==j==i+5,根據(jù)運算符的左結合性,先計算k==j,該式不成立,其值為0,再計算0==i+5,也不成立,故表達式值為0。

需要提醒的是,==才表示等于,而=表示賦值,大家要注意區(qū)分,切勿混淆。

再談 if 語句的判斷條件

if 語句的判斷條件中不是必須要包含關系運算符,它可以是賦值表達式,甚至也可以是一個變量,例如:

  1. //情況①
  2. if(b){
  3. //TODO:
  4. }
  5. //情況②
  6. if(b=5){ //情況①
  7. //TODO:
  8. }

都是允許的。只要整個表達式的值為非0,條件就成立。

上面兩種情況都是根據(jù)變量 b 的最終值來判斷的,如果 b 的值為非0,那么條件成立,否則不成立。

又如,有程序段:

  1. if(a=b)
  2. printf("%d",a);
  3. else
  4. printf("a=0");

意思是,把 b 的值賦予 a,如果為非0則輸出該值,否則輸出“a=0”字符串。這種用法在后面的程序中會經(jīng)常出現(xiàn)。

聯(lián)系方式0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

泰宁县| 乌拉特中旗| 穆棱市| 菏泽市| 镶黄旗| 遂溪县| 庆安县| 焉耆| 甘德县| 鄂托克前旗| 古交市| 岳普湖县| 平南县| 九台市| 九龙坡区| 南阳市| 新民市| 开阳县| 菏泽市| 黔江区| 山丹县| 保亭| 吉林市| 惠安县| 原阳县| 晋宁县| 个旧市| 兴仁县| 时尚| 金坛市| 绥棱县| 库伦旗| 台南县| 花莲市| 拜城县| 和平区| 白河县| 兴文县| 泗阳县| 山东| 石首市|