測驗5: 函數和代碼復用 (第5周)-單選題


1、以下選項不是函數作用的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、 提高代碼執行速度

B、 復用代碼

C、 降低編程復雜度

D、 增強代碼可讀性

解析:
函數不能直接提高代碼執行速度。

 

2、‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‮‬‫‬‫下列程序的輸出結果為:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

def f(a,b):
  a=4
  return a+b
def main():
  a=5
  b=6
  print(f(a,b),a+b)
main()

A、 10 11

B、 11 11

C、 11 10

D、 10 10

解析:
這里沒有全局變量,都是函數局部變量的運算。

 

3、‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬以下關於Python函數說法錯誤的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

def func(a,b):
  c=a**2+b
  b=a
  return c
a=10
b=100
c=func(a,b)+a

A、 執行該函數后,變量a的值為10

B、 執行該函數后,變量c的值為200

C、 該函數名稱為func

D、 執行該函數后,變量b的值為100

解析:
這里沒有全局變量,請在IDLE中執行代碼觀察結果。

 

4、以下關於函數調用描述正確的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、 函數在調用前不需要定義,拿來即用就好

B、 Python內置函數調用前需要引用相應的庫

C、 函數和調用只能發生在同一個文件中

D、 自定義函數調用前必須定義

解析:
函數調用前必須已經存在函數定義,否則無法執行。
Python內置函數直接使用,不需要引用任何模塊。

 

5、以下關於模塊化設計描述錯誤的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、 高耦合度的特點是復用較為困難

B、 應盡可能合理划分功能塊,功能塊內部耦合度高

C、 應盡可能合理划分功能塊,功能塊內部耦合度低

D、 模塊間關系盡可能簡單,模塊之間耦合度低

解析:
模塊內高耦合、模塊間低耦合。

 

6、‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬以下對遞歸描述錯誤的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、 執行效率高

B、 書寫簡單

C、 一定要有基例

D、 遞歸程序都可以有非遞歸編寫方法

解析:
遞歸不提高程序執行效率。
任何遞歸程序都可以通過堆棧或隊列變成非遞歸程序(這是程序的高級應用)。

 

7、以下關於函數說法錯誤的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、 函數可以看做是一段具有名字的子程序

B、 函數通過函數名來調用

C、 對函數的使用必須了解其內部實現原理

D、 函數是一段具有特定功能的、可重用的語句組

解析:
調用函數不需要知道函數內部實現原理,只需要知道調用方法(即接口)即可。

 

8、哪個選項對於函數的定義是錯誤的?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、 def vfunc(a,b=2):

B、 def vfunc(a,b):

C、 def vfunc(*a,b):

D、 def vfunc(a,*b):

解析:
def vfunc(*a, b) 是錯誤的定義:*a表示可變參數,可變參數只能放在函數參數的最后。

 

9、關於return語句,以下選項描述正確的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、 函數可以沒有return語句

B、 函數中最多只有一個return語句

C、 函數必須有一個return語句

D、 return只能返回一個值

解析:
函數可以包含0個或多個return語句

10、以下關於遞歸函數基例的說法錯誤的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、 遞歸函數的基例不再進行遞歸

B、每個遞歸函數都只能有一個基例

C、 遞歸函數的基例決定遞歸的深度

D、 遞歸函數必須有基例

解析:
這里沒有全局變量,都是函數局部變量的運算。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM