GESP C++六级认证真题 2024年3月

2024-04-09 17:44
文章标签 c++ 认证 gesp 真题 2024 六级

本文主要是介绍GESP C++六级认证真题 2024年3月,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C++ 六级
2024 年 03 月
1 单选题(每题 2 分,共 30 分)
第 1 题 在构建哈夫曼树时,每次应该选择( )合并。
A. 最小权值的节点
B. 最大权值的节点
C. 随机节点
D. 深度最深的节点
第 2 题 面向对象的编程思想主要包括以下哪些原则( )?
A. 贪心、动态规划、回溯
B. 并发、并行、异步
C. 递归、循环、分治
D. 封装、继承、多态
第 3 题 在队列中,元素的添加和删除是按照( )原则进行的。
A. 先进先出
B. 先进后出
C. 最小值先出
D. 随机进出
第 4 题 给定一个简单的类定义如下,( )语句在类的外部正确地创建了一个 Circle 对象并调用了 getArea 函数?
class Circle {
    private:
        double radius;
    public:
        Circle(double r) : radius(r) {}
        double getArea() {
            return 3.14 * radius * radius;
        }
};
A. Circle c = Circle(5.0); c.getArea(c);
B. Circle c(5.0); getArea(c);
C. Circle c = new Circle(5.0); c.getArea();
D. Circle c(5.0); c.getArea();
第 5 题 以下代码希望能在一棵二叉排序树中搜索特定的值,请在横线处填入( ),使其能正确实现相应功能。
TreeNode* search(TreeNode* root, int target) {
    if (root == NULL || root->val == target) {
        return root;
    }
    if (_______________) {
        return search(root->left, target);
    } else {
        return search(root->right, target);
    }
}
A. target < root->left
B. target < root->val
C. target > root->val
D. target > root->left
第 6 题 3 位格雷编码的正确顺序是( )。
A. 000, 001, 010, 011, 100, 101, 110, 111
B. 000, 001, 011, 010, 110, 111, 101, 100
C. 000, 010, 001, 011, 100, 110, 101, 111
D. 000, 010, 110, 100, 111, 101, 011, 001
第 7 题 以下动态规划算法的含义与目的是( )。

int function(vector<int>& nums) {
    int n = nums.size();
    if (n == 0)
        return 0;
    if (n == 1)
        return nums[0];
    vector<int> dp(n, 0);
    dp[0] = nums[0];
    dp[1] = max(nums[0], nums[1]);
    for (int i = 2; i < n; ++i) {
        dp[i] = max(dp[i - 1], nums[i] + dp[i - 2]);
    }
    return dp[n - 1];
}

A. 计算数组 nums 中的所有元素的和
B. 计算数组 nums 中相邻元素的最大和
C. 计算数组 nums 中不相邻元素的最大和
D. 计算数组 nums 中的最小元素
第 8 题 阅读以下广度优先搜索的代码:
使用以上算法遍历以下这棵树,可能的输出是( )。
void bfs(TreeNode* root) {
    if (root == NULL) {
        return;
    }
    queue<TreeNode*> q;
    q.push(root);
    while (!q.empty()) {
        TreeNode* current = q.front();
        q.pop();
        cout << current->val << " ";
        if (current->left) {
            q.push(current->left);
        }
        if (current->right) {
            q.push(current->right);
        }
    }
}
A. 1 2 8 9 4 5 3 6 7 10 11
B. 1 2 3 4 5 6 7 8 9 10 11
C. 1 2 3 8 9 6 4 5 7 10 11
D. 1 2 3 8 9 4 5 6 7 10 11
第 9 题 给定一个空栈,执行以下操作序列:
操作序列: push(1), push(2), push(3), pop(), pop(), push(4), push(5), pop()
最终栈中的元素是( )。
A. 1, 2
B. 1, 4, 5
C. 1, 2, 5
D. 1, 4
第 10 题 一个有 124 个叶子节点的完全二叉树,最多有( )个结点。
A. 247
B. 248
C. 249
D. 250
第 11 题 在求解最优化问题时,动态规划常常涉及到两个重要性质,即最优子结构和( )。
A. 重叠子问题
B. 分治法
C. 贪心策略
D. 回溯算法
第 12 题 若一棵二叉树的先序遍历为:A, B, D, E, C, F、中序遍历为:D, B, E, A, F, C,它的后序遍历为( )。
A. D, E, B, F, C, A
B. E, D, B, F, C, A
C. D, E, B, C, F, A
D. E, D, B, C, F, A

答案和更多内容请查看网站:【试卷中心 -- C++  其它】

网站链接 

青少年软件编程历年真题模拟题实时更新

================================================

这篇关于GESP C++六级认证真题 2024年3月的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/888819

相关文章

C++右移运算符的一个小坑及解决

《C++右移运算符的一个小坑及解决》文章指出右移运算符处理负数时左侧补1导致死循环,与除法行为不同,强调需注意补码机制以正确统计二进制1的个数... 目录我遇到了这么一个www.chinasem.cn函数由此可以看到也很好理解总结我遇到了这么一个函数template<typename T>unsigned

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

C++ vector越界问题的完整解决方案

《C++vector越界问题的完整解决方案》在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选,然而,数组越界访问始终是威胁程序稳定性的... 目录引言一、vector越界的底层原理与危害1.1 越界访问的本质原因1.2 越界访问的实际危害二、基

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

C++归并排序代码实现示例代码

《C++归并排序代码实现示例代码》归并排序将待排序数组分成两个子数组,分别对这两个子数组进行排序,然后将排序好的子数组合并,得到排序后的数组,:本文主要介绍C++归并排序代码实现的相关资料,需要的... 目录1 算法核心思想2 代码实现3 算法时间复杂度1 算法核心思想归并排序是一种高效的排序方式,需要用

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件