ARTICLE · 1037724
答案:2026 CCF 非专业级软件能力认证第一轮(CSP-J1)
本次试卷共38题,满分100分,分为:
单项选择题:15题,共30分 阅读程序题:3题,共40分 完善程序题:2题,共30分
下面为王老师整理的参考答案及简要解析,方便同学们考后快速核对。👇
一、单项选择题
部分题目简析
第1题:long long 为64位整数,可以精确表示题目中的大整数;double 虽然范围很大,但整数精度有限。
第2题:2F5₁₆ → 0010 1111 0101₂ → 1365₈。
第3题:7 / 3 = 2,7 % 3 = 1,所以:
2 × 3 + 1 = 7
第4题:栈的特点是后进先出(LIFO),序列 3,1,2,4 无法实现。
第5题:100个结点的完全二叉树中,前 ⌊100/2⌋=50 个结点为分支结点,因此叶子结点为50个。
第6题:使用容斥原理:
3的倍数 + 5的倍数 - 15的倍数 = 2418
第7题:
f(n)=f(n-1)+f(n-2)+f(n-3)
最终 f(8)=81。
第8题:按照 BFS 的“上、下、左、右”顺序模拟,答案为14。
第9题:令 n=6k,则:
gcd(k,10)=1
1~16中满足条件的共有6个。
第10题:4+4+1=9,只需要3枚。
第11题:p=a+2,因此 p 指向 a[2],最终数组相关元素变为:
a[1]=14,a[3]=13
所以答案为A。
第12题:二分查找1000个元素,最坏情况下需要:
⌊log₂1000⌋+1=10
次比较。
第13题:
a[10]=s[10]-s[9]
=310-252=58
第14题:使距离和最小的位置是中位数7,距离和为37。
第15题:所有顶点度数之和:
4×3+6×4=36
根据握手定理:
边数=36÷2=18
二、阅读程序题
阅读程序(1)
16~21题
核心考点
本题主要考查:
二进制分解、循环、整除、变量变化。
程序不断执行:
n = n / 2
本质上是在逐位处理 n 的二进制表示。
阅读程序(2)
22~27题
核心考点
本题主要考查:
字符串、高精度加法、数组、进位。
例如:
12345 + 678 = 13023
程序按照每一位进行模拟,而不是直接使用普通整数计算。
阅读程序(3)
28~33题
核心考点
本题主要考查:
素数判断、DFS、递归、回溯、搜索顺序。
遇到递归搜索题,建议画出搜索树,按照程序实际执行顺序进行模拟。
三、完善程序题
第一题:进制转换
核心考点
进制转换 + 高精度模拟 + 数组 + 除法取模。
其中:
① b[j] * m② x③ b[j] / n④ b[j] % n⑤ len > 1 && b[len - 1] == 0
四、本套试卷核心考点总结
如果把整套题重新归类,可以看到今年初赛主要涉及:
💻 C++基础
数据类型 整除与取模 数组 指针 字符串 循环与判断
🧮 数学
进制转换 容斥原理 最大公约数 中位数 递推 数论
🌳 数据结构
栈 二叉树 BFS 图 队列
🔍 算法
二分查找 DFS 回溯 前缀和 动态规划 枚举 模拟
📖 程序阅读
变量跟踪 循环模拟 递归过程 数组下标 边界条件 代码逻辑分析