農會 資訊管理類程式設計108 年第 12 題單選題
在C 程式語言中,下列何者為TRUE?
A(3>2)&&(5!=2)正確答案
B(2%3==2)正確答案
C!(3!=2)
D(5>2)|(3>7)正確答案
E!(6>4)||(3>7)
A、B、D正確答案
掌握C語言關係、邏輯與位元運運算元的計算順序與結果,注意取餘數(%)與位元OR(|)的陷阱!
為什麼答案是 A、B、D
3>2為True(1),5!=2為True(1),1&&1結果為True(1)。
考點:邏輯AND考點:取餘數運算考點:邏輯NOT考點:位元OR
載入中…
完整詳解
Pro · 無限重點 掌握C語言關係、邏輯與位元運運算元的計算順序與結果,注意取餘數(%)與位元OR(|)的陷阱!
先算括號內與關係運算(>、!=、%),再算邏輯與位元運算(&&、||、|、!)。記住C語言中非0即為TRUE!
逐選項分析
A邏輯AND✓ 正確
3>2為True(1),5!=2為True(1),1&&1結果為True(1)。
B取餘數運算✓ 正確
%為取餘數運運算元,2除以3商0餘2,故2%3等於2,2==2成立為True。
C邏輯NOT✕
3!=2為True(1),經過邏輯NOT(!)反轉後變為False(0),故為FALSE。
D位元OR✓ 正確
5>2為1,3>7為0。單一直線|為位元OR,1|0結果為1,非0即為True。
E邏輯OR✕
6>4為1,!1為0;3>7為0。0||0結果為False(0),故為FALSE。
C語言邏輯與關係運運算元快速對照
| 運運算元 | 名稱 | 範例 | 結果 |
|---|
| && | 邏輯 AND | 1 && 1 | 1 (True) |
| || | 邏輯 OR | 1 || 0 | 1 (True) |
| ! | 邏輯 NOT | !1 | 0 (False) |
| | | 位元 OR | 1 | 0 | 1 (True) |
| % | 取餘數 | 2 % 3 | 2 |
D選項使用位元OR(|)而非邏輯OR(||),考生易誤判為False或語法錯誤。實際上關係運算結果為1或0,1|0結果為1,在C語言中非0即為True。