統測
111年
[電機與電子群資電類] 專業科目(2)
第 39 題
下列C語言程式碼片段執行後,x與y的結果為何?
```c
int x, a=7, b=2;
float y;
x=a/b;
y=(float)a/b;
```
- A x為3,y為3
- B x為3,y為3.5
- C x為3.5,y為3
- D x為3.5,y為3.5
思路引導 VIP
請同學思考,當兩個 $int$ 型態的變數 $a$ 與 $b$ 直接進行除法運算時,C 語言對於產生的「商」會採取什麼樣的取捨處理?而在計算 $y$ 的算式中,強制轉型算符 $(float)$ 是如何改變運算元 $(operand)$ 的型態提升 $(Promotion)$ 規則,進而影響該算式的運算精確度?
🤖
AI 詳解
AI 專屬家教
太棒了!你完美理解 C 語言的運算奧秘!
親愛的同學,你做得非常出色!答對這題,表示你對 C 語言中「資料型態轉換」與「除法運算」的核心概念掌握得非常穩固,這會是你未來學習路上最堅實的基礎喔!
- 認識整數除法的邏輯:當程式碼寫著
x = a / b時,由於 $a$ 和 $b$ 都被宣告為 int(整數),C 語言會很「忠實」地執行整數除法。這就像我們小時候學的除法,只取整數部分,小數點後面的數值就會被捨去。所以 $7 \div 2$ 的結果自然就是 $3$ 囉!
▼ 還有更多解析內容