當前位置:編程學習大全網 - 編程語言 - c語言邏輯運算符怎麽理解?

c語言邏輯運算符怎麽理解?

*****

*****凡是C語言中的運算符大都有與之對應的操作數,而且操作數的數據類型往往都有壹定的限制。C語言的邏輯運算符比較特別,它的操作數沒有明確的數據類型,它們統稱邏輯值,但是這個邏輯值卻沒有與之對應的數據類型,比如C++裏面的bool已經Windows裏面的BOOL,很遺憾C沒有自己的邏輯類型。

*****

*****C規定,所有帶有整形性質的數據類型都可以作為邏輯運算符的操作數,包括所有整形(有符號/無符號int、long),字符型(有符號/無符號char),以及所有指針。這些數據類型定義的變量,都與壹個整數對應,只要這個整數不是0,C就把它當作邏輯值的‘真’,只有當變量值為0時,變量對應的邏輯值才為‘假’。

*****

*****編譯器是如何使用這種‘真’‘假’值呢?壹般在選擇判斷語句,即if語句。只要if()括號裏的值非零,編譯器就認為條件滿足(假設成立),從而執行後面的語句組。

*****

*****準備好了嗎? 現在可以開始談運算符了。運算符就是對以上介紹的壹個或多個邏輯值(可以用1統壹代表非零作為真值,用0代表假值)進行運算的符號,其中有“&&”、“||”、“!”三個。第壹個,對兩個邏輯值做“與運算”,只有當兩個邏輯值都為真時結果才是真,可以理解成邏輯值相乘;第二個,對兩個邏輯值做“或運算”,只要兩個邏輯值其中壹個為真結果就為真,可以理解成邏輯值相加;第三個,求反,顧名思義,操作數邏輯值為真,求反運算結果則為假,反之亦然。

*****

*****說了不少,不知夠不夠清楚,舉幾個例子吧。

// Example 1:

int intValue;

long longValue;

char charValue;

long* pLong;

intValue = -100;

longValue = 0;

charValue = 'A';

pLong = &longValue;

// 與 “&&”

if( (intValue<charValue) && longValue)

{

printf("&&與運算結果為真");

}

{

printf("&&與運算果為假"); //執行, 因為右操作數值為0,邏輯值為假。 再經求與,結果為假!

}

// 或 “||”

if( (intValue<charValue) || longValue)

{

printf("||或運算結果為真");//執行,因為左操作數()邏輯值值為1,邏輯值為真。 再經求或,結果為真!

}

{

printf("||或運結果為假");

}

// 求反 “!”

if(!pLong)

{

printf("!求反運算結果為真");

}

{

printf("!求反運算結果為假"); //執行,因為唯壹的右操作是地址肯定不為0。邏輯值為真。 再經求反,結果為假!

}

******

******花了30多分鐘回答妳的問題,哈哈!成copy的啦!隨便妳怎麽想,妳要是覺得我寫的東西對妳沒幫助的話,我沒有什麽好說的......

  • 上一篇:復旦什麽專業最賺錢
  • 下一篇:如何應用電子設備來幫助小學生學數學?
  • copyright 2024編程學習大全網