========================================================================
答案和更多内容请查看网站:【试卷中心 -----> CCF GESP ----> Python ----> 七级】
青少年软件编程历年真题模拟题实时更新
========================================================================
2025年12月 GESP CCF编程能力等级认证Python七级真题
一、 单选题(每题 2 分,共 30 分)
第 1 题 下面关于Python中形参、实参和作用域的说法中,错误的一项是( )。
A. 形参是函数定义时声明的参数,仅在函数内部的作用域中有效
B. 实参是调用函数时传递给函数的实际值,会按对应关系绑定到形参
C. 函数内部修改形参的值,一定会影响外部实参的取值(无论实参类型)
D. 若函数内要修改全局作用域的变量,需通过 global 关键字声明
第 2 题 已知三个序列: s1 = {3, 1, 8, 2, 5, 6, 7, 4} , s2 = {1, 5, 1, 8, 6, 4, 7, 5, 6} , s3 =
{1, 8, 3, 5, 7, 6, 2, 4} 。以下哪个序列是它们的最长公共子序列( )。
A. {1, 8, 5, 6}
B. {1, 5, 6, 7}
C. {1, 8, 6}
D. {1, 5, 7, 4}
第 3 题 现有一个地址区间为 的哈希表,当出现冲突情况,会往后找第一个空的地址存储(到 冲突了就从开始往后),现在要依次存储 ,哈希函数为 。其中 存储在哈希表哪个地址中( )。
A.1
B.2
C.3
D.4
第 4 题 在0/1背包问题中,给定一组物品,每个物品有一个重量和价值,背包的容量有限。假设背包的最大容量为,物品的数量为 ,其中第 个物品的重量为 ,价值为 。以下关于0/1背包问题的描述,正确的是( )。
A. 在解决0/1背包问题时,使用贪心算法可以保证找到最优解,因为物品只能放入一次。
B. 0/1背包是P问题(多项式时间可解问题),它可以在 的时间复杂度内解决。
C. 0/1背包问题中,动态规划解法的空间复杂度为 ,但可以通过滚动数组技巧将空间复杂度优化到。
D. 0/1背包问题中,每个物品只能选择一次,并且子问题之间是独立的,无法重用计算结果。
第 5 题 一棵深度为 6(根节点深度为1)的完全二叉树,节点总数最少有( )。
A. 31
B. 32
C. 63
D. 64
第 6 题 对于如下二叉树,下面关于访问的顺序说法错误的是( )。
A. D E B F H J I G C A 是它的后序遍历序列。
B. A B C D E F G H I J 是它的广度优先遍历序列。
C. A B D E C F G H I J 是它的先序遍历序列。
D. D B E A F C H G J I 是它的中序遍历序列。
第 7 题 下面程序的运行结果为( )。
def query(n, a, x):
left = 0
right = n
while left < right:
mid = left + (right - left) // 2
if a[mid] >= x:
right = mid
else:
left = mid + left
if left == n:
return -1
return left
if __name__ == "__main__":
n = 10
x = 3
num = [1, 2, 2, 3, 3, 4, 5, 5, 6, 7]
result = query(n, num, x)
print(result)
A. 2
B. 3
C. 4
D. 5
第 8 题 下面程序中,函数 query 的时间复杂度是( )。
def query(n, a, x):
left = 0
right = n
while left < right:
mid = left + (right - left) // 2
if a[mid] >= x:
right = mid
else:
left = mid + 1
if left == n:
return -1
return left
if __name__ == "__main__":
n = 10
x = 3
num = [1, 2, 2, 3, 3, 4, 5, 5, 6, 7]
print(query(n, num, x))
A.O(1)
B.O(log n)
C.O(n)
D.O(n log n)
第 9 题 有5个字符,它们出现的次数分别为2次、2次、3次、3次、5次。现在要用哈夫曼编码的方式来为这些字符进行编码,最小加权路径长度WPL(每个字符的出现次数 它的编码长度,再把每个字符结果加起来)的值为( )。
A. 30
B. 34
C. 43
D. 47
第 10 题 下面程序的运行结果为( )。
def f(n):
if n <= 2:
return n * 2
return f(n - 1) + f(n - 2)
if __name__ == "__main__":
print(f(5))
A. 10
B. 16
C. 26
D. 30
========================================================================
答案和更多内容请查看网站:【试卷中心 -----> CCF GESP ----> Python ----> 七级】
青少年软件编程历年真题模拟题实时更新
========================================================================