今天為大家帶來邏輯運算符與表達式的詳細教程
在C語言中,我們通常會進行真值與假值的判斷,這時我們就需要用到邏輯運算符與邏輯表達式。如果表達式的值不為0,則通通返回為真值。只有當表達式的值為0時,才會返回假值。
1.邏輯運算符
在C語言中,邏輯運算符共有三種。使用這三種邏輯運算符可以將多個表達式捆綁在一起。C語言的邏輯運算符如下:
符號 | 功能 |
---|---|
&& | 與 |
! | 非 |
上述邏輯運算符除去 非 以外,其他兩個邏輯運算符都是雙目運算符。
2.邏輯表達式
邏輯運算符與邏輯表達式的作用在于可以將多個表達式綁定到一起判斷,一般判斷的格式如下:
表達式 邏輯運算符 表達式 ;
邏輯表達式一般在 if 和 while 等語句上使用,具體使用方法如下:
#include
#include
using namespace std;
int main()
{
int Num1, Num2, Num3, Num4;
Num1 = Num2 = 10;
Num3 = Num4 = 20;
bool Result;
// if 語句示例
if (Num1==Num2&&Num1==Num3)
{
cout << "這個語句是且 不符合條件 不輸出" << endl;
}
cout << "------------------------------" << endl;
if (Num1 == Num2 && Num3 == Num4)
{
cout << "這個語句是且 符合條件 輸出" << endl;
}
cout << "------------------------------" << endl;
}
以上代碼的運行結果如下:
由此可見,邏輯表達式可以進行表達式綁定以及判斷。
3.優先級與結合性
在C語言中,普通的運算符和表達式有優先級和結合性。關系運算符和關系表達式有優先級和結合性,不難看出,邏輯運算符和邏輯表達式也有其優先級和結合性。
邏輯運算符的優先級是 非! 最高,其次是 && 和 || 。在結合性方面,邏輯表達式遵循自左到右的原則。另外,值得一提的是,我們可以通過邏輯運算符將其他類型的數據強行轉化為布爾型數據,例如:
#include
#include
using namespace std;
int main()
{
int Num1, Num2;
Num1 = Num2 = 10;
cout << "輸出未強行轉化的數值" << endl;
cout << Num1 << endl;
cout << "輸出強行轉化的數值" << endl;
cout << !!Num1 << endl;
}
上述示例代碼的運行結果如下:
由此可以看出,我們可以使用邏輯運算符對變量進行強制數據類型轉化。從上面的教程可以看出,布爾類型輸出的值為非0,則為真。因為數據 10 不為 0 ,其本身就是真值。使用兩次 單目邏輯非 就可以使數據類型變為布爾類型, 且因為使用了兩次 單目邏輯非 ,其布爾值從真變為假后又變為真。
今天的內容就到這里,下期小編將帶大家繼續學習,請各位看官老爺關注轉發~~~
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
C語言
+關注
關注
180文章
7604瀏覽量
136826 -
邏輯
+關注
關注
2文章
833瀏覽量
29470 -
運算符
+關注
關注
0文章
172瀏覽量
11084
發布評論請先 登錄
相關推薦
Linux內核中C語法擴展-語句表達式
表達式和語句是 C 語言中的基礎概念。什么是表達式呢?表達式就是由一系列操作符和操作數構成的式子。操作符可以是 C 語言標準規定的各種算術
JAVA語言的運算符及表達式
JAVA語言的運算符及表達式3.5 運算符及表達式數據的類型除了限定數據的存儲方式、取值范圍之外,還定義了對該數據類型可進行的操作即運算。表
發表于 12-06 00:28
SystemVerilog-運算符/表達式規則
RTL建模中廣泛使用的運算符是條件運算符,也稱為三元運算符,該運算符用于在兩個表達式之間進行選擇——表5-2列出了用于表示條件
C語言基本的算術運算符及表達式
注意:自增和自減運算符只能用于變量,而不能用于常量或表達式
**C語言算術表達式和運算符的優先級與結合性 **
在表達式求值時,
評論