当前位置: 首页 > news >正文

CSP 2023 普及组第一轮 - CSP/S 2023初试题 基础部分解析

第 1 题

在 C++ 中,下面哪个关键字用于声明一个变量, 其值不能被修改?(B)

A. unsigned

B. const

C. static

D. mutable

【const声明的变量不可修改】

第 2 题

八进制数 12345670(8) 和 07654321(8) 的和为(D)

A. 22222221(8)

B. 21111111(8)

C. 22111111(8)

D. 22222211(8)

【列竖式计算即可】

第 3 题

阅读下述代码,请问修改 data 的 value 成员以存储 3.143.14,正确的方式是(A)

union Data{int num;float value;char symbol;
};
union Data data;

A. data.value = 3.14

B. value.data = 3.14;

C. data->value = 3.14;

D. value->data = 3.14;

【常识性问题】

第 4 题

假设有一个链表的节点定义如下:

struct Node { int data; Node* next; }

现在有一个指向链表头部的指针:Node* head。如果想要在链表中插入一个新节点,其成员 data 的值为 4242,并使新节点成为链表的第一个节点,下面哪个操作是正确的?(A)

A. Node* newNode = new Node; newNode->data = 42; newNode->next = head; head = newNode;

B. Node* newNode = new Node; head->data = 42; newNode->next = head; head = newNode;

C. Node* newNode = new Node; newNode->data = 42; head->next = newNode;

D. Node* newNode = new Node; newNode->data = 42; newNode->next = head;

应先指定newNode的值,然后把newNode的下一个指向头指针的位置,再把头指针指向它的位置】

第 5 题

根节点的高度为 11,一棵拥有 2023 个节点的三叉树高度至少为(C)。

A. 6

B. 7

C. 8

D. 9

【三叉树的第一层有3^0个节点,第二层有3^1个节点,第三层有3^2个节点……那么前一层有3^0个节点,前二层有3^0+1^1个节点……以此类推,前 n 层有3^0+3^1+3^2+3^3+...+3^n个节点,也就是(3^0 * (3^n - 1)) / 3 - 1个节点(等比数列求和),简化后就是(3^n - 1) / 2。结合选项,(3^6 - 1) / 2 = 364,(3^7 - 1) / 2 = 1093,(3^8 - 1) / 2 = 3280,3280 > 2023】

第 6 题

小明在某一天中依次有七个空闲时间段,他想要选出至少一个空闲时间段来练习唱歌,但他希望任意两个练习的时间段之间都有至少两个空闲的时间段让他休息。则小明一共有(B)种选择时间段的方案。

A. 31

B. 18

C. 21

D. 33

【抽出一个时间段有 7 种选法,抽出两个时间段有[1, 4][1, 5][1, 6][1, 7][2, 5][2, 6][2, 7][3, 6][3, 7][4, 7] 10 种选法,抽出三个时间段只有 1 种选法】

第 7 题

以下关于高精度运算的说法错误的是(C)

A. 高精度计算主要是用来处理大整数或需要保留多位小数的运算

B. 大整数除以小整数的处理的步骤可以是,将被除数和除数对齐,从左到右逐位尝试将除数乘以某个数,通过减法得到新的被除数,并累加商

C. 高精度乘法的运算时间只与参与运算的两个整数中长度较长者的位数有关

D. 高精度加法运算的关键在于逐位相加并处理进位

【高精度乘法的运算时间与两者长度都有关】

第 8 题

后缀表达式 6 2 3 + - 3 8 2 / + * 2 ^ 3 + 对应的中缀表达式是

A. ((6-(2+3))*(3+8/2))^2+3

B. 6-2+3*3+8/2^2+3

C. (6-(2+3))*((3+8/2)^2)+3

D. 6-((2+3)*(3+8/2))^2+3

【2 3+代表2+3,6 2 3 + - 代表6 - (2 + 3)以此类推下去】

第 9 题

数 101010(2) 和 166(8)的和为 ( )

A. (10110000)2

B. (236)8

C. (158)10

D. (A0)16

【166(8) = 1110110(2)

   101010(2)

+1110110(2)

10100000(2)

=230(8)

=A0(16)

第 10 题

假设有一组字符 {a,b,c,d,e,f}, 对应的频率分别为 5%,9%,12%,13%,16%,45%。请问以下哪个选项是字符abcdef分别对应的一组哈夫曼编码?

A. 1111,1110,101,100,110,0

B. 1010,1001,1000,011,010,00

C. 000,001,010,011,10,11

D. 1010,1011,110,111,00,01

懂的都懂哈夫曼树的左0右1,左1右0都无所谓。】

第 11 题

给定一棵二叉树,其前序遍历结果为:ABDECFG,中序遍历结果为:DEBACFG。请问这棵树的正确后序遍历结果是什么?(A)

A. EDBGFCA

B. EDGBFCA
C. DEBGFCA
D. DBEGFCA

【我们结合两者来分析:从前序遍历中,我们知道A是根节点。在中序遍历中, A之前的部分DEB是左子树, A之后的部分CFG是右子树。对于左子树DEB,从前序遍历中我们知道B是左子树的根节点。在中序遍历中, B之前的部分DE是B的左子树。对于左子树DE,从前序遍历中我们知道D是左子树的根节点, E是D的右子节点。对于右子树CFG,从前序遍历中我们知道C是右子树的根节点。在中序遍历中, C之后的部分FG是C的右子树。对于右子树FG,从前序遍历中我们知道F是右子树的根节点, G是F的右子节点。】

第 12 题

考虑一个有向无环图,该图包含 44 条有向边:(1,2),(1,3),(2,4) 和 (3,4)。以下哪个选项是这个有向无环图的一个有效的拓扑排序?(B)

A. 4,2,3,1

B. 1,2,3,4

C. 1,2,4,3

D. 2,1,3,4

第 13 题

在计算机中,以下哪个选项描述的数据存储容量最小(B)

A. 字节 (byte)

B. 比特 (bit)

C. 字 (word)

D. 千字节 (kilobyte)

【1TB = 2^10GB = 2^20MB = 2^30KB = 2^40Byte = 2^40*8bit

1字 = 2Byte = 16bit】

第 14 题

一个班级有 10 个男生和 12 个女生。如果要选出一个 3 人的小组,并且小组中必须至少包含 11 个女生,那么有多少种可能的组合?()

A. 1420

B. 1770

C. 1540

D. 2200

【把22人中选3人的情况减去男生中选3人的情况,就是答案。

   C(22, 3) - C(10, 3)

= 22*21*21 / 3*2*1 - 10*9*8 / 3*2*1

= 22*7*10 - 10*3*4

= 1540 - 120

= 1420】

第 15 题

以下哪个不是操作系统?(D)

A. Linux

B. Windows

C. Android

D. HTML

【HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。】

http://www.lryc.cn/news/418148.html

相关文章:

  • 解锁IPython的跨平台魔法:深入探索%%script命令的神秘力量
  • 如何避免项目发布后用户从浏览器WebPack中看到源码
  • java学习19VUE
  • Redis7(四)哨兵、集群
  • 校园课程助手【3】-使用枚举类封装异常优雅处理全局异常
  • LeetCode面试150——58最后一个单词的长度
  • MySQL——数据库的操作,数据类型,表的操作
  • Go 临界资源 安全问题
  • 安卓常用控件(上)
  • 基于 RabbitMQ 实现延迟消息的订单处理流程
  • 使用Python将Word文档转换为PNG图片
  • Qt创建Json对象时浮点数的精度控制
  • 【海贼王航海日志:前端技术探索】CSS你了解多少?(二)
  • 软件测试面试200问(全)
  • 【单片机毕业设计选题24106】-基于阿里云的心率呼吸监测系统
  • leetcode28:找出字符串第一个匹配的下标
  • Java二十三种设计模式-桥接模式(10/23)
  • Java 面试指南
  • 计算机毕业设计选题推荐-自习室座位预约系统-Java/Python项目实战
  • android13 删除兼容性警告窗口 deprecation warning 去除弃用警告
  • JESD204B/C协议学习笔记
  • 网络安全-渗透测试工具及插件介绍和使用方法
  • JAVA WEB初步实验
  • 30 个 JavaScript 技巧,让你的代码更具可读性
  • 电商行业中选择分账系统的关键因素!
  • 通过继承实现状态模式(C++)
  • 全国多地公布2024下半年软考报名具体时间
  • 【Python】requests的response.text 和 urllib.request 的 response.read()的区别
  • Obsidian插件安装与开发
  • lvs的dr模式实现