Examly題庫
共 2 類科共用卷
國家安全情報人員考試五等考試-資訊組身障特考五等考試-電腦打字
計算機大意110 年第 32 題單選題

一個 C++程式片段如下:int abc(int x) { if (0>=x) return 1; return abc(x-1)+abc(x-2);} int main() { cout << abc(3) << endl; } 下列何者正確?

Acompile 不會通過,因為(0>=x),不符合 C++語法,應該是(x<=0)
Bcompile 會通過,但執行會進入無窮遞迴。因為 abc(int x) {...}內,又再呼叫了 2 次 abc(...),如此不停呼叫,導致無法停止
C會正常執行,列印出 3
D會正常執行,列印出 5正確答案
答案與詳解
D
正確答案
遞迴計算 abc(3):展開後為 5,類費氏數列變形。

逐選項解析

Acompile 不會通過,因為(0>=x),不符合 C++語法,應該是(x<=0)✕ 錯誤
(0>=x) 與 (x<=0) 語意相同,C++ 語法完全合法,compile 會通過。
Bcompile 會通過,但執行會進入無窮遞迴。因為 abc(int x) {...}內,又再呼叫了 2 次 abc(...),如此不停呼叫,導致無法停止✕ 易錯陷阱
有 base case:當 x<=0 回傳 1,遞迴會終止,不會無窮呼叫。
C會正常執行,列印出 3✕ 易錯陷阱
D會正常執行,列印出 5✓ 正確

立即註冊,看完整詳解

這題的完整詳解,註冊就能看 · 每天 2 題免費

精選詳解
  • 完整逐選項解析
  • 秒殺解題技巧與破題關鍵
  • 關鍵知識表整理
  • 陷阱與易錯提醒
  • 同考點歷屆題庫連續刷題與錯題本
接著練習整份考卷查看 110 年 國家安全情報人員考試五等考試-資訊組《計算機大意》完整試題與解答

同科目歷年考卷

計算機大意 相關題目

想練更多計算機大意考古題?

Examly 收錄 50 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Examly