1. 以下关于递归函数基例的说法错误的是:
A
递归函数的基例决定递归的深度
B
递归函数必须有基例
C
递归函数的基例不再进行递归
D
每个递归函数都只能有一个基例
正确答案: D
每个递归函数至少存在一个基例,但可能存在多个基例。
2. 以下选项不是函数作用的是:
A
提高代码执行速度
B
增强代码可读性
C
降低编程复杂度
D
复用代码
正确答案: A
函数不能直接提高代码执行速度。
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
执行该函数后,变量a的值为10
D
执行该函数后,变量b的值为100
正确答案: B
这里没有全局变量,请在IDLE中执行代码观察结果。
5. 以下关于函数调用描述正确的是:
A
自定义函数调用前必须定义
B
函数在调用前不需要定义,拿来即用就好
C
Python内置函数调用前需要引用相应的库
D
函数和调用只能发生在同一个文件中
正确答案: A
函数调用前必须已经存在函数定义,否则无法执行。
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):
正确答案: C
def vfunc(*a, b) 是错误的定义:*a表示可变参数,可变参数只能放在函数参数的最后。
10. 关于return语句,以下选项描述正确的是:
A
函数中最多只有一个return语句
B
函数必须有一个return语句
C
return只能返回一个值
D
函数可以没有return语句
正确答案: D
函数可以包含0个或多个return语句