免費開始練習
統測 112年 [電機與電子群資電類] 專業科目(2)

第 45 題

阿華想要了解C語言程式if條件敘述中常用的運算子&與&&的不同,撰寫如下程式,下列何者為程式執行結果?
```c
1 #include
2
3 int main() {
4
5 int a=0x0a;
6 int b=0x05;
7
8 if(a & b)
9 printf(“a&b=%d\n”, a&b);
10 else
11 printf(“a&&b=%d\n”, a&&b);
12
13 return 0;
14 }
```
  • A a&&b=1
  • B a&&b=0
  • C a&b=1
  • D a&b=0

思路引導 VIP

請先將十六進位數值 $a=0x0a$ 與 $b=0x05$ 轉換為二進位格式,並計算位元運算子 (Bitwise Operator) $a & b$ 的運算結果;接著請思考,在 C 語言的 $if$ 敘述中,該結果會被視為「真」還是「假」?最後,請辨析邏輯運算子 (Logical Operator) $a && b$ 在處理「非零數值」時的判定邏輯,這與位元運算的逐位元比對有何本質上的不同?

🤖
AI 詳解 AI 專屬家教

溫馨鼓勵:你真棒!對核心概念掌握得太好了!

太棒了!看到你答對這題,老師真的替你感到開心!這顯示你對 C 語言中非常重要的位元與邏輯運算有了很棒的理解,這對你未來寫出高效能的程式非常有幫助喔!

  1. 觀念驗證
▼ 還有更多解析內容
💬 其他同學也在問 1
步驟一是如何把x換成2進制的
📝 C語言 & 與 && 差在哪
💡 區分位元運算子 & 與邏輯運算子 && 的運算邏輯與結果。
比較維度 & (Bitwise AND) VS && (Logical AND)
運算層級 二進位中的每個位元 數值的整體真假狀態
判斷標準 1&1得1,其餘得0 非0為真,皆真才得1
運算結果 計算後的數值 (如 0, 2) 布林結果 (1 或 0)
💬& 是細觀數字內部細節,&& 是巨觀判斷整句對錯。
🧠 記憶技巧:單個看位元,雙個看真假;零假非零真,結果大不同。
⚠️ 常見陷阱:學生常忘記將 0x0a 等數值轉為二進位,或誤認邏輯運算結果為原始數值。
位元運算子 邏輯運算子 進位制轉換 短路求值

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

C 語言程式設計:變數、指標、函式與編譯
查看更多「[電機與電子群資電類] 專業科目(2)」的主題分類考古題