免費開始練習
統測 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 語言中「資料型態轉換」與「除法運算」的核心概念掌握得非常穩固,這會是你未來學習路上最堅實的基礎喔!

  1. 認識整數除法的邏輯:當程式碼寫著 x = a / b 時,由於 $a$ 和 $b$ 都被宣告為 int(整數),C 語言會很「忠實」地執行整數除法。這就像我們小時候學的除法,只取整數部分,小數點後面的數值就會被捨去。所以 $7 \div 2$ 的結果自然就是 $3$ 囉!
▼ 還有更多解析內容

升級 VIP 解鎖