第 1.6 节

26届嵌入式/算法组正式纳新考核

作者
李骏远的头像李骏远
发布于 2026/10/09更新于 2026/10/09

26届VINCI战队嵌入式/算法组纳新考核

姓名:____________ 学号:________________ 学院专业:________________

意向组别:□ 嵌入式组 □ 算法组 □ 双意向

考核要求:

本次考试禁止各种形式的作弊,禁止使用AI,如发现取消考试成绩 可以翻看自己记录的笔记

  1. 选择题,判断题,简答题的答案通过.txt文件保存,并在txt内做好分类

  2. 编程题每一题将源文件和头文件封装进文件夹,文件夹按照题号命名1,2,3,4,5,6,7,8,9,10

    1-3程序补全题复制粘贴题干作为源文件,4-6函数编写题只需在源文件中编写函数即可,7-10编写完整可执行程序

  3. 将所有题目封装进总文件夹命名格式为:姓名-学号-组别

    文件夹框架:

    姓名-学号-组别
    |___ 选判.txt

    |___ 1 --1.cpp

    |___ 2 --2.cpp

    .....

    |___ 10 --10.cpp

  4. 总文件夹打成压缩包zip格式通过邮件发送到 060203selina@gmail.com

    务必检查是否发送成功,如被Gmail退回请发送到 2762335112@qq.com

考核说明

  • 考核范围:培养计划“C++(优先学)”第1—14、17—23部分,包含一维数组、二维数组和基本函数。

  • 计分方式:两组共用全部C/C++题,共90分;简答题按方向区分,每组10分。每组满分100分,独立计分。

  • 组别选择:单意向者只需作答对应组别的两道简答题。双意向者作答两组简答题,共用C/C++得分,分别计算两组总分。

  • 作答要求:选择题每题只有一个正确选项;判断题写“正确”或“错误”。编程题1—3填空,4—6只写函数定义,7—10分别写完整程序。

  • 编程语言:涉及命名空间或Mode枚举参数的题按C++作答;其余编程题可使用C或C++。完整程序须包含必要头文件和main函数。

  • 输入输出:输入均符合题目规定,无需检查非法输入;不得输出额外提示语。

题型作答数量分值
单项选择题5题每题2分,共10分
判断题5题每题2分,共10分
编程题10题共70分
简答题对应组别2题每题5分,共10分
合计22题100分

一、单项选择题(共10分)

1. 下列哪一个可以作为C/C++变量名?(2分)

  • A. 2speed

  • B. motor_speed

  • C. int

  • D. motor-speed

答:________

2. 执行下列代码后,result的值是多少?(2分)

int a = 7, b = 2;
int result = a / b + a % b;
  • A. 3

  • B. 3.5

  • C. 4

  • D. 5

答:________

3. 执行下列代码后,输出结果是什么?(2分)

int count = 2;
{
    int count = 5;
    ++count;
}
std::cout << count;
  • A. 2

  • B. 5

  • C. 6

  • D. 编译错误

答:________

4. 关于extern int total;(无初始化)的说法,哪一项正确?(2分)

  • A. 将total定义为常量

  • B. 每次声明都会创建一个新的total

  • C. 将total定义为普通局部变量

  • D. 声明total,实际定义可位于其他位置

答:________

5. 关于联合体union的说法,哪一项正确?(2分)

  • A. 各成员都拥有互不重叠的存储空间

  • B. 各成员共享同一块存储空间

  • C. 大小一定等于各成员大小之和

  • D. 不能包含整型成员

答:________

二、判断题(共10分)

  1. C++中使用std::cout输出时,可以包含<iostream>,并用std::限定其名称。(2分)

    答:________

  2. 数组int a[5]的有效下标是1、2、3、4、5。(2分)

    答:________

  3. 即使第一次条件判断为假,do-while循环体也至少执行一次。(2分)

    答:________

  4. switch中某个case执行完后,即使没有break,也一定自动退出switch。(2分)

    答:________

  5. 函数内的普通局部变量int value;未初始化时,其值一定为0。(2分)

    答:________

三、编程题(共70分)

题目形式为3道完善程序、3道按要求编写函数、4道编写完整代码。

编程题1:长方形面积(6分)

题目形式:完善程序

输入两个整数length和width(1至100),输出长方形面积。area使用const修饰,初始化后不再修改。补全①②③,每空2分。样例输入:3 4;样例输出:12。

#include <stdio.h>
int main(void) {
    int length = 0, width = 0;
    scanf("%d %d", &length, &width);
    const ___①___ area = ___②___;
    printf("%d\n", ___③___);
    return 0;
}

①:________ ②:________ ③:________

编程题2:数字各位之和(6分)

题目形式:完善程序

输入一个非负整数n(0至9999),使用do-while求它的各位数字之和。补全①②③,每空2分。样例输入:305;样例输出:8。输入0时输出0。

#include <iostream>
int main() {
    int n = 0, sum = 0;
    std::cin >> n;
    do {
        sum += ___①___;
        n = ___②___;
    } while (___③___);
    std::cout << sum << "\n";
    return 0;
}

①:________ ②:________ ③:________

编程题3:统计有效输入(6分)

题目形式:完善程序

输入5个整数(每个为-100至100)。使用命名空间中的total统计其中正整数的和。遇到小于等于0的数时跳过本次累加。补全①②③,每空2分。样例输入:3 -2 0 4 1;样例输出:8。

#include <iostream>
namespace tally {
    extern int total;
    int total = 0;
}
int main() {
    for (int i = 0; i < 5; ++i) {
        int x = 0;
        std::cin >> x;
        if (x <= 0) ___①___;
        ___②___ += x;
    }
    std::cout << ___③___ << "\n";
    return 0;
}

①:________ ②:________ ③:________

编程题4:数值限幅(6分)

题目形式:按要求编写函数

编写int clampValue(int value)。小于0时返回0,大于100时返回100,其余情况返回原值。只需提交函数定义。调用示例:clampValue(-5)返回0,clampValue(42)返回42,clampValue(120)返回100。

int clampValue(int value);

编程题5:偶数求和(6分)

题目形式:按要求编写函数

编写int sumEven(int n),使用while循环计算1至n(含n)中所有偶数的和。0 ≤ n ≤ 100。只需提交函数定义。调用示例:sumEven(6)返回12,sumEven(1)返回0,sumEven(0)返回0。

int sumEven(int n);

编程题6:枚举状态转换(6分)

题目形式:按要求编写函数

已给出enum Mode ;。编写int modeValue(Mode mode),必须使用switch:STOP返回0,SLOW返回30,FAST返回60。输入保证为这三种状态之一。只提交函数定义,不必重复定义枚举。

enum Mode { STOP = 0, SLOW = 1, FAST = 2 };
int modeValue(Mode mode);

编程题7:整数序列统计(8分)

题目形式:编写完整代码

输入n(1至10),再输入n个整数(-100至100)。使用一维数组保存数据,输出其中正整数的个数及所有整数的总和,两个数之间用一个空格。0不算正整数。

样例输入

5
3 -2 0 5 -1

样例输出

2 5

编程题8:联合体保存结果(8分)

题目形式:编写完整代码

使用union Result ;。输入type和值:type=0时值是0至1000的整数,写入count并按整数输出;type=1时值是0至100的实数,写入score并保留两位小数输出。只读取本次写入的成员。输入保证type为0或1。

样例1输入

0 8

样例1输出

8

样例2输入

1 86.5

样例2输出

86.50

提示:可使用printf("%.2f", value)输出保留两位小数的实数。

编程题9:连续达标次数(9分)

题目形式:编写完整代码

输入n和阈值threshold(1 ≤ n ≤ 20,0 ≤ threshold ≤ 100),再输入n个整数(0至100),用数组保存。数值大于等于threshold视为达标,小于threshold时连续达标中断。输出最长连续达标次数;没有达标数值时输出0。只需顺序遍历,不要求高级算法。

样例输入

7 50
40 50 60 20 80 90 100

样例输出

3

编程题10:二维数据统计(9分)

题目形式:编写完整代码

三个数据组,每组有四个整数(0至100),按行输入3×4个整数,用二维数组保存。求每组的总和,输出总和最大的组编号(1至3)及该总和。并列时输出编号最小的组。

样例输入

1 2 3 4
4 4 4 4
2 2 2 2

样例输出

2 16

四、简答题(按意向组作答,共10分)

嵌入式组与算法组各有两道简答题,每题5分。单意向者仅作答对应组别;双意向者作答两组。

嵌入式组

1. 单片机是什么?用自己的话简要说明。(5分)

答:

2. 通讯协议是什么?用自己的话简要说明。(5分)

答:

3. 对于ROBOCON比赛的看法并简要概述某一年比赛主题和内容(必答,不计分)

答:

算法组

1. Linux中的root是什么?简要说明其账户性质与权限特点,并举出一种可进行的管理操作。(5分)

答:

2. 基于Linux的系统、发行版请列举两个。(5分)

答:

3. 对于ROBOCON比赛的看法并简要概述某一年比赛主题和内容(必答,不计分)

答: