夜雨聆风学习资料网

ARTICLE · 1042232

2026 CSP-J第一轮真题+答案!估分达标即可提前备战第二轮

2026 CSP-J第一轮真题+答案!估分达标即可提前备战第二轮

2026 CSP-J第一轮真题+答案!估分达标即可提前备战第二轮

各位家长和学员们:

2026年CSP-J/S第一轮认证已于9月19日顺利结束!

先回顾去年:2025年CSP-J/S竞赛中,宁波HelloCode编程共有12名学员入围浙江省第二轮,其中两名同学斩获S组一等奖,一名同学在J组拿下满分。

今年,我们的学员再次走进考场。为帮助大家第一时间核对答案、预估分数,我们整理了2026年CSP-J第一轮完整真题及参考答案,并精选部分题目进行解析,完整版已更新在OJ。

一、参考答案汇总

单项选择题1-5:BDCCB6-10:DDCBA11-15:ADCAB

阅读程序16-21:√×√ACC22-27:√××BAC28-33:×√√BDC

完善程序34-38:DBDBC39-43:AABAA

二、真题精选解析

◆ 单项选择题

第1题 下列C++数据类型中,能够精确存储10¹⁸+1这个整数的是( )A. float  B. long long  C. double  D. int【答案】B【解析】int通常32位,最大约2.1×10⁹;float精度约7位有效数字;double精度约15-16位,10¹⁸+1有19位,无法精确存储。long long为64位整型,最大约9.2×10¹⁸,可精确存储。

第4题 初始时栈为空,将1、2、3、4依次入栈,入栈过程中允许随时出栈。下列出栈序列中不可能出现的是( )A. 2,4,3,1  B. 1,2,3,4  C. 3,1,2,4  D. 1,4,3,2【答案】C【解析】要出3,必须先入1入2入3,然后出3。此时栈内为[1,2](栈顶为2)。下一个要出1,但1在2下方,必须先出2才能出1。所以3,1,2,4不可能。

第6题 执行下列代码后s的值是( )int s = 0;for (int i = 1; i <= 100; i++)if (i % 3 == 0 || i % 5 == 0)s += i;A. 3048  B. 2733  C. 2318  D. 2418【答案】D【解析】3的倍数之和=1683;5的倍数之和=1050;15的倍数重复计算,其和=315。结果=1683+1050-315=2418。

第7题 上楼梯每步可上1级、2级或3级,从地面走到第8级台阶共有多少种不同走法( )A. 44  B. 121  C. 149  D. 81【答案】D【解析】设f(n)为走到第n级的方案数,f(n)=f(n-1)+f(n-2)+f(n-3)。初始f(0)=1,f(1)=1,f(2)=2。递推得f(3)=4,f(4)=7,f(5)=13,f(6)=24,f(7)=44,f(8)=81。

第12题 在含1000个互不相同元素的升序数组中,用二分法查找给定值,最坏情况下需要比较多少次( )A. 500  B. 9  C. 11  D. 10【答案】D【解析】二分查找每次将范围缩小一半,共需⌈log₂1000⌉=10次。

◆ 阅读程序

第一篇(代码1)int main() {int n; cin >> n;int x = 1, y = 1;while (n > 0) {       if (n % 2 == 0) {         ++x;       } else {          ++x;           ++y;       }       n = n / 2;}        cout << x << ' ' << y << endl;}

第16题 当输入为3时,程序输出为3 3。( )【答案】√【解析】n=3:奇数,x=2,y=2,n=1;奇数,x=3,y=3,n=0;输出3 3。

第17题 将第11行的++x;删除后,程序输出的两个数一定相等。( )【答案】×【解析】删除后,x只在偶数时增加,y只在奇数时增加。例如n=3时,x=1,y=3,不相等。

第19题 将第7行的while(n>0)改为while(n>=0)后,程序可能出现的问题是( )A. 陷入死循环  B. 输出结果比原来大  C. 输出结果比原来小  D. 输出结果不受影响【答案】A【解析】n=0时,n>=0成立,进入循环,n%2=0,++x,n=n/2=0,然后n>=0仍然成立,死循环。

第20题 当输入为6时,输出为( )A. 3 3  B. 4 2  C. 4 3  D. 5 2【答案】C【解析】n=6:偶数,x=2,n=3;奇数,x=3,y=2,n=1;奇数,x=4,y=3,n=0;输出4 3。

第二篇(大整数加法)第22题 当输入为123456时,程序输出为0579。( )【答案】√

第23题 假设输入的两个数均不含前导零,则程序输出的结果也一定不会含有前导零。( )【答案】×【解析】程序从最高位开始输出,若最高位无进位,则可能输出前导零。

第25题 当输入为12345678时,输出为( )A. 012923  B. 013023  C. 13023  D. 130230【答案】B

第三篇(素数搜索)第28题 当输入为10时,程序的输出共有10行。( )【答案】×【解析】程序输出所有满足条件的素数,行数不等于10。

第29题 若输入的n不大于5,则程序的输出中一定包含5。( )【答案】√【解析】n≤5时,5是素数且5≥n,会输出5。

第31题 当输入为24时,程序输出的第3行为( )A. 23  B. 29  C. 31  D. 239【答案】B【解析】输出顺序:233,239,29,... 第3行为29。

◆ 完善程序

第一题(进制转换)第34题 ①处应填( )A. b[j]n  B. b[j]m  C. b[j-1]n  D. b[j-1]m【答案】D【解析】程序将mn进制数转换为n进制,从高位到低位处理时,每次需要将当前累积的数乘以m,然后加上当前位的值。代码中for (int j = len; j >= 1; j--) b[j] = b[j-1] * m;实现了整体右移并乘以m的操作,因此①处应填b[j-1] * m。

第35题 ②处应填( )A. x*n  B. x  C. 0  D. m【答案】B【解析】b[0]存放当前读入的最低位,应直接赋值为x。

第36题 ③处应填( )A. b[j]/m  B. b[j]%n  C. b[j]%m  D. b[j]/n【答案】D【解析】进位处理:b[j]除以n的商加到高位。

第37题 ④处应填( )A. b[j]/m  B. b[j]%n  C. b[j]%m  D. b[j]/n【答案】B【解析】进位后本位保留b[j]除以n的余数。

第38题 ⑤处应填( )A. len > 0 && b[len-1] == 0B. len > 0 && b[0] == 0C. len > 1 && b[len-1] == 0D. len > 1 && b[0] == 0【答案】C【解析】去除高位的多余前导零,同时保留至少一位(len>1)。

第二题(平衡分割)第39题 ①处应填( )A. c<='9'?c-'0':c-'A'+10B. c<='9'?c-'0':c-'A'C. c<='9'?c-'0'+1:c-'A'+10D. c<='9'?c-'0':c-'A'+9【答案】A【解析】字符转十六进制值:数字字符直接减'0',字母字符减'A'加10。

第40题 ②处应填( )A. int r=l; r<=n; r++B. int r=l; r<n; r++C. int r=1; r<=n; r++D. int r=l; r++<n【答案】A【解析】从位置l枚举到n,遍历所有可能的分段终点。

三、估分建议与第二轮备考

根据今年试题难度和往年晋级线,我们建议:J组估分75分及以上S组估分62分及以上

达到以上分数的学员,可以提前开始备战第二轮。

第二轮认证以编程实操为主,考查算法与数据结构综合应用能力。HelloCode已为学员准备好全套第二轮备考资源,全部上传至 nbhellocode.cn

历年第二轮真题:2014-2025年J组+S组全部真题模拟卷:J组+S组多套全真模拟OJ专项训练:阅读程序+完善程序在线判分智慧刷题系统:分模块练习+错题本

HelloCode在读学员全部免费开放,联系任课老师即可开通权限。

四、写在最后

第一轮已经结束,无论发挥如何,接下来的重点都是第二轮。

从2025年的12人入围、2个S组一等奖、1个J组满分,到2026年第一轮顺利收官——继续加油,孩子们。

真题已核对,答案已整理,第二轮资源已就绪。

接下来,就看你们的了。

宁波HelloCode编程·专注信息学竞赛第二轮资料平台:nbhellocode.cn集训预约:联系教务陈老师关注我们,获取更多真题解析与备赛干货。

相关学习资料