小赛码CSP-J2024复习计划
CSP-J 2020初赛真题

*
您的校区:
*
姓名:

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

1.
在内存储器中每个存储单元都被赋予一个唯一的序号,称为()。
A. 地址
B. 序号
C. 下标
D. 编号
2.
编译器的主要功能是( )。
A.将源程序翻译成机器指令代码
B. 将源程序重新组合
C. 将低级语言翻译成高级语言
D.将一种高级语言翻译成另一种高级语言
3.
设 x=true,y=true,z=false,以下逻辑运算表达式值为真的是( )。

A. (y∨z)∧x∧z
B. x∧(z∨y) ∧z
C. (x∧y) ∧z
D. (x∧y)∨(z∨x)
4.
现有一张分辨率为2048×1024 像素的 32 位真彩色图像。请问要存储这张图像,需要多大的存储空间?( )。
A. 16MB
B. 4MB
C. 8MB
D. 2MB
5.
冒泡排序算法的伪代码如下:

对 n 个数用以上冒泡排序算法进行排序,最少需要比较多少次?( )。
A. n^2
B. n-2
C. n-1
D. n
6.
设 A 是 n 个实数的数组,考虑下面的递归算法:

请问算法 XYZ 的输出是什么?()。
A. A 数组的平均
B. A 数组的最小值
C. A 数组的中值
D. A 数组的最大值
7.
链表不具有的特点是()。
A. 可随机访问任一元素
B. 不必事先估计存储空间
C. 插入删除不需要移动元素
D. 所需空间与线性表长度成正比
8.
有 10 个顶点的无向图至少应该有( )条边才能确保是一个连通图。
A. 9
B. 10
C. 11
D. 12
9.
二进制数 1011 转换成十进制数是( )。
A. 11
B. 10
C. 13
D. 12
10.
5个小朋友并排站成一列,其中有两个小朋友是双胞胎,如果要求这两个双胞胎必须相邻,则有( )种不同排列方法?
A. 48
B. 36
C. 24
D. 72
11.
下图中所使用的数据结构是( )。

A. 栈
B. 队列
C. 二叉树
D. 哈希表
12.
独根树的高度为 1。具有 61 个结点的完全二叉树的高度为( )。
A. 7
B. 8
C. 5
D. 6
13.
干支纪年法是中国传统的纪年方法,由10 个天干和 12 个地支组合成 60 个天干地支。由公历年份可以根据以下公式和表格换算出对应的天干地支。

天干 =(公历年份)除以10 所得余数
地支 =(公历年份)除以12 所得余数

拿2020 年举例,2020 除以10 余数为0,查表为"庚”;2020 除以12,余数为4,查表为“子” 所以2020年是庚子年。

请问1949 年的天干地支是( )
A. 己酉
B. 己亥
C. 己丑
D. 己卯
14.
10 个三好学生名额分配到 7 个班级,每个班级至少有一个名额,一共有( )种不同的分配方案。
A. 84
B. 72
C. 56
D. 504
15.
有五副不同颜色的手套(共10 只手套,每副手套左右手各1 只),一次性从中取6 只手套,请问恰好能配成两副手套的不同取法有( )种。
A. 120
B. 180
C. 150
D. 30
二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填 √,错误填 ×;除特殊说明外,判断题1.5分,选择题3 分,共计40分)
代码1.

判断题 每题1.5分
16.
  1. 输入的字符串应当只由大写字母组成,否则在访问数组时可能越界。( )
17.
  1. 若输入的字符串不是空串,则输入的字符串与输出的字符串一定不一样。()
18.
  1. 将第 12 行的 i < 26 改为 i < 16,程序运行结果不会改变。( )
19.
  1. 将第 26 行的i < 26 改为 i < 16,程序运行结果不会改变。( )
选择题(每题3分)
20.
若输出的字符串为 ABCABCABCA,则下列说法正确的是( )。
A. 输入的字符串中既有 S 又有 P
B. 输入的字符串中既有 S 又有 B
C. 输入的字符串中既有 A 又有 P
D. 输入的字符串中既有 A 又有 B
21.
若输出的字符串为 CSPCSPCSPCSP,则下列说法正确的是( ).
A. 输入的字符串中既有 P 又有 K
B. 输入的字符串中既有 J 又有 R
C. 输入的字符串中既有 J 又有 K
D. 输入的字符串中既有 P 又有 R
代码2

假设输入的 n 是不超过 2^62 的正整数,k 都是不超过 10000 的正整数,完成下面的判断题和单选题
22.
若 k=1,则输出 ans 时,len=n。( )
23.
若 k>1,则输出 ans 时,len —定小于 n。( )
24.
若 k>1,则输出 ans 时,klen —定大于 n。( )
25.
若输入的 n 等于:1015,输入的 k 为 1,则输出等于( )。
(1030 - 1015) / 2
A 1
B (10^30 - 10^15) / 2
C (10^30 + 10^15) / 2
D 10^15
26.
若输入的 n 等于 205,891,132,094,649(即3^30) , 输入的 k 为 3,则输出等于( )。

A. 3^30
B. (3^30 - 1) / 2
C. 3^30 - 1
D. (3^30 + 1) / 2
27.
若输入的 n 等于 100,010,002,000,090,输入的 k 为 10,则输出等于( )。
A. 11,112,222,444,543
B. 11,122,222,444,453
C. 11,122,222,444,543
D. 11,112,222,444,453
代码3


假设输入的 n 是不超过 50 的正整数,d[i][0]、d[i][1] 都是不超过 10000 的正整数,完成下面的判断题和单选题:
判断题(每题1.5分
28.
若输入 n 为 0,此程序可能会死循环或发生运行错误。( )
29.
若输入 n 为 20,接下来的输入全为 0,则输出为 0。( )
30.
  1. 输出的数一定不小于输入的  d[i][0]  和  d[i][1]  的任意一个。( )
选择题(每题3分)
31.
若输入的 n 为 20,接下来的输入是 20 个 9 和 20 个 0,则输出为( )。
A. 1890
B. 1881
C. 1908
D. 1917
32.
若输入的n 为30,接下来的输入是 30个0 和 30个5,则输出为( )。
A. 2000
B. 2010
C. 2030
D. 2020
33.
(4分)若输入 n 为15,接下来的输入是 15 到1,以及15 到1,则输出为( )。
A. 2440
B. 2220
C. 2240
D. 2420

三、完善程序(单选题,每小题3分,共计30分)


      


34.
①处应填()
A. 1
B. n-1
C. 2
D. 0
35.
②处应填()
A. n / i
B. n / (i * i)
C. i * i
D. i * i * i
36.
③处应填()
A. if(n%i==0)
B. if(i*i<=n)
C. while(n%i==0)
D. while(i*i<=n)
37.
④处应填()
A. n>1
B. n<=1
C. i<n/i
D. i+i<=n
38.
⑤处应填()
A. 2
B. n/i
C. n
D. i
            
39.
①处应填()
A. A[j].b>A[j-1].b
B. A[j].a<A[j-1].a
C. A[j].a>A[j-1].a
D. A[j].b<A[j-1].b
40.
②处应填()
A. A[j+1]=A[j];A[j]=t;
B. A[j-1]=A[j];A[j]=t;
C. A[j]=A[j+1];A[j+1]=t;
D. A[j]=A[j-1];A[j-1]=t;
41.
③处应填()
A. A[i].b>A[p-1].b
B. A[i].b<A[i-1].b
C. A[i].b>A[i-1].b
D. A[i].b<A[p-1].b
42.
④处应填()
A. q+1<n&&A[q+1].a<=r
B. q+1<n&&A[q+1].b<=r
C. q<n&&A[q].a<=r
D. q<n&&A[q].b<=r
43.
⑤处应填()
A. r=max(r,A[q+1].b)
B. r=max(r,A[q].b)
C. r=max(r,A[q+1].a)
D. q++
问卷星提供技术支持
举报