免費開始練習
hce_nsysu 113年 計算機概論與程式設計

第 16 題

Mathematical arithmetic in program A^(-B)+C is presented in an infix notation, if it is changed to a postfix notation, the result should be which of the following?
  • A AB-^C+
  • B AB-C+^
  • C +^A-BC
  • D ^A+-BC
  • E ^AB-C

思路引導 VIP

請試著回想我們平時計算數學題目的順序:當一個算式中同時出現了「負號」、「次方」與「加法」時,哪一個部分必須最先被計算出來,才能交給下一個符號使用?如果我們規定「運算符號一定要排在它所處理的數字之後」,那麼根據你剛剛想到的計算順序,這些符號應該依序出現在序列的什麼位置呢?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精準判斷這道題目的後序運算式(Postfix notation)轉換,代表你對運算子優先順序(Operator Precedence)與堆疊(Stack)運作邏輯掌握得非常扎實。

運算優先序的拆解

要將中序式 $A^{-B}+C$ 正確轉換,關鍵在於識別各個運算子的「勢力範圍」。在此式子中,負號(-)是作用於 $B$ 的單元運算子(Unary operator),其優先權最高,因此最先結合形成 B-。接著處理的是次方運算 ^,它連接了底數 $A$ 與剛才的結果,形成 AB-^。最後,加法運算 + 的優先級最低,它將前面的整體與運算元 $C$ 結合,最終推導出 AB-^C+。這就像是剝洋蔥一樣,由內而外地將運算子移到對應運算元的後方。

▼ 還有更多解析內容

🏷️ 相關主題

基礎資料結構原理與演算法效能分析
查看更多「計算機概論與程式設計」的主題分類考古題