当前位置: 首页 > news >正文

CSP-J 初赛模拟卷(2026 年备考专用)

CSP-J 初赛模拟卷(2026 年备考专用)

姓名:__________________得分:________


一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项)

  1. 下列存储器中,存取速度最快的是( )
    A. 硬盘 B. 光盘 C. 内存 D. 寄存器
  2. 二进制数 101101.11 转换成八进制数是( )
    A. 55.6 B. 55.3 C. 55.7 D. 55.4
  3. 以下关于 IP 地址的说法,正确的是( )
    A. IPv4 地址是 32 位二进制数
    B. IPv6 地址是 64 位二进制数
    C. 每个域名对应唯一的 IP 地址
    D. 127.0.0.1 是广播地址
  4. 在 C++ 中,以下哪个关键字用于在函数中声明静态局部变量?( )
    A. auto B. static C. extern D. register
  5. 一棵完全二叉树共有 100 个结点,则叶子结点的个数为( )
    A. 50 B. 49 C. 51 D. 不确定
  6. 某算法的复杂度为Onlogn,当n=1024时用时约 10 ms,那么当n=2048时,理论上用时最接近( )
    A. 20 ms B. 22 ms C. 30 ms D. 40 ms
  7. 将中缀表达式 (A+B)*C-D/E 转换为后缀表达式,结果是( )
    A. AB+C*DE/- B. AB+C*D/E- C. ABC+*DE/- D. ABC+*DE/-
  8. 以下排序算法中,平均时间复杂度为On2且是稳定排序的是( )
    A. 选择排序 B. 插入排序 C. 快速排序 D. 归并排序
  9. 一个栈的入栈序列为 1, 2, 3, 4, 5,以下哪个不可能是出栈序列?( )
    A. 1, 2, 3, 4, 5 B. 3, 2, 1, 5, 4 C. 4, 1, 3, 2, 5 D. 2, 1, 4, 3, 5
  10. 有 5 个城市,两两之间都有直达航线,则共需要( )种不同机票(往返视为不同)
    A. 20 B. 10 C. 25 D. 15
  11. 在 C++ 中,若 int a[5] = {1, 2, 3, 4, 5};,则 *(a+2) 的值为( )
    A. 2 B. 3 C. 4 D. 5
  12. (略图)已知一个图的邻接矩阵如下(假设有顶点 0~3,矩阵中 1 表示有边):

text

0 1 0 0

0 0 1 0

0 0 0 1

0 0 0 0

该图是( )
A. 有向图且强连通 B. 有向图但非强连通 C. 无向图 D. 非连通图

  1. 以下哪个不是合法的 C++ 标识符?( )
    A. _123 B. int_ C. 2abc D. abc2
  2. 十进制数 -27 的 8 位二进制补码表示为( )
    A. 11100101 B. 11100100 C. 10011011 D. 10011010
  3. 若某二叉树的前序遍历序列为 ABDECF,中序遍历为 DBEAFC,则其后序遍历为( )
    A. DEBFCA B. DEBFAC C. EDBFCA D. DBEFCA
  4. 下列哪种算法通常用于求单源最短路径?( )
    A. Floyd B. Dijkstra C. Prim D. Kruskal
  5. 在 C++ 中,sizeof(char) 的返回值是( )
    A. 1 B. 2 C. 4 D. 8
  6. 由 3 个不同元素构成的集合,其所有非空子集共有( )个
    A. 6 B. 7 C. 8 D. 9
  7. 以下关于递归的说法,错误的是( )
    A. 递归必须有终止条件
    B. 递归算法空间复杂度可能很高
    C. 所有递归都可以转换成非递归
    D. 递归的效率一定高于循环
  8. 逻辑表达式 !(a || b) 等价于( )
    A. !a && !b B. !a || !b C. !a && b D. a && !b

二、程序阅读理解题(共 3 大题,每大题含判断题和选择题,判断题 1.5 分,选择题 4 分,共计 40 分)

第一大题(本题共 3 个判断题,每题 1.5 分;2 个选择题,每题 4 分,共 12.5 分)

阅读以下程序:

cpp

#include <iostream>

using namespace std;

int main() {

int n, m = 0;

cin >> n;

for (int i = 1; i <= n; i++) {

int j = i;

while (j % 5 == 0) {

m++;

j /= 5;

}

}

cout << m << endl;

return 0;

}

判断题(正确的打 √,错误的打 ×)

(1) 当输入为 10 时,程序输出 2。 ( )
(2) 该程序的功能是计算n!中因子 5 的个数。 ( )
(3) 当输入为 25 时,程序输出 6。 ( )

选择题(每题 4 分,单选)

(4) 若输入为 100,则输出为( )
A. 20 B. 24 C. 25 D. 30

(5) 若将 while (j % 5 == 0) 改为 while (j % 2 == 0),其他不变,输入为 10 时输出为( )
A. 5 B. 8 C. 10 D. 15


第二大题(本题共 3 个判断题,每题 1.5 分;2 个选择题,每题 4 分,共 12.5 分)

阅读以下程序:

cpp

#include <iostream>

using namespace std;

int f(int x) {

if (x == 0) return 0;

if (x == 1) return 1;

return f(x-1) + f(x-2);

}

int main() {

int n;

cin >> n;

cout << f(n) << endl;

return 0;

}

判断题

(1) 该函数 f(n) 计算的是斐波那契数列的第n项(f0=0,f1=1)。( )
(2) 当输入为 6 时,程序输出 8。( )
(3) 该程序的递归深度为n(假设栈足够)。( )

选择题

(4) 当输入为 8 时,f(3) 被调用了( )次(不计算 f(0) 和 f(1) 作为底层的调用,只算作为参数调用的次数)?
A. 3 B. 5 C. 8 D. 13

(5) 将 return f(x-1) + f(x-2); 改为 return f(x-2) + f(x-1);,输入为 5,输出( )
A. 5 B. 不变,仍为 5 C. 4 D. 6


第三大题(本题共 2 个判断题,每题 1.5 分;3 个选择题,每题 4 分,共 15 分)

阅读以下程序:

cpp

#include <iostream>

using namespace std;

int main() {

int a[5] = {3, 1, 4, 1, 5};

int cnt = 0;

for (int i = 0; i < 5; i++) {

for (int j = i+1; j < 5; j++) {

if (a[i] > a[j]) cnt++;

}

}

cout << cnt << endl;

return 0;

}

判断题

(1) 程序输出的是数组中的逆序对个数。( )
(2) 若将 a[i] > a[j] 改为 a[i] < a[j],则输出变为 10 - 原输出。( )(提示:总对数 = 10)

选择题

(3) 该程序输出的值为( )
A. 4 B. 5 C. 6 D. 7

(4) 若数组改为 {5,4,3,2,1},输出为( )
A. 10 B. 9 C. 8 D. 7

(5) 若将内外层循环互换(即 for (int j=0; j<5; j++) for (int i=0; i<j; i++)),保持判断条件不变,则输出( )
A. 不变 B. 变为 0 C. 变为原输出的相反数 D. 变为总对数减原输出


三、程序完善题(共 2 题,每题 5 个空,每空 3 分,共计 30 分)

第一题(二分查找)

给定一个长度为n的有序数组a(下标从 1 开始)和一个目标值x,使用二分查找算法找出x在数组中的位置,若不存在则输出 -1。请将代码空缺处补充完整。

cpp

#include <iostream>

using namespace std;

const int MAXN = 1000;

int a[MAXN];

int main() {

int n, x;

cin >> n;

for (int i = 1; i <= n; i++) cin >> a[i];

cin >> x;

int left = 1, right = n, ans = -1;

while ( (1) ) {

int mid = (2);

if (a[mid] == x) {

ans = mid;

break;

} else if (a[mid] < x) {

(3);

} else {

(4);

}

}

cout << (5) << endl;

return 0;

}

选项(每空选择一个)

(1) A. left < right B. left <= right C. left + 1 < right D. left != right
(2) A. (left + right) / 2 B. (left + right) >> 1 C. left + (right - left) / 2 D. 以上均可
(3) A. left = mid B. left = mid + 1 C. right = mid D. right = mid - 1
(4) A. left = mid B. left = mid + 1 C. right = mid D. right = mid - 1
(5) A. ans B. x C. left D. right


第二题(埃氏筛法)

输入一个正整数n,输出 1 到n之间(包含n)的素数个数。下面程序使用埃氏筛法,请补全空缺。

cpp

#include <iostream>

#include <cmath>

#include <cstring>

using namespace std;

const int MAXN = 100000;

bool isPrime[MAXN];

int main() {

int n, cnt = 0;

cin >> n;

memset(isPrime, true, sizeof(isPrime));

isPrime[0] = isPrime[1] = false;

int limit = (5);

for (int i = 2; i <= limit; i++) {

if ( (1) ) {

for (int j = i * i; j <= n; j += i) {

(2);

}

}

}

for (int i = 2; i <= n; i++) {

if ( (3) ) cnt++;

}

cout << (4) << endl;

return 0;

}

选项

(1) A. isPrime[i] B. !isPrime[i] C. i D. true
(2) A. isPrime[j] = false B. isPrime[j] = true C. j += i D. break
(3) A. isPrime[i] B. !isPrime[i] C. cnt D. i
(4) A. cnt B. n C. limit D. cnt+1
(5) A. sqrt(n) B. n/2 C. n D. sqrt(n)+1

http://www.jsqmd.com/news/1327953/

相关文章:

  • Windows 11任务栏终极改造指南:如何用ExplorerPatcher恢复经典体验
  • 榕江装修推荐公司品牌 - GrowUME
  • 终极免费破解Cursor AI Pro:完整机器ID重置与多平台兼容解决方案
  • 2025届最火的五大AI科研助手推荐榜单
  • 武汉新华电脑学校报名条件及流程_招生咨询联系电话公布 - 武汉中职最新信息发布
  • 嵌入式系统内存管理:分散加载技术解析与应用
  • Java实现股票融券状态查询的两种高效方案
  • 大麦助手抢票工具:3分钟上手,告别演唱会门票焦虑
  • 毕业答辩 PPT 逻辑框架怎么画?用 PPT 形状合并功能制作高水准学术图表教程
  • 测评云智EOP 服装源头工厂数字化工具怎么选?2026品牌创始人选型指南
  • 英雄联盟玩家的终极效率工具:League-Toolkit 完全使用指南
  • 唐山市中药材切药机厂家推荐、药材切片机厂家哪家好|徐家药械(安国树杰机械厂)地址电话核对|禹州路19号门店资料卡|2026年8月4日更新 - geo88
  • LangChain4j 入门指南
  • KMS智能激活脚本:如何三步完成Windows和Office永久激活的完整指南
  • 研究生日常辅助工具评测:Julius AI、NotebookLM 和国内学术助手的深度横评
  • 5分钟打造你的专属Obsidian工作台:告别混乱笔记,拥抱高效知识管理
  • amz和卖家之家哪个好?跨境导航站深度对比分析
  • 【Bug已解决】GPTNeo Error Attempting to Generate Text 解决方案
  • 终极WeMod解锁指南:三步免费获得完整高级功能
  • 2026年8月邯郸市中草药切段机厂家哪家好、转盘式切片机厂家推荐|徐家药械地址整理|电话15100259041|到店前核对清单 - geo88
  • 如何用Dism++实现Windows系统优化:5个核心功能让你的电脑重获新生
  • SpringBoot考试报名系统开发指南与架构设计
  • 如何高效批量下载抖音视频:douyin-downloader免费工具全攻略
  • 2026 唐山路北区家庭防水补漏维修首位推荐|宅仕达防水补漏|老旧小区防水|卫生间漏水免砸砖|厨房外墙漏水维修|全国连锁|唐山全域覆盖 - 超人防水
  • 拯救者笔记本终极轻量级控制中心:Lenovo Legion Toolkit 完全使用指南 [特殊字符]
  • Dism++:让Windows系统维护变得如此简单高效的终极工具
  • 2026网站建设公司怎么排名?判断服务质量看哪些标准
  • VBA-JSON终极指南:在Office中高效处理JSON数据的完整解决方案
  • 企业微信与豆包AI智能对话系统集成实践
  • Montserrat字体:让你的设计瞬间提升档次的免费开源方案