Examly題庫立即開始練習
國中教甄|資訊科技資訊科技102 年第 6 題單選題

下列關於遞迴呼叫(recursive call)的敘述,何者正確?

A函數不可以呼叫函數本身
B函數內部必須定義何時為遞迴結束正確答案
C不可使用於 FOR 迴圈當中
D與非遞迴的程式相較,設計上會耗用較多的程式碼
答案與詳解
B
正確答案
遞迴呼叫必須設定明確的終止條件以避免無窮遞迴,且通常能使程式碼更為簡潔。

逐選項解析

A函數不可以呼叫函數本身✕ 錯誤
遞迴(Recursion)的核心定義即是函數在執行過程中呼叫自身,因此函數可以呼叫函數本身。
B函數內部必須定義何時為遞迴結束✓ 正確
遞迴函數內部必須定義明確的終止條件(Base Case),否則會陷入無窮遞迴,最終導致堆疊溢位(Stack Overflow)而使程式崩潰。
C不可使用於 FOR 迴圈當中✕ 錯誤
遞迴函數的內部或呼叫遞迴的過程中,皆可自由搭配 FOR 迴圈、WHILE 迴圈等各種控制結構使用,並無限制。
D與非遞迴的程式相較,設計上會耗用較多的程式碼✕ 易錯陷阱
遞迴通常能以更精簡的程式碼解決具有自我相似性的複雜問題(如樹的遍歷、費氏數列),因此程式碼行數通常較非遞迴(迭代)少;但其代價是會消耗較多的記憶體(呼叫堆疊)與執行時間。考生易將耗用較多系統資源與耗用較多程式碼混淆。

立即註冊,看進階詳解與知識整理

這題的進階詳解與知識整理,註冊就能看 · 每天 2 題免費

精選詳解
  • 秒殺解題技巧與破題關鍵
  • 關鍵知識表整理
  • 陷阱與易錯提醒
  • 同考點歷屆題庫連續刷題與錯題本

資訊科技 相關題目

想練更多資訊科技考古題?

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

黑皮