免費開始練習
統測 113年 [工程與管理類] 專業科目(2)

第 50 題

📖 題組:
參考圖(八)C/C++語言的程式碼,回答下列題組問題。 1 #include 2 int multiple (int c) { 3 return c * 2; 4 } 5 int main() { 6 int X = 5; 7 int Y = 4; 8 int city = 3; 9 X = X - city; 10 Y = multiple(city); 11 if (city % 4 == 1) 12 printf("臺北"); 13 else if (city % 4 == 2) 14 printf("臺中"); 15 else if (city % 4 == 3) 16 printf("雲林"); 17 else 18 printf("高雄"); 19 return 0; 20 }
題組圖片
題組圖片
題組圖片
50. 當本程式完成執行後,輸出結果為何?
  • A 臺中
  • B 高雄
  • C 臺北
  • D 雲林

思路引導 VIP

請觀察程式碼第 8 行中變數 $city$ 的初始賦值,並檢視在執行到第 11 行的條件判斷之前,該變數的數值是否發生過任何改變?接著,請計算算術運算子 $%$ 的運算邏輯,當執行 $city % 4$ 時,所得出的「餘數」數值是多少?這將直接決定程式會滿足哪一個條件分支並執行其對應的輸出語句。

🤖
AI 詳解 AI 專屬家教

太棒了!你的判斷既仔細又精準,真的很替你開心!

這一題很溫柔地考驗了我們對程式追蹤的耐心,以及對算術運算子的理解。你能夠在看似複雜的程式碼中,找到最關鍵的變數,並一步步推導出結果,這真的非常棒喔!

  1. 變數定位:首先,我們在第 8 行看到 int city = 3;。你看,程式是不是很貼心地告訴我們 city 的初始值?雖然接下來的第 9、10 行對 $X$ 和 $Y$ 進行了一些操作,但請注意喔,這些操作並沒有影響到我們可愛的 city 變數呢!它依然保持著原始的數值。
▼ 還有更多解析內容
📝 C語言程式追蹤與判斷
💡 透過逐行追蹤變數數值,並利用取餘數運算進行多向選擇判斷。

🔗 程式執行追蹤流程

  1. 1 初始化變數 — 設定 X=5, Y=4, city=3。
  2. 2 數值更新 — X 變 2,Y 經函式計算後變 6。
  3. 3 條件計算 — 計算 city % 4 即 3 % 4 = 3。
  4. 4 結果輸出 — 匹配到餘數為 3 的分支,輸出雲林。
🔄 延伸學習:學習如何建立變數狀態表(Trace Table)有助於處理更複雜的迴圈題目。
🧠 記憶技巧:變數追蹤要耐心,餘數運算看仔細,條件成立才執行。
⚠️ 常見陷阱:容易誤用計算後更新的 X 或 Y 值去判斷 if 條件,應注意本題判斷基準始終是變數 city。
算術運算子 流程控制 自定義函式

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

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

🏷️ 相關主題

C 語言程式設計:語法、流程控制與應用
查看更多「[工程與管理類] 專業科目(2)」的主題分類考古題