測驗5: 函式和程式碼複用 (第5周)
測驗5: 函式和程式碼複用 (第5周)
1. 以下關於遞迴函式基例的說法錯誤的是:
A、遞迴函式的基例決定遞迴的深度 B、遞迴函式必須有基例
C、遞迴函式的基例不再進行遞迴 D、每個遞迴函式都只能有一個基例
正確答案: D
解釋:每個遞迴函式至少存在一個基例,但可能存在多個基例。
2. 以下選項不是函式作用的是:
A、增強程式碼可讀性 B、降低程式設計複雜度 C、複用程式碼 D、提高程式碼執行速度
正確答案: D
解釋:函式不能直接提高程式碼執行速度。
3.下列程式的輸出結果為:
def f(a,b): a=4 return a+b def main(): a=5 b=6 print(f(a,b),a+b) main()
A、11 10 B、10 11 C、10 10 D、11 11
正確答案: B
解釋:這裡沒有全域性變數,都是函式區域性變數的運算。
4.以下關於Python函式說法錯誤的是:
def func(a,b): c=a**2+b b=a return c a=10 b=100 c=func(a,b)+a
A、該函式名稱為func B、執行該函式後,變數c的值為200
C、執行該函式後,變數b的值為100 D、執行該函式後,變數a的值為10
正確答案: B
解釋:這裡沒有全域性變數,請在IDLE中執行程式碼觀察結果。
5. 以下關於函式呼叫描述正確的是:
A、函式在呼叫前不需要定義,拿來即用就好 B、函式和呼叫只能發生在同一個檔案中
C、Python內建函式呼叫前需要引用相應的庫 D、自定義函式呼叫前必須定義
正確答案: D
解釋:函式呼叫前必須已經存在函式定義,否則無法執行。
Python內建函式直接使用,不需要引用任何模組。
6. 以下關於模組化設計描述錯誤的是:
A、應儘可能合理劃分功能塊,功能塊內部耦合度低 B、應儘可能合理劃分功能塊,功能塊內部耦合度高
C、模組間關係儘可能簡單,模組之間耦合度低 D、高耦合度的特點是複用較為困難
正確答案: A
解釋:模組內高耦合、模組間低耦合。
7. 以下對遞迴描述錯誤的是:
A、書寫簡單 B、一定要有基例 C、執行效率高 D、遞迴程式都可以有非遞迴編寫方法
正確答案: C
解釋:遞迴不提高程式執行效率。
任何遞迴程式都可以通過堆疊或佇列變成非遞迴程式(這是程式的高階應用)。
8. 以下關於函式說法錯誤的是:
A、函式通過函式名來呼叫 B、函式是一段具有特定功能的、可重用的語句組
C、函式可以看做是一段具有名字的子程式 D、對函式的使用必須瞭解其內部實現原理
正確答案: D
解釋:呼叫函式不需要知道函式內部實現原理,只需要知道呼叫方法(即介面)即可。
9. 哪個選項對於函式的定義是錯誤的?
A、def vfunc(*a,b): B、def vfunc(a,b=2): C、def vfunc(a,*b): D、def vfunc(a,b):
正確答案: A
解釋:def vfunc(*a, b) 是錯誤的定義:*a表示可變引數,可變引數只能放在函式引數的最後。
10.關於return語句,以下選項描述正確的是:
A、函式中最多隻有一個return語句 B、函式必須有一個return語句
C、return只能返回一個值 D、函式可以沒有return語句
正確答案: D
解釋:函式可以包含0個或多個return語句