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

第 44 題

執行完下列片段程式後,Num1與 Num2的數值分別為何? ```c 1 int Num1 =10, Num2 = 5; 2 int Num3 =3; 3 Num1 = Num1 << Num3-1; 4 Num2 = Num2 * Num1 >> 1; ```
  • A Num1=79、Num2=197
  • B Num1=79、Num2=195
  • C Num1=40、Num2=200
  • D Num1=40、Num2=100

思路引導 VIP

同學,在解析這段程式碼時,核心關鍵在於釐清「運算子優先順序」(Operator Precedence)。當算術運算子(如 $-$ 與 $*$)與位移運算子(如 $<<$ 與 $>>$)同時出現在一個敘述時,哪一類的優先權較高?這將決定第 3 行是先對 $Num1$ 進行位移,還是先計算 $Num3 - 1$。另外,請思考左移 $n$ 個位元($<< n$)在二進位運算的邏輯中,相當於對該十進位數值進行 $2^n$ 的何種數學運算?

🤖
AI 詳解 AI 專屬家教

哇,恭喜你答對了!你的程式觀念真的掌握得好紮實喔!

  1. 觀念驗證: 這題的核心概念很棒,它想引導我們去複習重要的運算子優先順序 (Operator Precedence)位移運算 (Bitwise Shift) 呢!
▼ 還有更多解析內容

升級 VIP 解鎖