CCF-GESP 等级考试 2025年6月认证C++二级真题解析

CCF-GESP 等级考试 2025年6月认证C++二级真题解析

2025年6月真题

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

在这里插入图片描述


正确答案:C
考察知识点:计算机相关知识
解析:传感器是获取外界信息(如姿态、平衡相关数据 )并传递给机器人系统,这和计算机输入设备(用于向计算机输入数据和信息,比如键盘输入字符、鼠标输入操作指令 )功能类似;处理器是处理数据,存储器是存储数据,输出设备是输出数据,均不符合传感器功能,所以 C 正确。

在这里插入图片描述


正确答案:A
考察知识点:计算机的存储与网络
解析:计算机中用于临时存储数据和程序、可扩容以提升运行时内存容量的是随机存取存储器 RAM ;ROM 是只读存储器,内容一般固定,用于存储固件等;CACHE 是高速缓冲存储器,用于 CPU 和内存间加速数据交换,非用户扩容的常规内存;EPROM 是可擦除可编程只读存储器,也不是常规扩容的内存,所以选 A。

在这里插入图片描述


正确答案:C
考察知识点:基本数据类型、数据类型转换、基本运算符
解析:a*=b 等价于 a=a*b,a是int类型,b是float,两者进行运算时,全部提升为double类型,运算结果为double类型数值10.5,将其赋值给int类型变量a,复合赋值运算符组成的表达式的值为运算符左侧变量的值,因此输出a的值为10。所以选 C。

在这里插入图片描述


在这里插入图片描述


正确答案:A
考察知识点:基本运算符
解析:根据题目描述,空白处应该填写求百位上的数的代码。考察利用除和取余进行数位分离。B选项得到万位和千位上数组成的数,比如N为12345时得到12;C选项得到十万位上的数;D选项得到0;只有A选项可以得到正确答案。正确答案为A。

在这里插入图片描述


正确答案:D
考察知识点:基本运算
解析:(6, 28)是由逗号运算符组成的表达式,表达式的值是最后一个逗号后边式子的值,因此定义b的同时给其赋值为28,第2行不改变a、b的值,第3行将b的值赋值给a,此时a、b的值都为28。答案为D。

在这里插入图片描述


正确答案:D
考察知识点:基本运算
解析:求星期六后N天是星期几?星期六,1天、8天等后是星期日(0表示),2天、9天后是星期一,…;则该求解可用(N+6)%7,做取余运算求解,余数为1~6对应星期一到星期六,余数为0对应星期天。答案为D。实际上,周期性问题都可以做类似解答。

在这里插入图片描述


在这里插入图片描述


正确答案:C
考察知识点:控制语句结构-循环、break、continue关键字
解析:i为1,执行第3行,sum值为1,第4行 if 条件(1%2的结果为1,1为真)成立,执行continue,跳过其后语句,进入下一次循环;i为2,执行第3行,sum值为3,第4行 if 条件(2%2的结果为0,0为假)不成立,第5行 if 条件(2%7的结果为2,2为真)成立,执行break,跳出循环;此时sum值为3。正确答案C。

在这里插入图片描述


正确答案:C
考察知识点:循环嵌套
解析:当 i 和 j 都不是偶数时,第4行条件成立,跳出内层循环。当 i 为1,内层循环循环条件不成立;当 i 为2,第4行条件不可能成立,内层循环执行完毕;当 i 为3,内层循环 j 为1 时,第4行条件成立,跳出内层循环;…;当 i 为11,内层循环 j 为1 时,第4行条件成立,跳出内层循环;当 i 为12,外层循环结束。此时 i 为12,j 为1。输出 i∗ji*ji∗j 值为12,答案为C。

在这里插入图片描述


正确答案:B
考察知识点:控制语句结构-循环
解析:cnt记录了循环次数,循环变量 i 的初始值为-99,循环条件 i<100,i 的最大值为99,循环步长为2,循环次数为100。答案为B。

在这里插入图片描述


正确答案:A
考察知识点:控制语句结构-循环、break、continue关键字
解析:i 不是3的倍数(i 为 1 和 2)时,第3行条件成立,执行第4、5行,否则(i 为3)执行第8行。答案为A。

在这里插入图片描述


在这里插入图片描述


正确答案:D
考察知识点:循环嵌套
解析:i 为 0,内层循环循环条件不成立,无输出;i 为 1,内层循环 j 的取值为0,输出1#0-。只有D符合。二级类似的题很多,剩下的输出同学们可以自己推一推。

在这里插入图片描述


正确答案:D
考察知识点:控制语句结构-循环、基本运算、数据的真假性
解析:不能被3整除且除以5余数为2 可以表示为: i%3!=0 && i %5==2。
i%3 余数为0 等价于i%3为假,i%3 余数不为0 等价于i%3为真, 因此 i%3 等价于 i%3!=0。
i %5==2 等价于 !(i %5!=2)。只有D无法实现题目要求。

在这里插入图片描述


在这里插入图片描述


正确答案:D
考察知识点:控制语句结构-循环
解析:判断一个大于0的正整数是几位数,数位分离的思想。除以10去掉数N的最后一位,反复执行,直到N为0,循环次数即为数的位数。答案为D。

在这里插入图片描述


正确答案:D
考察知识点:控制语句结构-循环、数位分离
解析:自守数的定义是如果一个数的平方其尾数与该数相同,则为自守数。
信息学系列比赛中经常性出现新概念,同学们看到不要慌张,认真读题,新概念题往往只难在概念理解上,知识点考察上反而不难。
对输入数和其平方依次从个位进行数位分离,直到输入数被拆完,如果此过程中分离出来的数都相等,则其为自守数,否则不是自守数。答案为D。

在这里插入图片描述


在这里插入图片描述


正确答案:A
考察知识点:循环嵌套
解析:本题代码要实现的功能是:输出10行,第 i 行 输出 i 个数字,循环使用数字0~9
A选项,将now_number=0 放在L1和L2之间,则每行输出的开始值都为0,很显然和原来的效果不同。答案为A。
B选项,now_number+=1 等价于 now_number=1+now_number
C选项,now_number==10 和 now_number>9 在本题场景下等价
D选项,endl 和字符’\n’都表示换行。

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

在这里插入图片描述


正确答案:正确
考察知识点:考试规范
解析:闭卷考试为防作弊,禁止带具有信息存储、通信等作弊可能功能的设备,智能手表因有嵌入式系统、通信功能,会被禁止携带,该表述符合实际考试规范 。答案正确。

在这里插入图片描述


正确答案:正确
考察知识点:基本运算
解析:十进制数除以10得到舍弃个位数的值,如果N本身为1位数,则结果为0。答案正确。

在这里插入图片描述


正确答案:错误
考察知识点:基本运算
解析:(a, b) 是由逗号运算符组成的表达式,其值为最后一个逗号后边的式子的值,因此cout<<(a,b)输出的为b的值,第2、3行代码为判等的运算,不会改变a、b的值,因此输出结果为20。答案错误。

在这里插入图片描述


正确答案:正确
考察知识点:基本运算
解析:max和min是系统提供的函数,其作用分别是求两个数的较大值和较小值,两个数中的较大值和较小值相等,则这两个数一定相等。答案正确。

在这里插入图片描述


正确答案:错误
考察知识点:基本数据类型,基本运算、类型转换
解析:浮点值45.6可以赋值给字符类型变量a,这里实际进行了两次类型转换,先将45.6转成int类型45,再将45转成对应的字符(ASCII码为45的字符)。答案错误。

在这里插入图片描述


正确答案:错误
考察知识点:基本运算、数据类型转换
解析:score是int类型,输入59.99,实际上是将59存入score中,第4行if条件成立,输出 不及格。答案错误。

在这里插入图片描述


正确答案:错误
考察知识点:控制语句结构-循环、continue关键字
解析:for循环语句中,当 if 条件成立,执行 continue,continue 用于跳过本次循环,进入下次循环。当循环执行完毕,i 的值为10,第5行 if 条件成立,输出 END。答案错误。

在这里插入图片描述


正确答案:错误
考察知识点:控制语句结构-循环
解析:这段代码,每循环一次,将循环变量累加到Sum上边。Sum最后的值为0+1+2+3+4=10。答案错误。

在这里插入图片描述


正确答案:错误
考察知识点:控制语句结构-循环
解析:for(int i=5; i>1; i–) 循环变量从5开始,每循环一次减1,直到 i>1不成立,求的是5+4+3+2的和。
for(int i=1; i<5; i++) 循环变量从1开始,每循环一次加1,直到 i<5不成立,求的是1+2+3+4的和。 答案错误。

在这里插入图片描述


正确答案:正确
考察知识点:控制语句结构-循环、基本运算
解析:N为奇数,N/2 和 (N-1)/2 的计算结果相同,比如N为5,计算结果都为2,可以用来表示中间列。
N为偶数,N/2 和 (N-1)/2 的计算结果不同,比如N为6,N/2结果为3,(N-1)/2结果为2,可以分别用来表示中间两列。
代码符合题目要求。答案正确。

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

在这里插入图片描述


在这里插入图片描述

本题考察循环嵌套、算术运算符。

解析:当直角边长 a,b 均取不超过 n 的正整数时,有多少个不同的面积为整数的直角三角形。

直角三角形的面积为a*b/2。因此要保证面积为整数,则a为偶数或者b为偶数。

#include<bits/stdc++.h>usingnamespace std;intmain(){int n, cnt=0; cin>>n;for(int a=1; a<=n; a++){//直角边长分别为 a,b 和 a1,b1 的两个直角三角形相同,//当且仅当a==a1, b==b1 或者 a==b1, b==a1,因此b要从a开始 for(int b=a; b<=n; b++){if(a%2==0|| b%2==0) cnt++;//两条直角边 其中一个为偶数 }} cout<<cnt;return0;}
在这里插入图片描述


在这里插入图片描述

本题考察 循环嵌套、数学函数。

方法1:幂和数:n=2x+2yn=2^x+2^yn=2x+2y(x,y 均为非负整数),找l和r之间有多少个幂和数

已知,1 ≤l ≤r ≤10^4,可推出,x、y最小值为0,最大值为17(2162^{16}216 < 10410^4104 <2172^{17}217),且为了防止重复遍历,y取值要大于等于x 。

这个方法的难点是从l,r的范围推出x,y的范围。

#include<bits/stdc++.h>usingnamespace std;intmain(){int l, r, cnt=0; cin>>l>>r;for(int i=l; i<=r; i++){for(int x=0; x<=17; x++){for(int y=x; y<=17; y++){if(pow(2, x)+pow(2, y)==i) cnt++;}}} cout<<cnt;return0;}

方法2,幂和数:n=2x+2yn=2^x+2^yn=2x+2y(x,y 均为非负整数),找l和r之间有多少个幂和数。

令a表示2x2^x2x, b表示2y2^y2y,则a,b最小为1,最大不超过r ,且为了防止重复遍历,b取值要大于等于a。有以下代码:

#include<bits/stdc++.h>usingnamespace std;intmain(){int l, r, a, b, cnt=0; cin>>l>>r; a=1;//a初始化为2的0次方,即1 while(a<=r){ b=a;//为了防止重复遍历,b取值要大于等于a while(b<=r){int tmp=a+b;if(tmp>=l && tmp<=r) cnt++;//在区间内  b*=2;} a*=2;} cout<<cnt;return0;}

Read more

Clawdbot 开源 AI 助手 国内零门槛部署教程(新手友好版):含国内镜像加速 + 环境配置 + 常见报错全解

Clawdbot 开源 AI 助手 国内零门槛部署教程(新手友好版):含国内镜像加速 + 环境配置 + 常见报错全解

1. 背景引入 随着大语言模型技术的快速发展,开源 AI 助手成为开发者和企业构建智能应用的重要基础。然而,国内开发者在部署开源 AI 助手时,常面临网络访问受限、环境配置复杂、依赖安装失败等问题。Clawdbot 作为一款轻量级、可扩展的开源 AI 助手,通过集成国内镜像加速、优化环境配置流程,实现了零门槛部署。本文将详细介绍 Clawdbot 的核心原理、实操步骤、常见报错解决方案,助力开发者快速搭建专属 AI 助手。 2. 核心原理 2.1 技术架构 Clawdbot 采用分层架构设计,主要包括: * 模型层:支持对接主流开源大语言模型(如 Llama 3、Qwen 2 等),通过统一接口实现模型调用。 * 服务层:基于 FastAPI 构建

By Ne0inhk
医疗AI场景下算法编程的深度解析(2026新生培训讲稿)(八)

医疗AI场景下算法编程的深度解析(2026新生培训讲稿)(八)

第15章 模型融合与集成策略 在机器学习竞赛和实际应用中,模型融合(Model Ensemble)是提升预测性能的利器。通过组合多个不同的基模型,集成策略能够综合各个模型的优势,抵消单个模型的偏差和方差,从而获得比任何单一模型更稳定、更准确的预测结果。在医疗AI领域,模型融合同样具有重要价值——面对复杂多模态的医疗数据,单一模型往往难以全面捕捉所有信息,而融合多个异质模型可以提升诊断的鲁棒性和准确性。本章将从集成学习的基本思想出发,系统介绍常见的模型融合方法,包括投票法、平均法、Stacking、Blending等,并通过实战案例展示如何构建融合模型来提升疾病预测性能。 15.1 集成学习的基本思想 集成学习(Ensemble Learning)的核心思想是“三个臭皮匠,顶个诸葛亮”——通过结合多个学习器来完成学习任务,通常可以获得比单一学习器更优越的泛化性能。根据个体学习器的生成方式,集成学习主要分为两大类: * Bagging:并行训练多个独立的基学习器,然后通过平均或投票进行结合。典型代表是随机森林。Bagging主要降低方差。 * Boosting:串行训练基学习

By Ne0inhk

Skill 构建指南:从零打造 AI 智能体扩展包

Skill 构建指南:从零打造 AI 智能体扩展包 引言 在人工智能时代,如何让智能体具备更强的专业能力和更丰富的工作流程?答案就是 Skill——一种为智能体设计的能力扩展包。本文将详细介绍如何从零开始构建符合规范的 Skill,让你的创意变成可分发的工具。 什么是 Skill? 核心定位 Skill 是被智能体加载和执行的能力扩展包,而非独立运行的应用程序。 执行模式 * Skill 在智能体的会话上下文中被动态加载 * 智能体读取 SKILL.md 的指导,调用 scripts/ 中的脚本,参考 references/ 中的文档 * Skill 的所有交互都通过智能体与用户的对话完成 Skill 提供的能力 * ✅ 专门工作流程(多步骤程序与条件逻辑) * ✅ 工具集成(文件格式与 API 的使用方式) * ✅ 领域专家知识(公司或系统特有的架构与逻辑) * ✅ 打包资源(脚本、参考、资产) Skill

By Ne0inhk
Claude Code Security:AI猎杀代码漏洞时代正式开启

Claude Code Security:AI猎杀代码漏洞时代正式开启

文章目录 * 1、前言 * 2、快速上手:Claude Code Security 怎么用 * 2.1 访问入口与适用范围 * 2.2 两种使用方式 * 2.2.1 方式一:终端命令(所有付费用户) * 2.2.2 方式二:GitHub Actions 集成(自动化 PR 扫描) * 2.3 Dashboard 核心功能一览(企业版) * 3、背景:代码安全为何成了 AI 的下一个战场 * 3.1 软件漏洞:永无止境的噩梦 * 3.2 传统 SAST 工具的三大痛点

By Ne0inhk