CSP 2020 入门级第一轮1~17题解析

本文探讨了内存地址的概念,编译器的功能,逻辑运算,图像存储,冒泡排序算法,递归算法,链表特性,数据结构应用,干支纪年法,组合排列问题,以及编程语言与算法实例。适合CSP初赛准备者参考。

第 1 题

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

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

常识题
答案:A

第 2 题

编译器的主要功能是( )。

A. 将源程序翻译成机器指令代码
B. 将源程序重新组合
C. 将低级语言翻译成高级语言
D. 将一种高级语言翻译成另一种高级语言

直接排除D,B,C
答案:A

第 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)

只需要记住一件事,∧左右两边必须为真,否则判断为假;∨左右两边左右两边只要有一边为真,判断为真(和&&,||意思相近)
答案:D

第 4 题

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

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

遇到这种题目,直接把其分辨率相乘再除以1024^2(也可以分别除以1024再相乘)。然后再乘图像的位数,最后除以8即可。(注意上方公式的单位最后是MB,其它的单位需转换一下单位)
答案:C

第 5 题

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

输入:数组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. n 2 n^2 n2
B. n − 2 n-2 n2
C. n − 1 n-1 n1
D. n n n

遇到这种题,绝对不要慌!先给它翻译一下:

   1. 将n的值赋给FLAG
   2. 只要FLAG的值>1:
   3.     将k的值变为FLAG-1
   4.     将1的值赋给FLAG
   5.     j的初值为1,循环至j==k
   6.         如果第j位比第j+1位大
   7.              将它们的位置交换
   8.              将j的值赋给FLAG

有没有感觉简单一点了呢?接下来把n的值带进去算就行了!(建议不要小于5)
答案:C

第 6 题

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

XYZ (A[1..n])
1.  if n=1 then return A[1]
2.  else temp ← XYZ (A[1..n-1])
3.  if temp < A[n]
4.  then return temp
5.  else return A[n]

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

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

和上一道题一样,翻译加模拟即可
答案:B

第 7 题

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

A. 可随机访问任一元素
B. 不必事先估计存储空间
C. 插入删除不需要移动元素
D. 所需空间与线性表长度成正比

关于链表的特点,必须记住:链表不可随机访问任一元素!(好像大部分链表的题目都考这个)
答案:A

第 8 题

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

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

常识题,背就完了!
答案:10-1=9,A

第 9 题

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

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

转进制都会吧,从最右边开始。 ( 1011 ) 2 (1011)_2 (1011)2= 1 ∗ 2 0 1*2^0 120+ 1 ∗ 2 1 1*2^1 121+ 1 ∗ 2 3 1*2^3 123= 1 + 2 + 8 1+2+8 1+2+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

harmis_yz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值