

【2026 CSP-J】第一轮笔试模拟试卷及答案(二),请大家先点在看,然后公众号回复“1166”查看获取完整全部历年(包含最新2026年)真题、源码解析、全套模拟题等;回复“999”查看获取《C++信息奥赛全部资源》全部合集,购买合集永久期限包含以后更新内容~
CCF GESP第11次认证(2025.09)Python二级模拟题及答案
CCF GESP如何跳级考的必杀技巧(附GESP第11次认证2025.09C++二级模拟题及答案)
CCF GESP第11次认证(2025.09)Scratch二级模拟题及答案
新变化!考生家长不能错过的认证指南!GESP第12次认证来了
收藏!历年CSP-J第一轮真题(选择题)知识考点分布与归纳(2019-2024)
收藏!历年 CSP-J第一轮真题(阅读程序)知识考点分布与归纳(2019-2025)
收藏!历年CSP-S第一轮真题(选择题)知识考点分布与归纳(2019-2025)
收藏!历年CSP-J第一轮真题(阅读程序)知识考点分布与归纳(2019-2025)
收藏!历年CSP-J第二轮真题全部知识考点分布与归纳(2019-2025)
历年CSP-J第一轮真题(完善程序)知识考点分布与归纳、思维导图(2019-2025)
有关CSP-J/S以及信息奥赛的合集请点下方链接:

正文内容
部分真题试卷详情请看前文:
2025全国青少年信息学奥林匹克联赛CCF NOIP真题试卷,后续将附上独家解读
信息奥赛|2024全国青少年信息学奥林匹克联赛NOIP 真题解析
2025NOIP全国青少年信息奥林匹克联赛真题独家深度解读T4【分治、ST表、单调性】序列询问
2025NOIP全国青少年信息奥林匹克联赛真题独家深度解读T3【树形DP、DFS序、树状数组】树的价值
2025NOIP全国青少年信息奥林匹克联赛真题独家深度解读T2【组合计数、容斥原理】清仓甩卖
2025NOIP全国青少年信息奥林匹克联赛真题独家深度解读T1【贪心、数学】糖果店
2026 CSP-J 第一轮笔试模拟试卷及答案(二)
说明: 本试卷严格遵循CCF非专业级别软件能力认证(CSP-J)最新大纲要求,涵盖计算机基础、C++语法、数据结构与算法初步等内容。
第一部分:单项选择题(共20题,每题2分,共40分)
下列各题均有四个选项,其中只有一个选项是正确的,请将正确选项的序号填入括号内。
1. 在计算机中,1KB等于多少字节?( )
A. 1000 B. 1024 C. 512 D. 2048
参考答案:B
2. 下列关于C++语言的说法,错误的是( )。
A. C++是一种编译型语言
B. C++支持面向对象编程
C. C++程序必须包含main函数
D. C++中数组下标从1开始
参考答案:见文末
3. 表达式 `15 % 4` 的结果是( )。
A. 3 B. 4 C. 1 D. 0
参考答案:见文末
4. 若 `int a = 5, b = 3;`,则执行 `a += b--;` 后,`a` 和 `b` 的值分别为( )。微信公众号:冰岩编程
A. 8, 2 B. 8, 3 C. 7, 2 D. 7, 3
参考答案:见文末
5. 下列哪个数据结构适合实现“先进先出”(FIFO)的操作?( )
A. 栈 B. 队列 C. 链表 D. 树
参考答案:见文末
6. 二进制数 `10110` 转换为十进制数是( )。
A. 20 B. 22 C. 24 D. 26
参考答案:见文末
7. 在C++中,用于表示逻辑“与”的运算符是( )。
A. `&` B. `&&` C. `|` D. `||`
参考答案:见文末
8. 一个有向图有5个顶点,如果它是完全有向图,则边的数量为( )。
A. 10 B. 20 C. 25 D. 5
参考答案:见文末
9. 下列排序算法中,平均时间复杂度为 $O(n \log n)$ 的是( )。
A. 冒泡排序 B. 插入排序 C. 快速排序 D. 选择排序
参考答案:见文末
10. 递归函数必须具备的两个要素是( )。
A. 参数和返回值 B. 基准情况(终止条件)和递归步骤
C. 循环和判断 D. 全局变量和局部变量 微信公众号:冰岩编程
参考答案:见文末
11. 设 `char c = 'A';`,已知 `'A'` 的ASCII码为65,则 `c + 1` 对应的字符是( )。
A. 'A' B. 'B' C. 'C' D. '@'
参考答案:见文末
12. 下列关于文件操作的说法,正确的是( )。
A. 打开文件后不需要关闭
B. `ifstream` 用于写入文件
C. `ofstream` 用于读取文件
D. 文件操作结束后应调用 `close()` 关闭文件
参考答案:见文末
13. 在C++中,sizeof(int) 在大多数32位/64位系统下的返回值通常是( )。微信公众号:冰岩编程
A. 1 B. 2 C. 4 D. 8
参考答案:见文末
14. 下列代码片段输出的结果是( )。
int i = 0;
//微信公众号:冰岩编程
while (i < 5) {//微信公众号:冰岩编程
cout << i << " ";
i++;
}
A. 0 1 2 3 4
B. 1 2 3 4 5
C. 0 1 2 3 4 5
D. 1 2 3 4
参考答案:见文末
15. 哈夫曼树是一种( )。
A. 平衡二叉搜索树 B. 带权路径长度最短的二叉树
C. 所有节点度数不超过2的树 D. 深度最小的二叉树
参考答案:见文末
16. 若有定义 `int a;`,则数组 `a` 的有效下标范围是( )。
A. 1~10 B. 0~9 C. 0~10 D. 1~9
参考答案:见文末
17. 下列哪个不是线性数据结构?( )
A. 数组 B. 链表 C. 栈 D. 二叉树
参考答案:见文末
18. 表达式 `(true && false) || true` 的结果是( )。
A. true B. false C. 0 D. 1
参考答案:见文末
19. 在C++中,用于动态分配内存的关键字是( )。
A. malloc B. new C. alloc D. create
参考答案:见文末
20. 若一个算法的时间复杂度为 $O(n^2)$,当输入规模 $n$ 扩大2倍时,运行时间大约变为原来的( )。
A. 2倍 B. 4倍 C. 8倍 D. 不变
参考答案:见文末
第二部分:判断题(共10题,每题1分,共10分)
判断下列说法是否正确,正确的打“√”,错误的打“×”。
1. C++中,break 语句可以用于跳出 switch 语句和循环结构。( )
参考答案:见文末
2. 字符串 "Hello" 的长度是5,但在内存中占用6个字节(包含结束符 `\0`)。( )
参考答案:见文末
3. 栈的特点是“后进先出”(LIFO)。( )
参考答案:见文末
4. 在C++中,数组名是一个指针常量,指向数组的首元素。( )
参考答案:见文末
5. 任何无向图的顶点度数之和等于边数的两倍。( )
参考答案:见文末
6. double 类型比 float 类型的精度更高,但占用的内存空间相同。( )
参考答案:见文末
7. 递归算法一定比迭代算法效率低。( )
参考答案:见文末
8. 在C++中,include <iostream> 是预处理指令。( )
参考答案:见文末
9. 二分查找算法可以在无序数组中使用。( )
参考答案:见文末
10. 质数是指只能被1和它本身整除的大于1的自然数。( )
参考答案:见文末
第三部分:阅读程序写结果(共4题,每题5分,共20分)
请仔细阅读下列C++程序,写出程序的运行结果。
程序1
include <iostream>
using namespace std;
//微信公众号:冰岩编程
int main() {
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
sum += i;
}
}
cout << sum << endl;
return 0;
}
输出结果: __________
参考答案:见文末
程序2:
include <iostream>
using namespace std;
//微信公众号:冰岩编程
int func(int n) {
if (n == 1) return 1;
return n * func(n - 1);
}
int main() {
cout << func(5) << endl;
return 0;
}
输出结果: __________
参考答案:见文末
程序3:
include <iostream>
include <string>
using namespace std;
//微信公众号:冰岩编程
int main() {
string s = "CSP-J";
int len = s.length();
for (int i = 0; i < len / 2; i++) {
swap(s[i], s[len - 1 - i]);
}
cout << s << endl;
return 0;
}
输出结果: __________
参考答案:见文末
程序4:
include <iostream>
using namespace std;
//微信公众号:冰岩编程
int main() {
int a = {1, 2, 3, 4, 5};
int max_val = a;
for (int i = 1; i < 5; i++) {
if (a[i] > max_val) {
max_val = a[i];
}
}
cout << max_val << endl;
return 0;
}
输出结果: __________
参考答案:见文末
第四部分:完善程序(共2题,每题15分,共30分)
请根据题目描述,将程序中缺失的部分补充完整。
程序1:求最大公约数(GCD)
题目描述: 使用欧几里得算法(辗转相除法)计算两个正整数 `a` 和 `b` 的最大公约数。
include <iostream>
using namespace std;
//微信公众号:冰岩编程
int gcd(int a, int b) {
while (① ________) {
int temp = ② ________;
a = b;
b = temp;
}
return ③ ________;
}
int main() {
int x, y;
cin >> x >> y;
cout << gcd(x, y) << endl;
return 0;
}
请填空在程序空白处完整。
参考答案:请见文末
线上学习课程
提供少儿编程Scratch、Python、C++、硬件编程学习一对一在线课程、线上授课服务,具有深厚经验背景专业老师授课,竭诚提供优质服务,请微信公众号直接回复“客服”即可联系客服微信,也可直接扫描图片下方客服二维码:

【2026 CSP-J】第一轮笔试模拟试卷及答案(二),请大家先点在看,然后公众号回复“1166”查看获取完整全部历年(包含最新2026年)真题、源码解析、全套模拟题等;回复“999”查看获取《C++信息奥赛全部资源》全部合集,购买合集永久期限包含以后更新内容~
哎呦不错,点个推荐吧暴富暴瘦暴好运~