news 2026/3/20 21:45:47

2025年12月 GESP CCF编程能力等级认证Python五级真题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2025年12月 GESP CCF编程能力等级认证Python五级真题

========================================================================

答案和更多内容请查看网站:【试卷中心 -----> CCF GESP ----> Python ----> 五级】

网站链接

青少年软件编程历年真题模拟题实时更新

========================================================================

2025年12月 GESP CCF编程能力等级认证Python五级真题
一、单选题(每题 2 分,共 30 分)
第 1 题 对如下定义的循环单链表,横线处填写( )。

class Node: def __init__(self, data): self.data = data self.next = None def create_list(value): head = Node(value) head.next = head return head def insert_tail(head, value): p = head while p.next != head: p = p.next node = Node(value) node.next = head p.next = node def print_list(head): _______________________________ while True: print(p.data, end = " ") p = p.next if p == head: break print()


A.
if head is None:
return
p.next = head
B.
if head is None:
return
p = head.next

C.
if head is None:
return
p = head
D.
if head.next is None:
return
p = head

第 2 题 区块链技术是比特币的基础。在区块链中,每个区块指向前一个区块,构成链式列表,新区块只能接在链尾,不允许在中间插入或删除。下面代码实现插入区块添加函数,则横线处填写( )。

class Block: def __init__(self, idx, data, prev_block): self.index = idx self.data = data self.prev = prev_block class Blockchain: def __init__(self): self.tail = None def init(self): genesis_block = Block(0, "Genesis Block", None) self.tail = genesis_block def add_block(self, data): ____________________________________ def clear(self): cur = self.tail while cur is not None: prev_block = cur.prev cur.prev = None cur = prev_block self.tail = None def print_chain(self): cur = self.tail chain = [] while cur is not None: chain.append(f"Block {cur.index}: {cur.data}") cur = cur.prev for block_info in reversed(chain): print(block_info)

A.
new_block = Block(self.tail.index, data, self.data)
B.

new_block = Block(self.tail.index + 1, data, self.tail)
self.tail = new_block

C.
new_block = Block(self.tail.index, data+1, self.data)
self.tail = new_block
D.
new_block = Block(self.tail.index, data, self.tail)
self.tail.data = new_block

第 3 题 下面关于单链表和双链表的描述中,正确的是( )。

class DNode: def __init__(self, data): self.data = data self.prev = None self.next = None def delete_dnode(node): if node.prev: node.prev.next = node.next if node.next: node.next.prev = node.prev node.prev = None node.next = None class SNode: def __init__(self, data): self.data = data self.next = None def delete_snode(head, node): if head is None or node is None: return prev = head while prev.next != node: prev = prev.next prev.next = node.next node.next = None

A. 双链表删除指定节点是 ,单链表是
B. 双链表删除指定节点是 ,单链表是
C. 双链表删除指定节点是 ,单链表是
D. 双链表删除指定节点是 ,单链表是


第 4 题 假设我们有两个数 和 ,它们对模 同余,即 。以下哪个值不可能是 ?
A. 3
B. 4
C. 6
D. 9


第 5 题 下面代码实现了欧几里得算法,下面有关说法,错误的是( )。

def gcd1(a: int, b: int) - > int: return a if b == 0 else gcd1(b, a % b) def gcd2(a: int, b: int) - > int: while b != 0: temp = b b = a % b a = temp return a

A. gcd1() 实现为递归方式。
B. gcd2() 实现为迭代方式。
C. 当 较大时, gcd1() 实现会多次调用自身,需要较多额外的辅助空间。
D. 当 较大时, gcd1() 的实现比 gcd2() 执行效率更高。


第 6 题 唯一分解定理描述的内容是( )。
A. 任何正整数都可以表示为两个素数的和。
B. 任何大于1的合数都可以唯一分解为有限个质数的乘积。
C. 两个正整数的最大公约数总是等于它们的最小公倍数除以它们的乘积。
D. 所有素数都是奇数。


第 7 题 下述代码实现素数表的线性筛法,筛选出所有小于等于 的素数,则横线上应填的代码是( )。

def linear_sieve(n): if n < 2: return [] is_prime = [True] * (n + 1) is_prime[0] = is_prime[1] = False primes = [] for i in range(2, n + 1): if is_prime[i]: primes.append(i) for j in range(len(primes)): p = primes[j] if i * p > n: break—————————————————————————— if i % p == 0: break return primes

A. is_prime[i * p] = False
B. is_prime[i] = False
C. is_prime[i * p] = True
D. is_prime[i + p] = False


第 8 题 下列关于排序的说法,正确的是( )。
A. 快速排序是稳定排序
B. 归并排序通常是稳定的
C. 插入排序是不稳定排序

D. 冒泡排序不是原地排序


第 9 题 下面代码实现了归并排序。下述关于归并排序的说法中,不正确的是( )。
A. 归并排序的的平均复杂度是 。
B. 归并排序需要 的额外空间。
C. 归并排序在最坏情况的时间复杂度是 。
D. 归并排序适合大规模数据。

========================================================================

答案和更多内容请查看网站:【试卷中心 -----> CCF GESP ----> Python ----> 五级】

网站链接

青少年软件编程历年真题模拟题实时更新

========================================================================

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/18 8:49:31

最近在折腾一个高性能C#服务端轮子,目标是搞个能同时扛住各种网络协议的瑞士军刀。咱这轮子就得自己撸底层,从Socket开始造轮子。先上个核心架构图镇楼

c#高性能服务器源代码&#xff0c;其中包括mvc api服务&#xff0c;http服务&#xff0c;ftp服务&#xff0c;sokect服务&#xff0c;websocket服务&#xff0c;大文件传输服务。 这些服务均抛开iis及第三支持&#xff0c;可写成服务或随软件启动而启动。public class ServerHo…

作者头像 李华
网站建设 2026/3/15 17:56:32

LeetCode 468 验证 IP 地址

文章目录摘要描述IPv4 的规则可以总结成一句话IPv6 的规则则是题解答案题解代码分析IPv4 校验逻辑拆解IPv6 校验逻辑拆解示例测试及结果示例 1示例 2示例 3时间复杂度空间复杂度总结摘要 《验证 IP 地址》是一道非常工程化的题。 它不像很多算法题那样考复杂技巧&#xff0c;…

作者头像 李华
网站建设 2026/3/15 5:33:31

MCP 很火,来看看我们直接给后台管理系统上一个 MCP?

一、什么是 MCP 引用一些官方的介绍吧&#xff1a; Model Context Protocol (MCP) 是一个开放协议&#xff0c;它使 LLM 应用与外部数据源和工具之间的无缝集成成为可能。无论你是构建 AI 驱动的 IDE、改善 chat 交互&#xff0c;还是构建自定义的 AI 工作流&#xff0c;MCP 提…

作者头像 李华
网站建设 2026/3/16 5:23:38

命令替换(Command Substitution)详解

命令替换&#xff08;Command Substitution&#xff09;详解 &#x1f3af; 一句话概括 命令替换 把一个命令的输出作为另一个命令的参数或变量值。这是Shell编程中最强大、最常用的功能之一&#xff01; &#x1f4a1; 核心概念 基本语法 # 两种语法都有效 command # 反引…

作者头像 李华
网站建设 2026/3/15 12:07:36

[特殊字符] Pathway:高效的Python ETL框架,助力实时数据处理与分析

Pathway 实时数据处理框架介绍 在当今数据驱动的时代&#xff0c;能够有效处理实时数据流与批量数据的工具愈加重要。Pathway是一个用于流处理、实时分析、LLM&#xff08;大语言模型&#xff09;管道和RAG&#xff08;实时生成&#xff09;应用的Python ETL框架。它为用户提供…

作者头像 李华
网站建设 2026/3/14 23:43:56

高德扫街榜2026发布:首个全季节、全品类、全人群和全球化的真实榜单

2026年1月7日&#xff0c;阿里巴巴集团旗下高德正式发布高德扫街榜2026——在原有的“真实”核心理念基础上&#xff0c;围绕数字、信任与科技三大核心力量全面升级&#xff0c;发布了飞行街景、时令榜单、AR实景、好友动态等一系列新功能&#xff0c;推动生活服务榜单进入“比…

作者头像 李华