基本信息
文件名称:全国青少年软件编程等级考试四级(Python)模拟卷(一)2025版.docx
文件大小:19.67 KB
总页数:10 页
更新时间:2025-06-22
总字数:约3.48千字
文档摘要

全国青少年软件编程等级考试四级(Python)模拟卷(一)

一、选择题(每题3分,共30分)

1.以下关于函数的说法,错误的是()

A.函数定义使用`def`关键字

B.函数可以有返回值,也可以没有

C.函数参数必须有默认值

D.函数可以调用其他函数

2.下列哪个选项是正确的函数定义?()

A.`functionadd(a,b):`

B.`defadda,b:`

C.`defadd(a,b):`

D.`defadd(a;b):`

3.执行以下代码,输出结果是()

defgreet(name):returnHello,+nameprint(greet(Python))

A.`Hello,Python`

B.`Hello,Python`

C.`Hello,Python\n`

D.报错

4.以下关于递归函数的说法,正确的是()

A.递归函数不需要终止条件

B.递归函数会一直调用自身,直到程序崩溃

C.递归函数的终止条件可以避免无限递归

D.递归函数比非递归函数效率更高

5.执行以下代码,输出结果是()

deffactorial(n):ifn==0:return1else:returnn*factorial(n-1)print(factorial(5))

A.120

B.15

C.5

D.0

6.下列哪个算法属于分治算法?()

A.冒泡排序

B.快速排序

C.插入排序

D.选择排序

7.以下关于变量作用域的说法,错误的是()

A.在函数内部定义的变量是局部变量

B.在函数外部定义的变量是全局变量

C.局部变量可以在函数外部访问

D.全局变量可以在函数内部访问

8.执行以下代码,输出结果是()

x=10deffunc():x=5print(x)func()print(x)

A.510

B.105

C.55

D.1010

9.以下哪个选项可以将递归算法转换为递推算法?()

A.使用循环替代递归调用

B.使用条件判断替代递归调用

C.使用列表替代递归调用

D.无法转换

10.下列关于算法效率的说法,正确的是()

A.算法效率只与算法的时间复杂度有关

B.算法效率只与算法的空间复杂度有关

C.算法效率与算法的时间复杂度和空间复杂度都有关

D.算法效率与算法的时间复杂度和空间复杂度都无关

二、判断题(每题2分,共20分)

1.函数可以提高代码的复用性。()

2.函数参数可以有默认值,也可以没有。()

3.递归函数必须有终止条件。()

4.分治算法的基本思想是将问题分解为多个子问题,然后合并子问题的解。()

5.局部变量和全局变量可以同名,在函数内部访问的是全局变量。()

6.递推算法比递归算法更节省内存。()

7.函数的返回值只能有一个。()

8.可以使用`return`语句返回多个值。()

9.算法的时间复杂度是指算法执行所需的时间。()

10.算法的空间复杂度是指算法执行所需的内存空间。()

三、编程题(共50分)

1.自定义函数(10分)

题目描述:编写一个函数`sum_numbers(n)`,计算从1到n的所有整数的和,并返回结果。

示例:

输入:

5

输出:

15

2.递归函数(15分)

题目描述:编写一个递归函数`fibonacci(n)`,计算第n个斐波那契数,并返回结果。斐波那契数列的前几项为:1,1,2,3,5,8,13,...

示例:

输入:

6

输出:

8

3.递推算法(15分)

题目描述:使用递推算法重新实现斐波那契数列的计算,编写函数`fibonacci_iterative(n)`,计算第n个斐波那契数,并返回结果。

示例:

输入:

6

输出:

8

4.分治算法应用(10分)

题目描述:使用分治算法实现二分查找。编写函数`binary_search(arr,target)`,在有序数组`arr`中查找目标值`target`,如果找到则返回其索引,否则返回-1。

示例:

输入:

[1,3,5,7,9],5

输出:

2

参考答案

一、选择题

1.?C

解析:函数参数可以没有默认值,调用时必须传入足够的参数。

2.?C

解析:函数定义使用`def`关键字,参数用逗号分隔,括号后加冒号。

3.?A

解析:函数`greet`返回字符串`Hello,Python`,`print`函数输出该字符串。

4.?C

解析:递归函数必须有终止条件,否则会无限递归导致程序崩溃。

5.?A

解析:`factorial(5)`计算5的阶乘,即$5×4×3