邏輯運算子和邏輯表示式
(一)邏輯運算子及其優先次序
1邏輯與) 相當於其他語言中的and
2邏輯或) 相當於其他語言中的or
3邏輯非) 相當於其他語言中的not
例:a&&b 若a,b為真,則a&&b為真。
a||b 若a,b之一為真,則a||b為真。
!a 若a為真,則!a為假。
優先次序:
邏輯運算子中的「&&」和「||」低於關係運算子,「!」高於算
術運算子
邏輯非》算數運算子》關係運算子》&&和||>賦值運算子》逗號運算子
(二)邏輯表示式
用邏輯運算子將關係表示式或邏輯量連線起來的式子就
是邏輯表示式
邏輯表示式的值應該是乙個邏輯量「真」或「假」。
任何非零的數值都被認作「真」
例:設a=4,b=5:
!a的值為0a&&b的值為1
a||b的值為1a||b的值為1
4&&0||2的值為1
例:5>3&&8<4-!0 (從左向右運算)
表示式值為0
1)!0=1 2)4-1=3 3)5>3值為1 8<3值為0
4)1&&0值為0
(三)短路現象
在邏輯表示式的求解中,並不是所有的邏輯運算子都要被執行。
(1)a&&b&&c 只有a為真時,才需要判斷b的值,只有a和b都為真時,才需要判斷c的值。
(2)a||b||c 只要a為真,就不必判斷b和c的值,只有a為假,才判斷b。a和b都為假才判斷c
例:int m=10,n=12,a=1,b=3,c=14,d=7,i,j;
<1>i=(m=a>b)&&(n=c>d); printf(「%d,%d\n」,m,n); /*輸出值:0,12 */
j=(m=a>b)||(n=c>d); printf(「%d,%d\n」,m,n);
/*輸出值:1,12 */
printf(「%d,%d\n」,i,j);
輸出值:0,1
<2>i=(m=ad); printf(「%d,%d\n」,m,n);
/*輸出值:1,1 */
j=(m=ad); printf(「%d,%d\n」,m,n);
printf(「%d,%d\n」,i,j);
輸出值:1,1
c語言邏輯運算子詳解
邏輯運算子 包括 1。邏輯與 2。邏輯或 3。邏輯非 邏輯運算子用於對包含關係運算子的表示式進行合併或取非 對於使用邏輯運算子的表示式,返回0表示 假 返回1表示 真 關於邏輯運算子的解釋 請注意 任何使用兩個字元做符號的運算子,兩字元之間不應有空格,即將 寫成 是錯誤的。假設乙個程式在同時滿足條件...
實驗02資料型別 運算子和表示式
實驗目的 1 掌握c語言資料型別,熟悉如何定義乙個整型 字元型和實型的變數,以及對它們賦值的方法 2 掌握不同型別資料之間賦值的規律 3 學會使用c語言的有關算術運算子,以及包含這些運算子的表示式,特別是自加 和自減 運算子的使用 4 進一步熟悉c程式的編輯 編譯 連線和執行的過程。實驗內容 1 輸...
實驗2 資料型別 運算子和表示式new
實驗課程名稱c語言實驗報告 實驗專案名稱資料型別 運算子和表示式 專業班級 學生姓名 學號指導教師 實驗時間 實驗2 資料型別 運算子和表示式 1.實驗目的 1 掌握g語言資料型別,熟悉如何定義乙個整型 字元型和實型的變數,以及對它 們賦值的方法。2 掌握不同的型別資料之間賦值的規律。3 學會使用c...