CCF编程能力等级认证GESP—C++7级—20240907

news2024/9/20 0:52:28

CCF编程能力等级认证GESP—C++1级真题

  • 单选题(每题 2 分,共 30 分)
  • 判断题(每题 2 分,共 20 分)
  • 编程题 (每题 25 分,共 50 分)
    • 小杨寻宝
    • 矩阵移动

单选题(每题 2 分,共 30 分)

1、已知小写字母 b 的ASCII码为98,下列C++代码的输出结果是( )。

#include <iostream>
using namespace std;
int main() {
	char a = 'b';
	a++;
	cout << a;
	return 0;
}
A. b 
B. c 
C. 98 
D. 99

正确答案:B

2、已知 a 为 int 类型变量,下列表达式不符合语法的是( )。

A. &a + 3
B. +a & 3 
C. a - - 4 
D. a++3

正确答案:D

3、下列关于C++语言中指针的叙述,不正确的是( )。

A. 指针变量中存储的是内存地址。
B. 指针变量指向的内存地址不一定能够合法访问。
C. 结构类型中的指针成员不能指向该结构类型。
D. 定义指针变量时必须指定其指向的类型。

正确答案:C

4、下列关于C++类的说法,错误的是( )。

A. 将C++类对象通过值传递给函数参数时,会自动调用复制构造函数。 
B. 将一个类的对象赋值给该类的另一个对象时,不会自动调用构造函数。 C. 定义C++类对象时,一定会调用默认构造函数。
D. 构造派生类的对象时,一定会调用基类的构造函数。

正确答案:C

5、某二叉树T的先序遍历序列为:{A B D C E G H F},中序遍历序列为:{D B A H G E C F},则下列说法中正 确的是( )。

A. T的高为5
B. T有4个叶节点 
C. T是平衡树
D. 以上说法都不对

正确答案:A

6、一棵完全二叉树有431个结点,则叶结点有多少个?( )

A. 176
B. 215 
C. 216 
D. 255

正确答案:C

7、下列关于树的说法,错误的是( )。

A. 二叉树的中序遍历与其深度优先遍历总是相同的。
B. 所有树都可以构造一颗二叉树与之一一对应。
C. 如果树的一个叶结点有两个不同的祖先结点,那么其中一个一定是另一个的祖先结点。 
D. 树的结点不能有两个父结点。

正确答案:A

8、一个简单无向图有10个结点、30条边。再增加多少条边可以成为完全图。( )

A. 10
B. 15 
C. 51 
D. 60

正确答案:B

9、以下哪个方案可以合理解决或缓解哈希表冲突( )。

A. 丢弃发生冲突的新元素。
B. 用新元素覆盖发生冲突的元素。
C. 用新元素覆盖在冲突位置的下一个位置。
D. 将新元素放置在冲突位置之后的第一个空位。

正确答案:D

10、一个迷宫,已知从起点不经过重复结点到达终点的路径有且仅有一条,则下面说法错误的是( )。

A. 可以使用深度优先搜索找到这条路径。
B. 可以使用广度优先搜索找到这条路径。
C. 该迷宫内与起点连通的结点,一定也与终点连通。
D. 该迷宫内与起点连通的结点及它们之间的路径可以抽象为无向无环图。

正确答案:D

11、下面程序的输出为( )。

#include <iostream>
#include <cmath>
using namespace std;
int main() {
	cout << (int)log(8) << endl;
	return 0;
}
A. 2
B. 3
C. 8
D. 无法通过编译。

正确答案:A

12、下面程序的输出为( )。

#include <iostream>
#define N 10
using namespace std;
int path[N][N];
int main() {
    for (int i = 1; i < N; i++)
        path[i][0] = i;
    for (int j = 1; j < N; j++)
        path[0][j] = j;
    for (int i = 1; i < N; i++)
        for (int j = 1; j < N; j++)
            path[i][j] = path[i - 1][j] + path[i][j - 1];
    cout << path[8][4] << endl;
return 0; }
A. 84
B. 495
C. 1012
D. 结果是随机的。

正确答案:C

13、上题中程序的时间复杂度为( )。

A. O ( 1 ) O(1) O(1)
B. O ( N ) O(N) O(N)
C. O ( N l o g N ) O(NlogN) O(NlogN)
D. O ( N 2 ) O(N^2) O(N2)

正确答案:D

14、下面 fib 函数的时间复杂度为( )。

int fib_rcd[MAX_N];
int fib(int n){
	if(n<=1) 
		return 1;
	if (fib_rcd[n] > 0)
	    return fib_rcd[n];
	return fib(n - 1) + fib(n - 2);
}

A. O ( n ) O(n) O(n)
B. O ( ϕ n ) , ϕ = 5 − 1 2 O(\phi^n), \phi = \frac{\sqrt{5} - 1}{2} O(ϕn),ϕ=25 1
C. O ( 2 n ) O(2^n) O(2n)
D. 无法正常结束

正确答案:B

15、下列选项中,哪个可能是下图的广度优先遍历序列( )。

在这里插入图片描述

A. 1, 3, 5, 7, 4, 2, 6, 8, 9 
B. 9, 4, 2, 1, 3, 7, 5, 6, 8 
C. 1, 3, 5, 7, 6, 8, 9, 4, 2 
D. 9, 4, 7, 2, 1, 3, 5, 6, 8

正确答案:A

判断题(每题 2 分,共 20 分)

1、表达式’a’ << 1的结果为’a '。

正确答案:错误

2、在C++语言中,函数可以定义在另一个函数定义之内。

正确答案:错误

3、选择排序一般是不稳定的。

正确答案:正确

4、埃氏筛法和欧拉筛法都是使用筛法思想生成素数表的算法,欧拉筛法的时间复杂度更低。

正确答案:正确

5、使用 math.h 或 cmath 头文件中的正弦函数,表达式 sin(30) 的结果类型为 double 、值约为 0.5 。

正确答案:错误

6、一颗N层的完全二叉树,一定有 2 N 2^N 2N个结点。

正确答案:错误

7、一个图,不管是否连通,都可以使用深度优先搜索算法进行遍历。

正确答案:正确

8、某个哈希表键值 x 为整数, H(x) = x % p 是常用的哈希函数之一,要求 p 选择素数是因为这样不会产生 冲突。( )

正确答案:错误

9、使用单链表实现队列时,链表头结点作为队首比链表头结点作为队尾更便于操作。

正确答案:正确

10、一个图中,每个结点表达一个人,连接两个结点的边表达两个结点对应的人相互认识,则这个图可以用来
表达社交网络。

正确答案:正确

编程题 (每题 25 分,共 50 分)

小杨寻宝

【问题描述】
小杨有一棵包含n个节点的树,树上的一些节点放置有宝物。
小杨可以任意选择一个节点作为起点并在树上移动,但是小杨只能经过每条边至多一次,当小杨经过一条边后,这条边就会消失。小杨每经过一个放置有宝物的节点就会取得该宝物。
小杨想请你帮他判断自己能否成功取得所有宝物。
【输入描述】
第一行包含一个正整数t,代表测试用例组数。
接下来是t组测试用例。对于每组测试用例,一共n + 1行
第一行包含一个正整数n,代表树的节点数。
第二行包含n个非负整数 a 1 , a 2 , . . . , a n a_1, a_2, ..., a_n a1,a2,...,an,其中如果 a i = 1 a_i = 1 ai=1,则节点i放置有宝物,若 a i = 0 a_i = 0 ai=0,则节点i没有宝物
之后n - 1行,每行包含两个正整数 x i , y i x_i, y_i xi,yi,代表存在一条连接节点 x i x_i xi y i y_i yi的边。
【输出描述】
对于每组测试数据,如果小杨能成功取得所有宝物,输出 Yes,否则输出 No。
【样例输入 1】
2
5
0 1 0 1 0
1 2
1 3
3 4
3 5
5
1 1 1 1 1
1 2
1 3
3 4
3 5
【样例输出 1】
Yes
No

对于第一组测试用例,小杨从节点2出发,按照2 - 1 - 3 - 4的顺序即可成功取得所有宝物。

子任务编号数据点占比tn
120% < = 10 <= 10 <=10 < = 5 <= 5 <=5
220% < = 10 <= 10 <=10 < = 1000 <= 1000 <=1000
360% < = 10 <= 10 <=10 < = 1 0 5 <= 10^5 <=105

对于全部数据,保证有 1 < = t < = 10 , 1 < = n < = 1 0 5 , 0 < = a i < = 1 1 <= t <= 10, 1 <= n <= 10^5, 0 <= a_i <= 1 1<=t<=10,1<=n<=105,0<=ai<=1,且保证树上一定有至少一个节点放置有宝物。

矩阵移动

【问题描述】
小杨有一个有一个 n ∗ m n * m nm的矩阵,仅包含 01? 三种字符。矩阵的行从上到下编号依次为1,2,…,n,列从左到右编号依次为1,2,…,m编号。小杨开始在矩阵的左上角(1,1),小杨只能向下或者向右移动,最终到达右下角(n,m) 时停止,在移动的过程中每经过一个字符 1 得分会增加一分(包括起点和终点),经过其它字符则分数不变。小杨 的初始分数为0分。
小杨可以将矩阵中不超过x个字符 ? 变为字符 1。小杨在修改矩阵后,会以最优的策略从左上角移动到右下角。他想 知道自己最多能获得多少分。
【输入描述】
第一行包含一个正整数t,代表测试用例组数。
接下来是t组测试用例。对于每组测试用例,一共n + 1行。
第一行包含三个正整数n,m,x,含义如题面所示。
之后n行,每行包含一个长度为m且仅包含 01? 三种字符的字符串。
【输出描述】
对于每组测试用例,输出一行一个整数,代表最优策略下小杨的得分最多是多少。
【样例输入 1】
2
3 3 1
000
111
01?
3 3 1
000
?0?
01?
【样例输出 1】
4
2

对于第二组测试用例,将(1,1)或者(3,3)变成1均是最优策略。

子任务编号数据点占比tn,mx
130% < = 5 <= 5 <=5 < = 10 <= 10 <=10=1
230% < = 10 <= 10 <=10 < = 500 <= 500 <=500 < = 30 <= 30 <=30
340% < = 10 <= 10 <=10 < = 500 <= 500 <=500 < = 300 <= 300 <=300

对于全部数据,保证有 1 < = t < = 10 , 1 < = n , m < = 500 , 1 < = x < = 300 1 <= t <= 10, 1 <= n,m <= 500, 1 <= x <= 300 1<=t<=10,1<=n,m<=500,1<=x<=300,同时保证所有测试用例n * m的总和不超过 2.5 ∗ 1 0 5 2.5 * 10^5 2.5105

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2118319.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring AOP,通知使用,spring事务管理,spring_web搭建

spring AOP AOP概述 AOP面向切面编程是对面向对象编程的延续&#xff08;AOP &#xff08;Aspect Orient Programming&#xff09;,直译过来就是 面向切面编程,AOP 是一种编程思想&#xff0c;是面向对象编程&#xff08;OOP&#xff09;的一种补充。&#xff09; 面向切面编…

开放系统,面向各类业务需求可提供定制化服务的智慧物流开源了

智慧物流视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。构建基于Ai技术的…

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中&#xff0c;能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候&#xff0c;一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具&#xff01; 365在线转文字 直达链接&…

性能测试工程师必须掌握的诊断工具及应用实例

“工欲善其事&#xff0c;必先利其器”&#xff0c;那么作为一名性能测试工程师需要了解到的诊断工具有哪些呢&#xff1f;在实际工作中要怎么去应用呢&#xff1f; 1、应用层报文抓取工具-HTTPWatch 快速定位请求、响应时间 快速查找请求、响应完整HTTP报文 快速定位请求、…

1、程序如何生成和运行

程序如何生成和运行 一、生成可执行文件1、 源文件2、 预处理&#xff1a;g -E hello.cpp -o hello.i //将头文件&#xff0c;宏定义等替换到源文件3、 编译&#xff1a;g -S hello.i -o hello.s // 生成汇编代码4、 汇编&#xff1a;g -c hello.s -o hello.o // 生成二进制目标…

【区块链 + 基层治理】链动社区:基于 FISCO BCOS 的智慧社区数字化治理平台 | FISCO BCOS应用案例

“链动社区——基于 FISCO BCOS 的智慧社区数字化治理平台”是智慧社区治理服务一套完整系统&#xff0c;通过使用 FISCO BCOS 联盟链方案进行社区数据管理&#xff08;积分交易数据和行为数据等&#xff09;、对社区工作进行数字化支持&#xff0c;激发社区治理的多元主体参与…

Linux相关概念和重要知识点(1)(交互方式、存储结构、定位方式)

1.Linux是什么&#xff1f; Linux是一款继Unix之后开发的一款开源操作系统。 操作系统是基础性系统软件&#xff0c;是人机交互的一个媒介&#xff0c;我们日常使用的Windows、iOS、Android都是操作系统&#xff0c;用户都是和操作系统打交道的。像Windows、iOS是闭源的&…

【西电电装实习】流水灯(高级贴片焊接练习)

前言 说明书 左边实现流水&#xff0c;右边实现灯&#xff0c;灯与灯之间独立 此练习板具有功能 注意事项 不能焊错芯片&#xff0c;会影响功能先焊右侧比较好焊的用万用表检测电路质量 引脚序号 有圆点是第一个脚&#xff0c;然后逆时针按自然数顺序标引脚

随手记:uniapp小程序登录方式和小程序使用验证码登录

小程序登录方式&#xff1a; 方式一&#xff1a;小程序授权登录 通过uni.login获取 临时登录凭证code&#xff0c;向后端换取token。 <u-button type"primary" shape"circle" click"login">登 录</u-button>login() {uni.login({p…

零基础国产GD32单片机编程入门(十六)DMA详解及ADC-DMA方式采集含源码

文章目录 一.概要二.GD32F103C8T6单片机DMA外设特点三.GD32单片机DMA内部结构图四.DMA各通道请求五.GD32F103C8T6单片机ADC-DMA采集例程六.工程源代码下载七.小结 一.概要 基本概念&#xff1a; DMA是Direct Memory Access的首字母缩写,是一种完全由硬件执行数据交换的工作方式…

QML学习三:qml设计器报错 Line: 0: The Design Mode requires a valid Qt kit

开发环境:Qt 6.5.3 LTS 1、Qt 6.5.3 LTS 2、Pyside6 3、Python 3.11.4 4、win11 默认不打开设计器的时候可以看到我们默认是有Python的环境,而且点击运行是可以运行的。但是当打开qml设计器时提示下面这个错误,提示需要一个可用的套件。 解决办法: 点击+号创建新的套件…

迈向新一代星地融合的高速测试解决方案

一、面向未来下一代通信技术的射频测试挑战 移动通信网络的发展如下图所示&#xff0c;1G时代用模拟信号传输&#xff0c;实现了语音传输业务&#xff1b;2G时代&#xff0c;数字传输取代了模拟传输&#xff0c;人们能够使用手机短信和手机上网&#xff1b;3G时代&#xff0c;…

推动生态系统架构创新与可持续发展的关键引擎——The Open Group 2024年度大会全解析

在当今快速变化的数字化转型浪潮中&#xff0c;开放标准正逐渐成为推动企业创新和生态系统架构发展的重要力量。为了帮助企业在实现可持续发展的道路上加速推进&#xff0c;The Open Group 2024生态系统架构与可持续发展年度大会将为架构师、技术专家以及企业CIO、CTO提供一个深…

直流充电桩测试仪优势和特点

直流充电桩测试仪是一种专门用于检测和测试直流充电桩性能的设备。它的主要功能是对充电桩的各项参数进行精确测量&#xff0c;确保其正常工作&#xff0c;提高充电效率和安全性。以下是直流充电桩测试仪的优势和特点&#xff1a; 1. 高精度测量&#xff1a;直流充电桩测试仪具…

【AcWing】861. 二分图的最大匹配(匈牙利算法)

匈牙利算法&#xff0c;他可以在比较快的时间复杂度之内告诉我们左边和右边成功匹配的最大数是多少 匹配指的是边的数量&#xff0c;成功的匹配指的是两个未被使用的点之间存在一条边(就不存在两条边共用了一个点的)。 匈牙利算法可以返回成功匹配的最大匹配数是多少。 #incl…

【AcWing】860. 染色法判定二分图

二分图&#xff0c;把所有点划分到两边去&#xff0c;使得所有边都是在集合之间的&#xff0c;集合内部没有边。 一个图是二分图&#xff0c;当且仅当图中不含奇数环(环的边数是奇数)。这是个充分必要条件&#xff0c;是二分图就一定不含奇数环&#xff1b;不含奇数环就一定是…

工业设备网关在智能工厂建设中发挥的作用,以某汽车制造厂为例

在当今工业4.0的大潮中&#xff0c;智能化和数字化已经成为制造业发展的关键驱动力。工业设备网关&#xff0c;作为连接工业现场设备与上层系统的纽带&#xff0c;其作用不可小觑。本文将以某汽车制造厂的智能化改造项目为例&#xff0c;详细探讨工业设备网关在实际应用中的优势…

CS5363|CS5263升级方案|DP转HDMI 4K60HZ芯片方案

CS5363是一种高度集成的单芯片&#xff0c;适用于多个细分市场和显示应用&#xff0c;如Typec扩展、手机/电脑投屏、扩展底座、投影仪等。 CS5363管脚分布情况如下&#xff1a; CS5363是一款高度集成的单芯片&#xff0c;适用于多个mGeneral 支持最高分辨率/定时4k60Hz 支持…

饿了么官方霸王餐API接口该如何对接?

外卖霸王餐API接口是一种为餐饮行业设计的应用程序编程接口&#xff0c;它允许第三方平台或应用程序与外卖平台进行数据交换和功能集成。通过这种接口&#xff0c;商家可以实现自动化管理&#xff0c;提高运营效率&#xff0c;同时为消费者提供更加便捷和个性化的服务体验。 霸…

记录debug分析nacos源码

nacos源码分析 一、环境构建二、源码分析1. 启动类2. 源码的中的案例3.. 服务订阅流程梳理3.1. 从 NamingFactory.createNamingService(properties);说起3.2. 服务订阅总结 4. 服务注册流程梳理4.1. 从 naming.registerInstance("nacos.test.3", "11.11.11.11&q…