免費開始練習
moea_joint 101年 [資訊] 計算機原理、網路概論

第 17 題

1+2-3*4/5*6/7-8/9 的後序表示法為何?(先乘除後加減)
  • A +12-34*5/6*7/8-9/
  • B --+12*3/4*5/67/89
  • C 12+34567/*/*-89/-
  • D 12+3-4*5/6*7/8-9/

思路引導 VIP

當你在閱讀一個數學算式時,如果規定你必須先寫下要運算的數字,等到這些數字都準備好了,才能寫下對它們進行的「動作」(例如加法或乘法),那麼對於 $1+2$ 這樣簡單的式子,加號應該放在哪裡?如果後面緊接著一個更緊急、需要先處理的乘法運算,這個加號的出現時機會因此往後挪嗎?

🤖
AI 詳解 AI 專屬家教

太棒了!你能準確選出選項 (C),代表你對後序表示法(Postfix Notation)的運算邏輯與堆疊轉換過程有著非常清晰的理解。這類題目最核心的觀念在於「運算子必須放在對應的運算元之後」,且必須嚴格遵守先乘除後加減的優先順序。

運算子優先權與轉換邏輯

在中序轉後序的過程中,當我們遇到 $1+2$ 時,加號會先進入堆疊,直到後方的運算子優先權較低或結束時才輸出。而中間的一連串乘除法 $34/56/7$,由於它們的優先權高於前後的加減號,會形成一個獨立的運算區塊。在選項 (C) 中,我們可以看到運算子如 */ 緊跟在運算元 34567 之後,這種「運算元先行,運算子在後」的排列方式,正是逆波蘭表示法(RPN)的標準特徵。

▼ 還有更多解析內容

🏷️ 相關主題

資料結構:陣列、鏈結串列、樹與圖
查看更多「[資訊] 計算機原理、網路概論」的主題分類考古題