冲刺CSP-J/S第一轮CSP-J2019~2022年4年真题汇总

2023-08-31 18:40:24 浏览数 (1)

大家好,我是老码农.

这套真题汇总只包含最近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.
N^2
  • 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

的后缀表达式为( ),其中”*”和” ”是运算符。

  • A.
**a bcd
  • B.
abc *d*
  • C.
abc d**
  • D.
*a* bcd

本题共 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.

N^2

第 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. 递归是将用某种高级语言转换为机器代码的编程技术

0 人点赞