乐于分享
好东西不私藏

2023年入门级第一轮C++软件能力认证:选择1-5题

2023年入门级第一轮C++软件能力认证:选择1-5题

CSP- J竞赛 :选择题

一、

选择题

第一题:

第二题:

第三题:

第四题:

第五题:

二、

参考答案

第一题答案:B

  • A. unsigned:用于修饰整型,表示无符号类型,仅限制数值范围不能为负数,变量本身的值依然可以修改。

  • B. const:常量修饰符,被const修饰的变量初始化后不允许修改值,符合题目要求。

  • C. static:用于控制变量 / 函数的存储周期与作用域,不限制变量值修改。

  • D. mutable:与const相反,专门用于突破const限制,允许在 const 成员函数中修改该成员变量。

第二题答案:D

从最右侧(个位)开始:

位 1:0 + 1 = 1 → 写 1,进位 0

位 2:7 + 2 = 9 → 9 - 8 = 1,进位 1

位 3:6 + 3 + 1 = 10 → 10 - 8 = 2,进位 1

位 4:5 + 4 + 1 = 10 → 10 - 8 = 2,进位 1

位 5:4 + 5 + 1 = 10 → 10 - 8 = 2,进位 1

位 6:3 + 6 + 1 = 10 → 10 - 8 = 2,进位 1

位 7:2 + 7 + 1 = 10 → 10 - 8 = 2,进位 1

位 8:1 + 0 + 1 = 2 → 写 2,进位 0

拼接结果(高位到低位):2 2 2 2 2 2 1 1,即 22222211(8),对应选项 D

第三题答案:A

2. 各选项错误原因

A. data.value = 3.14; ✅ 正确变量名 . 成员名,语法规范,用于给 float 成员 value 赋值。

B. value.data = 3.14; ❌ 错误顺序颠倒,必须是「变量。成员」,不能用成员。变量。

C. data->value = 3.14; ❌ 错误-> 仅指针可用,data 不是指针,语法非法。

D. value->data = 3.14; ❌ 错误顺序、运算符全部错误,无此写法。

补充拓展

如果定义的是指针:union Data *p = &data;则正确写法为:p->value = 3.14;

第四题答案:A

头插法(新节点作为链表第一个节点)标准三步流程

创建新节点,给 data 赋值为 42;

让新节点的 next 指向原来的头节点 head;

更新头指针 head,使其指向新节点。

Node* newNode = new Node;

newNode->data = 42;

newNode->next = head;head = newNode;

第五题答案:C

三叉树完整定义

一、基础定义

三叉树(三元树、3 叉树)是有序树的一种,每个节点最多拥有 3 个子节点,子节点有固定区分:左孩子、中孩子、右孩子,顺序不可交换。

节点约束:任意节点的子节点数量 ∈ {0, 1, 2, 3}

有序性:左、中、右子树是严格区分的,调换位置视为不同三叉树。

根高度规则(本题标准):单独根节点高度 = 1;空树高度一般定义为 0。

二、细分分类

1. 普通三叉树

无任何限制,节点可以有 0~3 个子节点,形态任意。

2. 满三叉树(完全铺满)

高度为 h 的满三叉树,每一层所有节点都长满 3 个子节点,无空缺。

节点总数公式:\(S=\dfrac{3^h - 1}{2}\)

例:h=1(仅根)→ 1 个;h=2 → 1+3=4 个;h=3 → 1+3+9=13 个。

3. 完全三叉树

按从上到下、从左到右的顺序依次填充节点,仅最后一层允许节点未满,且空缺只能出现在最右侧。最小高度问题中,完全 / 满三叉树是节点最紧凑、高度最低的形态。

商业合作

1.定制版教具、竞赛版教具。

2.國際機器人教育發展協會师资培训

3.开展青少年机器人等级评测授权服务

4.四个教学点,任意选择