農會 資訊管理類程式設計108 年第 39 題單選題
C 語言程式片段,int a = (2>3)||(2!=3); 執行後,a 的值為多少?
B正確答案
C語言邏輯或(||)運算結果僅為0或1,(2>3)為假(0),(2!=3)為真(1),0||1結果為1。
為什麼答案是 B
(2>3)為假(0),(2!=3)為真(1),0||1結果為真,C語言以1表示真。
考點:邏輯或運算考點:邏輯運算結果
載入中…
完整詳解
Pro · 無限重點 C語言邏輯或(||)運算結果僅為0或1,(2>3)為假(0),(2!=3)為真(1),0||1結果為1。
邏輯運算(||、&&)結果在C語言中只有0和1,直接排除C和D;一真即真,故選1。
逐選項分析
A邏輯或運算✕
若兩側條件皆為假(0),邏輯或的結果才會是0。
B邏輯或運算✓ 正確
(2>3)為假(0),(2!=3)為真(1),0||1結果為真,C語言以1表示真。
C邏輯運算結果✕
C語言的邏輯運算結果只會是0或1,不會出現2這個數值。
D邏輯運算結果✕
C語言的邏輯運算結果只會是0或1,不會出現3這個數值。
C語言邏輯運運算元與結果
| 運運算元 | 名稱 | 運算規則 | 結果值 |
|---|
| && | 邏輯且(AND) | 兩者皆真才為真 | 0 或 1 |
| || | 邏輯或(OR) | 其一為真即為真 | 0 或 1 |
| ! | 邏輯反(NOT) | 真變假,假變真 | 0 或 1 |
考生易將「邏輯運運算元(||)」與「位元運運算元(|)」混淆。位元運算會針對二進位進行運算而可能產生大於1的值,但邏輯運算結果在C語言中嚴格限制只有0(假)與1(真)。