免費開始練習
普考申論題 109年 [資訊處理] 程式設計概要

第 一 題

一、下面的遞迴程式執行後,印出的信息為何?(作答必須解釋計算過程,只寫答案而未加解釋,只能得部分分數。)(25分) #include int new1(int p) { if (p > 90) return(new1(new1(p-11))); return(p-10); } int new2(int p) { if (p < 91) return(new2(p+11)); return(p); } int new(int p) { return(new1(new2(p))); } int main(int argc, char **argv){ int q; q = 65; printf("new(%d)= %d.\n", q, new(q)); q = 95; printf("new(%d)= %d.\n", q, new(q)); q = 100; printf("new(%d)= %d.\n", q, new(q)); q = 104; printf("new(%d)= %d.\n", q, new(q)); q = 110; printf("new(%d)= %d.\n", q, new(q)); return(0); }
📝 此題為申論題

思路引導 VIP

看到本題,首先要辨識出這是一個 C 語言的遞迴函式問題。考點在於如何正確追蹤函式的呼叫堆疊與回傳值。

  1. 程式碼結構分析
🤖
AI 詳解 AI 專屬家教

【考點分析】 本題主要考驗考生對 C 語言遞迴函式 (Recursion) 的理解與追蹤能力,包含:

  1. 函式呼叫的順序與參數傳遞。
▼ 還有更多解析內容

升級 VIP 解鎖