大家好,我是老码农.
这套真题汇总只包含最近4年(2019年~2022年)
- 历年真题前15道题,都是选择题
这些题目考察的都是基础知识,前15道题尽量不失分或少失分。
比较有难度的题目是15题往后的阅读程序相关的题目,
阅读程序相关的题目考察孩子C 基础和算法能力,要求会更高。
算法能力的提升不是1天2天会有质的飞跃,需要每天持之以恒的刷题,
但基础知识可以采取硬背或者适当多刷相关题目获取高分。
公众号内回复:CSP-J2023,即可获得PDF电子版及答案
CSP-J2019真题
第 1 题
中国的国家顶级域名是()
- A. .cn
- B. .ch
- C. .chn
- D. .china
本题共 2 分
第 2 题
二进制数11 1011 1001 0111和01 0110 1110 1011进行逻辑与运算的结果是()。
- A. 01 0010 1000 1011
- B. 01 0010 1001 0011
- C. 01 0010 1000 0001
- D. 01 0010 1000 0011
本题共 2 分
第 3 题
一个32位整型变量占用()个字节。
- A. 32
- B. 128
- C. 4
- D. 8
本题共 2 分
第 4 题
若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)
代码语言:javascript复制s = a;
for (b = 1; b <= c; b ) s = s - 1;
则与上述程序段功能等价的赋值语句是()
- A. s = a - c;
- B. s = a - b;
- C. s = s - c;
- D. s = b - c;
本题共 2 分
第 5 题
设有100个已排好序的数据元素,采用折半查找时,最大比较次数为()
- A. 7
- B. 10
- C. 6
- D. 8
本题共 2 分
第 6 题
链表不具有的特点是()
- A. 插入删除不需要移动元素
- B. 不必事先估计存储空间
- C. 所需空间与线性表长度成正比
- D. 可随机访问任一元素
本题共 2 分
第 7 题
把8个同样的球放在5个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的分法?() 提示:如果8个球都放在一个袋子里,无论是哪个袋子,都只算同一种分法。
- A. 22
- B. 24
- C. 18
- D. 20
本题共 2 分
第 8 题
一棵二叉树如右图所示,若采用顺序存储结构,即用一维数组元素存储该二叉树中的结点(根结点的下标为1,若某结点的下标为i ,则其左孩子位于下标2i处、右孩子位于下标2i l处),则该数组的最大下标至少为()。
- A. 6
- B. 10
- C. 15
- D. 12
本题共 2 分
第 9 题
100以内最大的素数是()。
- A. 89
- B. 97
- C. 91
- D. 93
本题共 2 分
第 10 题
319和377的最大公约数是()。
- A. 27
- B. 33
- C. 29
- D. 31
本题共 2 分
第 11 题
新学期开学了,小胖想减肥,健身教练给小胖制定了两个训练方案。 方案一:每次连续跑3公里可以消耗300千卡(耗时半小时); 方案二:每次连续跑5公里可以消耗600千卡(耗时1小时)。 小胖每周周一到周四能抽出半小时跑步,周五到周日能抽出一小时跑步。 另外,教练建议小胖每周最多跑21公里,否则会损伤膝盖。 请问如果小胖想严格执行教练的训练方案,并且不想损伤膝盖,每周最多通过跑步消耗多少千卡?()
- A. 3000
- B. 2500
- C. 2400
- D. 2520
本题共 2 分
第 12 题
—副纸牌除掉大小王有52张牌,四种花色,每种花色13张。 假设从这52张牌中随机抽取13张纸牌,则至少()张牌的花色一致。
- A. 4
- B. 2
- C. 3
- D. 5
本题共 2 分
第 13 题
—些数字可以颠倒过来看,例如0、1、8颠倒过来还是本身,6颠倒过来是9, 9颠倒过来看还是6,其他数字颠倒过来都不构成数字。 类似的,一些多位数也可以颠倒过来看,比如106颠倒过来是901。
假设某个城市的车牌只由5位数字组成,每一位都可以取0到9。 请问这个城市最多有多少个车牌倒过来恰好还是原来的车牌?()
- A. 60
- B. 125
- C. 75
- D. 100
本题共 2 分
第 14 题
假设一棵二叉树的后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJACIF,则其前序遍历序列为()。
- A. ABCDEFGHIJ
- B. ABDEGHJCFI
- C. ABDEGJHCFI
- D. ABDEGHJFIC
本题共 2 分
第 15 题
以下哪个奖项是计算机科学领域的最高奖?()
- A. 图灵奖
- B. 鲁班奖
- C. 诺贝尔奖
- D. 普利策奖
本题共 2 分
CSP-J2020真题
第 1 题
在内存储器中每个存储单元都被赋予一个唯一的序号,称为()。
- A. 地址
- B. 序号
- C. 下标
- D. 编号
本题共 2 分
第 2 题
编译器的主要功能是( )。
- A. 将源程序翻译成机器指令代码
- B. 将源程序重新组合
- C. 将低级语言翻译成高级语言
- D. 将一种高级语言翻译成另一种高级语言
本题共 2 分
第 3 题
设 x=true, y=true, z=false,以下逻辑运算表达式值为真的是( )。
- A. (x∧y) ∧z
- B. x∧(z∨y) ∧z
- C. (x∧y)∨(z∨x)
- D. (y∨z)∧x∧z
本题共 2 分
第 4 题
现有一张分辨率为 2048×1024 像素的 32 位真彩色图像。请问要存储这张图像,需要多大的存储空间?( )。
- A. 16MB
- B. 4MB
- C. 8MB
- D. 2MB
本题共 2 分
第 5 题
冒泡排序算法的伪代码如下:
代码语言:javascript复制 输入:数组L, n ≥ k。输出:按非递减顺序排序的 L。
算法 BubbleSort:
1. FLAG ← n //标记被交换的最后元素位置
2. while FLAG > 1 do
3・ k ← FLAG -1
4・ FLAG ← 1
5・ for j=1 to k do
6. if L(j) > L(j 1) then do
7・ L(j) ↔ L(j 1)
8・ FLAG ← j
对 n 个数用以上冒泡排序算法进行排序,最少需要比较多少次?( )。
- A. n2
- B. n-2
- C. n-1
- D. n
本题共 2 分
第 6 题
设A是n个实数的数组,考虑下面的递归算法:
代码语言:javascript复制 XYZ (A[1..n])
- if n= 1 then return A[1]
- else temp ← XYZ (A[l..n-1])
- if temp < A[n]
- then return temp
- else return A[n]
请问算法XYZ的输出是什么?()。
- A. A数组的平均
- B. A数组的最小值
- C. A数组的中值
- D. A数组的最大值
本题共 2 分
第 7 题
链表不具有的特点是()。
- A. 可随机访问任一元素
- B. 不必事先估计存储空间
- C. 插入删除不需要移动元素
- D. 所需空间与线性表长度成正比
本题共 2 分
第 8 题
有 10 个顶点的无向图至少应该有( )条边才能确保是一个连通图。
- A. 9
- B. 10
- C. 11
- D. 12
本题共 2 分
第 9 题
二进制数 1011 转换成十进制数是( )。
- A. 11
- B. 10
- C. 13
- D. 12
本题共 2 分
第 10 题
5 个小朋友并排站成一列,其中有两个小朋友是双胞胎,如果要求这两个双胞胎必须相邻,则有( )种不同排列方法?
- A. 48
- B. 36
- C. 24
- D. 72
本题共 2 分
第 11 题
下图中所使用的数据结构是( )。
img
- A. 栈
- B. 队列
- C. 二叉树
- D. 哈希表
本题共 2 分
第 12 题
独根树的高度为 1。具有 61 个结点的完全二叉树的高度为( )。
- A. 7
- B. 8
- C. 5
- D. 6
本题共 2 分
第 13 题
干支纪年法是中国传统的纪年方法,由10个天干和12个地支组合成60个天干地支。由公历年份可以根据以下公式和表格换算出对应的天干地支。
天干 =(公历年份)除以10所得余数 地支 =(公历年份)除以12所得余数
img
例如,今年是 2020 年,2020 除以 10 余数为 0,查表为"庚”;2020 除以 12,余数为 4,查表为“子” 所以今年是庚子年。
请问 1949 年的天干地支是( )
- A. 己酉
- B. 己亥
- C. 己丑
- D. 己卯
本题共 2 分
第 14 题
10 个三好学生名额分配到 7 个班级,每个班级至少有一个名额,一共有( )种不同的分配方案。
- A. 84
- B. 72
- C. 56
- D. 504
本题共 2 分
第 15 题
有五副不同颜色的手套(共 10 只手套,每副手套左右手各 1 只),一次性从中取 6 只手套,请问恰好能配成两副手套的不同取法有( )种。
- A. 120
- B. 180
- C. 150
- D. 30
本题共 2 分
CSP-J2021真题
第 1 题
以下不属于面向对象程序设计语言的是( )。
- A. C
- B. Python
- C. Java
- D. C
本题共 2 分
第 2 题
以下奖项与计算机领域最相关的是( )。
- A. 奥斯卡奖
- B. 图灵奖
- C. 诺贝尔奖
- D. 普利策奖
本题共 2 分
第 3题
目前主流的计算机储存数据最终都是转换成( )数据进行储存。
- A. 二进制
- B. 十进制
- C. 八进制
- D. 十六进制
本题共 2 分
第 4 题:
以比较作为基本运算,在N个数中找出最大数,最坏情况下所需要的最少的比较次数为( )。
- A.
- B. N
- C. N-1
- D. N 1
本题共 2 分
第 5 题
对于入栈顺序为a,b,c,d,e的序列,下列( )不是合法的出栈序列。
- A. a,b,c,d,e
- B. e,d,c,b,a
- C. b,a,c,d,e
- D. c,d,a,e,b
本题共 2 分
第 6 题
对于有n个顶点、m条边的无向联通图(m>n),需要删掉( )条边才能使其成为一棵树。
- A. n-1
- B. m-n
- C. m-n-1
- D. m-n 1
本题共 2 分
第 7 题
二进制数101.11对应的十进制数是( )
- A. 6.5
- B. 5.5
- C. 5.75
- D. 5.25
本题共 2 分
第 8 题
如果一棵二叉树只有根结点,那么这棵二叉树高度为1。请问高度为5的完全二叉树有( )种不同形态?
- A. 16
- B. 15
- C. 17
- D. 32
本题共 2 分
第 9 题
表达式
的后缀表达式为( ),其中”*”和” ”是运算符。
- A.
- B.
- C.
- D.
本题共 2 分
第 10 题
6个人,两个人组一队,总共组成三队,不区分队伍的编号,不同的组队情况有( )种。
- A. 10
- B. 15
- C. 30
- D. 20
本题共 2 分
第 11 题
在数据压缩编码中的哈夫曼编码方法,在本质是一种( )的策略。
- A. 枚举
- B. 贪心
- C. 递归
- D. 动态规划
本题共 2 分
第 12 题
由1, 1, 2, 2, 3这五个数字组成不同的三位数有( )种。
- A. 18
- B. 15
- C. 12
- D. 24
本题共 2 分
第 13 题
考虑如下递归算法
代码语言:javascript复制solve(n)
if n <=1 return 1
else if n>=5 return n*solve(n-2)
else return n*solve(n-1)
则调用solve( 7 )得到的返回结果为( )
- A. 105
- B. 840
- C. 210
- D. 420
本题共 2 分
第 14 题
以a为起点,对右边的无向图进行深度优先遍历,则b、c、d、e四个点中有可能作为最后一个遍历到的点个数为( )。
图片
- A. 1
- B. 2
- C. 3
- D. 4
本题共 2 分
第 15 题
有四个人要从A点坐一条船过河到B点,船一开始在A点。该船一次最多可坐两个人。已知这四个人中每个人独自坐船的过河时间分别为1, 2, 4, 8, 且两个人坐船的过河时间为两人独自过河时间的较大者。则最短( )时间可以让四个人都过河到B点(包括从B点把船开回A点时间)。
- A. 14
- B. 15
- C. 16
- D. 17
本题共 2 分
CSP-J2022真题
第 1 题
以下哪种功能没有涉及C 语言的面向对象特性支持:( )。
A. C 中调用printf函数
B. C 中调用用户定义的类成员函数
C. C 中构造一个class或struct
D. C 中构造来源于同一基类的多个派生类
第 2 题
有6个元素,按照6、5、4、3、2、1的顺序进入栈S,请问下列哪个出栈序列是非法的( )。
A. 5 4 3 6 1 2
B. 4 5 3 1 2 6
C. 3 4 6 5 2 1
D. 2 3 4 1 5 6
第 3 题
运行以下代码片段的行为是 ( )。
代码语言:javascript复制int x = 101;
int y = 201;
int *p = &x;
int *q = &y;
p = q;
A. 将x的值赋为201
B. 将y的值赋为101
C. 将q指向x的地址
D. 将p指向y的地址
第 4 题
链表和数组的区别包括( )。
A. 数组不能排序,链表可以
B. 链表比数组能存储更多的信息
C. 数组大小固定,链表大小可动态调整
D. 以上均正确
第 5 题
对假设栈S和队列Q的初始状态为空。存在e1~e6六个互不相同的数据,每个数据按照进栈S、出栈S、进队列Q、出队列Q的顺序操作,不同数据间的操作可能会交错。已知栈S中依次有数据e1、e2、e3、e4、e5和e6进栈,队列Q依次有数据e2、e4、e3、e6、e5和e1出队列。则栈S的容量至少是( )个数据。
A. 2
B. 3
C. 4
D. 6
第 6 题
对表达式a (b-c)*d
的前缀表达式为( ),其中 、-、*是运算符。
A. * a-bcd
B. a*-bcd
C. abc-d*
D. abc- d
第 7 题
假设字母表 {a, b, c, d, e} 在字符串出现的频率分别为 10%, 15%, 30%, 16%, 29%。若使用哈夫曼编码方式对字母进行不定长的二进制编码,字母d的编码长度为( )位。
A. 1
B. 2
C. 2或3
D. 3
第 8 题
一棵有n个结点的完全二叉树用数组进行存储与表示,已知根结点存储在数组的第1个位置。若存储在数组第9个位置的结点存在兄弟结点和两个子结点,则它的兄弟结点和右子结点的位置分别是( )。
A. 8、18
B. 10、18
C. 8、19
D. 10、19
第 9 题
考虑由N个顶点构成的有向连通图,采用邻接矩阵的数据结构表示时,该矩阵中至少存在( )个非零元素。
A. N-1
B. N
C. N 1
D.
第 10 题
10.以下对数据结构的表述不恰当的一项为:( )。
A. 图的深度优先遍历算法常使用的数据结构为栈。
B. 栈的访问原则为后进先出,队列的访问原则是先进先出。
C. 队列常常被用于广度优先搜索算法。
D. 栈与队列存在本质不同,无法用栈实现队列。
第 11 题
以下哪组操作能完成在双向循环链表结点p之后插入结点s的效果(其中,next域为结点的直接后继,prev域为结点的直接前驱):( )。
A. p->next->prev=s; s->prev=p; p->next=s; s->next=p->next;
B. p->next->prev=s; p->next=s; s->prev=p; s->next=p->next;
C. s->prev=p; s->next=p->next; p->next=s; p->next->prev=s;
D. s->next=p->next; p->next->prev=s; s->prev=p; p->next=s;
第 12 题
以下排序算法的常见实现中,哪个选项的说法是错误的:( )。
A. 冒泡排序算法是稳定的
B. 简单选择排序是稳定的
C. 简单插入排序是稳定的
D. 归并排序算法是稳定的
第 13 题
八进制数32.1对应的十进制数是( )。
A. 24.125
B. 24.250
C. 26.125
D. 26.250
第 14 题
一个字符串中任意个连续的字符组成的子序列称为该字符串的子串,则字符串abcab有( )个内容互不相同的子串。
A. 12
B. 13
C. 14
D. 15
第 15 题
以下对递归方法的描述中,正确的是:( )
A. 递归是允许使用多组参数调用函数的编程技术
B. 递归是通过调用自身来求解问题的编程技术
C. 递归是面向对象和数据而不是功能和逻辑的编程语言模型
D. 递归是将用某种高级语言转换为机器代码的编程技术