测验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、 递归函数必须有基例

解析: 这里没有全局变量,都是函数局部变量的运算。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值