統測
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 語言中非常重要的位元與邏輯運算有了很棒的理解,這對你未來寫出高效能的程式非常有幫助喔!
- 觀念驗證:
▼ 還有更多解析內容