2020年CSP-J入门单项选择题解析

1. 在内存储器中每个存储单元都被赋予一个唯一的序号,称为()。

A.下标         B. 地址         C.序号         D.编号

答案: B

解析:考察计算机存储,内存里面唯一的序号是地址

2. 编译器的主要功能是().

 A.将源程序翻译成机器指令代码         B.将一种高级语言翻译成另一种高级语言

C.将源程序重新组合                            D.将低级语言翻译成高级语言

答案: A

解析:考察编译器的原理,编译器主要的功能是将源程序翻译成机器指令,这是一个 从高级语言到低级语言的过程,所以 C, D 都是错的,B 显然错误。

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

答案: C

解析:∧是与,∨是或。本题考察逻辑运算。A, B, D 选项中均和 z 相与,而 z 是 false,所以可以排除, 答案为 C

4. 现有一张分辨率为 2048x1024 像素的 32 位真彩色图像。请问要存储这张图像,需要多大的存储空间?()。

A. 4MB         B. 8MB         C. 32MB         D. 16MB

答案: B

解析:考察存储单元的转化。1B = 8bit,32 位真彩色图像的一个像素为 4B,所以 2048*1024*4 B = 8MB。

5. 冒泡排序算法的伪代码如下:

输入:数组 L,n≥l。

输出:按非递减顺序排序的 。

算法BubbleSort:

2020年CSP-J入门单项选择题解析_第1张图片

对 n 个数用以上冒泡排序算法进行排序,最少需要比较多少次? ( )

A.n         B.n-2         C.n^2         D. n-1

答案: D

解析:考察冒泡排序的时间复杂度。题目要求的是最少时间,我们可以发现,当数组 本身是有序的时候,flag 的值会一直是 1,不会改变,所以 j 是从 1 到 n-1,一共比较了 n-1 次,所以选 D。

6.设 A 是 n 个实数的数组,考虑下面的递归算法:

2020年CSP-J入门单项选择题解析_第2张图片

 请问算法 XYZ 的输出是什么?( )。

A.A 数组的平均值         B.A 数组的最小值         C.A 数组的最大值         D.A 数组的中值

答案: B

解析:考察递归程序的理解。从代码的第三行到第五行,我们可以发现,返回值是 temp 和 A[i]中较小的值,所以代码输出的为 A 数组的最小值

7.链表不具有的特点是()。

 A.插入删除不需要移动元素         B.可随机访问任一元素

C.不必事先估计存储空间             D.不必事先估计存储空间

答案: B

解析:考察链表。链表是一种线性结构,由 val 和 next 指针构成,它的特点就是不 用预先估算空间,插入和删除只需要将 next 指针重新赋值,因为它是线性结构,所以所需空间 与线性表长度成正比。因为链表没有下标,同时地址也是不连续的,所以我们无法随机访问其中 的元素

8. 有 10 个顶点的无向图至少应该有()条边才能确保是一个连通图。

A.10         B.12         C.9         D.11

答案: C

解析:考察无向图连通图性质。n 个顶点的无向连通图至少要有 n-1 条

9. 二进制数 1011 转换成十进制数是()。

A.10         B.13         C.11         D.12

答案: C

解析:考察进制转化。通过位权扩展得:1011(2) =>1*2^3 + 0*2^2 + 1*2^1 + 1*2^0=11

10. 五个小朋友并排站成一列,其中有两个小朋友是双胞胎, 如果要求这两个双 胞胎必须相邻,则有()种不同排列方法?

A. 24         B. 36         C. 72         D. 48

答案: D

解析:考察排列组合。根据捆绑法,将两个双胞胎看成一个人,所以有 A(4, 4)种可能, 然后双胞胎自己也有顺序,为 A(2,2),根据分步原理:A(4,4)*A(2,2) = 48

11. 下图中所使用的数据结构是()。

 A.哈希表         B.二叉树         C.栈         D.队列

答案: C

解析:考察数据结构。从图发现是典型的“先进后出”结构,所以符合性质的是栈

12. 独根树的高度为 1,具有 61 个结点的完全二叉树的高度为()

A.7         B.5         C.8         D.6

答案: D

解析:考察二叉树性质。整棵树的节点数为61, 最后一层节点数为[(61+1)/2]+1=32,32=2^5,根节点为2^0。       0,1,2,3,4,5共六层。

13. 干支纪年法是中国传统的纪年方法,由 10 个天干和 12 个地支组合成 60 个 天干地支。由公历年份可以根据以下公式和表格换算出对应的天干地支。

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

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

2020年CSP-J入门单项选择题解析_第3张图片

例如,今年是 2023年,2023除以 10 余数为 3,查表为“癸”;2023 除以 12, 余数为 7,査表 为“卯”;所“癸卯”年。 请问 1949 年的天干地支是()

A. 己亥         B. 己丑         C. 己卯         D. 己酉 

答案: B

解析:由 1949%10=9 以及 1949%12=5,所以答案为 B

14. 10 个三好学生名额分配到 7 个班级,每个班级至少有一个名额,一共有 ()种不同的分配 方案

A. 56         B. 84         C. 72         D. 50

答案: B

解析:考察排列组合。因为每班至少一个,所以就可以看为3个名额分给7个班,如果3个名额一班只能有一个的话,就是C(7,3)=35;如果一班有两个,一班一个,就是C(7,1)*C(6,1)=42;如果一班有3个,其他班没有,就是C(7,1)=7;所以方案就是35+42+7=84(个)。

15. 有五副不同颜色的手套(共 10 只手套,每副手套左右手各 1 只),一次性 从中取 6 只手 套,请问恰好能配成两副手套的不同取法有()种。

A. 30         B. 150        C. 180         D. 120

答案: D

解析:考察排列组合。按照分步原理,我们先选择 2 双颜色相同的手套,则有 C(2,5) 种可能,再从剩下的 3 种颜色里面取两种颜色的手套出来,各一只,共有 C(2,3)*C(1,2)*C(1,2) 种可能,所以最后的答案是 C(2,5)*C(2,3)*C(1,2)*C(1,2) = 120

整理不易,文章出错评论区说,看见必改。

你可能感兴趣的:(算法,数据结构,c++)