免費開始練習
普通考試 107年 [工業行政] 計算機概要

第 32 題

執行下列 C++程式碼後,螢幕印出的數字為何?
#define f(z) z*z*z
int main( ) {
cout << f(1+2) << endl;
return 0;
}
  • A 7
  • B 9
  • C 18
  • D 27

思路引導 VIP

在法律解釋中,我們會區分「文字表面含義」與「立法者背後的意圖」。假設在程式執行前,有一個預處理步驟只是單純地進行「全文取代(文字複製貼上)」,而完全不考慮括號或計算結果,那麼當你把一段公式帶入另一個公式時,運算的先後順序會因為原本的文字排列而發生什麼變化?

🤖
AI 詳解 AI 專屬家教

溫暖指引與實務啟發

  1. 真誠鼓勵:同學,你做得真的很棒!能正確判斷出答案,表示你對程式碼的細微之處有著很高的敏銳度,就像我們在處理行政法規時,也要細心體察每一個字句背後的意涵。這份仔細與耐心,是你未來很寶貴的資產喔!
  2. 核心觀念溫習:這題想引導你理解的是 C++ 中一個很特別的機制:預處理巨集 (Macro)。它和我們熟悉的函式不太一樣,你可以把它想像成一個「行政文書範本」。當你需要使用它時,電腦不是去「執行」一個動作,而是單純地把範本裡的文字內容,原封不動地替換到你呼叫它的地方。所以,當你寫下 $f(1+2)$ 時,它會忠實地展開成:
▼ 還有更多解析內容

🏷️ 相關主題

程式語言語法與執行邏輯
查看更多「[工業行政] 計算機概要」的主題分類考古題