CCF-GESP 等级考试 2024年9月认证C++二级真题解析
2024年9月真题
一、单选题(每题2分,共30分)

正确答案:A
考察知识点:计算机存储
解析:磁心存储元件是早期计算机中用于存储数据的部件,它和现代计算机中的内存功能类似,都是用于临时存储计算机正在运行的程序和数据,具有较快的存取速度。磁盘是外部存储设备,存取速度相对较慢;CPU 是计算机的运算和控制核心,负责执行指令和处理数据;显示器是输出设备,用于显示计算机处理的结果等信息。所以磁心存储元件相当于现代计算机的内存。答案为A。

正确答案:C
考察知识点:计算机网络
解析:在 IPv4 地址中,A 类地址的网络号规定第一个字节的第一位为 0,剩下的 7 位用来表示网络号。那么 A 类地址网络号的取值范围是 00000000 - 01111110(0 - 126),因为全 0 和全 1 有特殊用途(全 0 表示本网络,全 1 表示所有网络),所以可用于表示 A 类地址网络的数量是 126 个。答案为C。

正确答案:A
考察知识点:变量的定义与使用
解析:变量的命名规则:1、只能包含字母、数字、下划线;2、不能以数字开头;3、不能和关键字重名。A 选项中含有特殊符号,答案为A。

正确答案:C
考察知识点:控制语句结构-循环
解析:题干中for循环 循环变量从1开始,到9结束,i++,即i每次增加1。
选项A、选项B、选项D 循环变量从0开始,表述错误。答案为 C。

正确答案:C
考察知识点:基本运算
解析:除法运算符/:在 C++ 中,两个整数相除,结果为整数,会舍去小数部分。例如5 / 2,5除以2商为2.5,但因为是两个整数相除,结果取整为2。
取余运算符%:a % b表示a除以b的余数,5 % 3即5除以3的余数,结果为2。答案为C。

正确答案:D
考察知识点:基本数据类型
解析:当a、b都为整型,输出1;当a为整型,b为浮点型,输出1.14;当a为字符型,b为整型,输出47。也即选项A、选项B、选项C都是可能的输出结果。答案为D。

正确答案:A
考察知识点:基本运算
解析:在 C++ 中,取余运算符%的作用是求两个数相除的余数。对于一个正整数N,用N除以10取余,得到的结果就是N的个位数。答案为A。

正确答案:A
考察知识点:多层分支/循环结构
解析:定义了一个整型变量i,然后进入for循环,初始化i = 0,判断条件为i < 10,每次循环后i++。
在循环体中,首先执行if (i % 2),当i = 0时,0 % 2 = 0,条件if (i % 2)不成立,继续执行循环体中的下一条语句,即cout << “0#”;,此时会输出0#。
当i变为1时,1 % 2 = 1,条件if (i % 2)成立,执行break语句,break语句会立即终止当前所在的循环,所以for循环结束。
接着执行循环后面的if语句if(i == 10),此时i = 1,条件不成立,不会执行cout << “1#”;。
综上,代码执行后的输出是0#,答案选 A。


正确答案:C
考察知识点:控制语句结构-选择、逻辑运算符
解析:输入1和0,整型变量a值为1,整型变量b值为0。
逻辑运算符&&运算规则,一假为假,a为1为真,b为0为假,则a&&b为假,第3行条件不成立;往下执行;
逻辑运算符||运算规则,一真为真,a为1为真,b为0为假,则a||b为真,逻辑运算符!运算规则,非真为假,非假为真,!(a||b)为假,第5行条件不成立;往下执行;
第7行条件成立,执行第8行,输出3。答案为C。

正确答案:B
考察知识点:控制语句结构-循环
解析:for循环 循环变量从1开始,i<5 到4结束,i+=2 每循环一次增加2。则循环变量值为:1、3,循环次数为2。答案为B。


正确答案:C
考察知识点:多层分支/循环结构
解析:外层循环控制行,从1开始,到lineNum结束,每次增加1。内层循环 循环变量 也为输出的内容,从输出结果可知:第 i 行从 i 开始输出,一共输出 i 个数,只有C符合要求。答案为C。

正确答案:A
考察知识点:控制语句结构-循环
解析:要得到一个整数的逆序数,核心思路是每次取出原数的个位数字,将其添加到结果数的末尾,然后去掉原数已经处理过的个位数字,重复这个过程,直到原数变为 0。
A选项:rst = rst * 10 + N % 10:N % 10可以获取N的个位数,将其添加到rst的末尾(通过rst * 10将rst当前的值扩大 10 倍,为添加个位数腾出位置)。
N = N / 10:去掉N的个位数字,例如N为 123 时,执行后N变为 12。
该选项的代码符合获取逆序数的算法逻辑,是正确的。答案为A。

正确答案:A
考察知识点:多层分支/循环结构
解析:选项 A:while (1)在 C++ 中是合法的写法,它表示一个无限循环,通常需要在循环内部通过break等语句来控制循环的结束,所以该选项说法错误。答案为A。


正确答案:B
考察知识点:多层分支/循环结构
解析:质数是指仅能被1和它本身整除的正整数。如果可以在2到num-1之间再找到可以整除的数,则可以证明不是质数。而整除意味着余数为0。答案为B。

正确答案:A
考察知识点:多层分支/循环结构
解析:删除break语句后,当M的某一位是7时,Flag会被置为true,但循环不会立即结束,而是继续执行M /= 10,直到M为0,不会导致死循环。Flag的值决定了最后的输出结果,删除break语句,并不会影响Flag的赋值,因此不会导致结果错误,只是求解的效率会降低。答案为A。
二、判断题(每题2分,共20分)

正确答案:正确
考察知识点:计算机基础与编程环境
解析:C++ 支持面向对象编程范式,同时它相对机器语言和汇编语言等低级语言来说,属于高级语言,具有更丰富的抽象和更便捷的编程特性。答案正确。

正确答案:错误
考察知识点:表达式、基本运算
解析:在 C++ 中,(3, 4, 5)是一个逗号表达式,逗号表达式的值是最后一个表达式的值,即 5。cout << (3, 4, 5)只会输出 5,而不是3 4 5。答案错误。

正确答案:正确
考察知识点:表达式、基本运算
解析:在 C++ 中,取余运算从左到右进行。先计算12 % 10,结果为 2;再计算2 % 10,结果为 2。答案正确。

正确答案:错误
考察知识点:常用数学函数
解析:rand()函数用于生成伪随机数,每次调用rand()生成的随机数是不确定的,不能保证第二个输出值较大。答案错误。

正确答案:错误
考察知识点:数据类型的转换
解析:字符’1’对应的 ASCII 码值是 49,将字符’1’赋值给int类型变量ch,再使用cout << int(ch);输出的是字符’1’的 ASCII 码值 49,而不是 1。答案错误。

正确答案:正确
考察知识点:控制语句结构-循环、分支
解析:在for循环中,continue语句只是跳过本次循环的剩余语句,继续下一次循环条件的判断。for循环结束后,i的值为 10,此时if(i == 10)条件成立,会输出 10。答案正确。

正确答案:错误
考察知识点:变量的定义与使用、控制语句结构-循环、分支
解析:这段代码存在错误,虽然思路是先确保 N 小于等于 M,然后通过循环累加 N 到 M 之间的整数,但变量 Sum 没有初始化。在 C++ 中,使用未初始化的变量是未定义行为,可能导致程序出现错误结果或崩溃。答案错误。

正确答案:正确
考察知识点:多层分支/循环结构
解析:这段代码中loopCount记录了循环执行的次数。调整之前:外层循环 i 从 1 开始到 4,内层循环 j 从 0 到 i - 1。此时 loopCount 累加的是 1 + 2 + 3 + 4 = 10。
调整之后:外层循环 i 从 0 开始到 4,内层循环 j 从 0 到 i - 1。此时 loopCount 累加的是 0 + 1 + 2 + 3 + 4 = 10。输出结果相同,答案正确。


正确答案:正确
考察知识点:控制语句结构-循环
解析:for 循环来计算数列中从第 3 项开始到第 N 项的值。在每次循环中,用 tmp 存储当前两个数(start1 和 start2)的和,然后将 start2 的值赋给 start1,将 tmp 的值赋给 start2,不断重复这个过程,使得 start1 和 start2 始终表示当前相邻的两个数。当循环结束时,start2 存储的就是第 N 个数的值,最后输出 start2。答案正确。

正确答案:错误
考察知识点:多层分支/循环结构
解析:flag为0,输入2024。
N为2024,第3行条件成立,第4行条件成立,输出N%10,即输出4,执行第5行,N值为202,执行第6行,flag值为1;
N为202,第3行条件成立,第4行条件不成立,执行第5行,N值为20,执行第6行,flag值为0;
N为20,第3行条件成立,第4行条件成立,输出N%10,即输出0,执行第5行,N值为2,执行第6行,flag值为1;
N为2,第3行条件成立,第4行条件不成立,执行第5行,N值为0,执行第6行,flag值为0;
N为0,第3行条件不成立,循环结束。
综上,代码功能从右往左数,输出奇数次出现的数,输出结果为40,答案错误。
三、编程题(每题25分,共50分)


本题考察 多层分支/循环结构、数位分离。
数位分离是二级之前的常见考察内容
#include<iostream>
using namespace std;
int main() {int n, a, sum;cin>>n;while(n--){cin>>a;sum=0; //数位分离求a的各位数字之和while(a){sum += a%10;a /= 10;}if(sum%7==0) cout<<"Yes"<<endl; else cout<<"No"<<endl;}return 0;
}


本题考察 本题考察 多层循环结构-输出图形。
#include<iostream>
using namespace std;
int main() {int n;cin>>n;//n*n的矩阵图形 for(int i=0; i<n; i++) { //行 for(int j=0; j<n; j++) { //列//根据条件进行输出 if(j==0 || j==n-1 || i==j) cout<<"+";else cout<<"-";}cout<<endl;}return 0;
}
相关文章:
CCF-GESP 等级考试 2024年9月认证C++二级真题解析
2024年9月真题 一、单选题(每题2分,共30分) 正确答案:A 考察知识点:计算机存储 解析:磁心存储元件是早期计算机中用于存储数据的部件,它和现代计算机中的内存功能类似,都是用于临时…...
第二天:工具的使用
每天上午9点左右更新一到两篇文章到专栏《Python爬虫训练营》中,对于爬虫有兴趣的伙伴可以订阅专栏一起学习,完全免费。 键盘为桨,代码作帆。这趟为期30天左右的Python爬虫特训即将启航,每日解锁新海域:从Requests库的…...
HarmonyOS:使用List实现分组列表(包含粘性标题)
一、支持分组列表 在列表中支持数据的分组展示,可以使列表显示结构清晰,查找方便,从而提高使用效率。分组列表在实际应用中十分常见,如下图所示联系人列表。 联系人分组列表 在List组件中使用ListItemGroup对项目进行分组&#…...
Django5的新特征
Django是一个用Python编写的高级Web框架,它的目标是让开发人员能够快速高效地构建复杂的Web应用程序。自从2008年首次发布以来,Django已经成为开源Web框架中的佼佼者,被广泛应用于各种规模的项目中。Django 提供了一套强大且全面的工具&#…...
web自动化笔记(二)
文章目录 一、参数化测试1.pytest命令2.实现参数化测试3.填写地址测试4.生成Allure测试报告5.关键字驱动 二、案例1.实现后台登录1.1登录1.2.处理验证码1.3.封装识别验证码函数 2.通过cookie保持登录2.1给页面添加cookie2.2获取页面的cookie2.3自动化获取cookie 三、excel进行数…...
青少年编程与数学 02-009 Django 5 Web 编程 12课题、表单处理
青少年编程与数学 02-009 Django 5 Web 编程 12课题、表单处理 一、表单1. 表单类的定义示例:普通表单示例:模型表单 2. 字段类型3. 验证4. 渲染5. 表单处理示例:视图中的表单处理6. 自定义表单 二、验证1. 字段级验证示例2. 表单级验证示例3…...
JVM类加载和垃圾回收(详细)
文章目录 JVM介绍JDK/JRE/JVM的关系 内存结构堆程序计数器虚拟机栈本地方法栈本地内存 类文件字节码文件结构 类加载类的生命周期加载类加载器双亲委派模型 链接初始化类卸载 垃圾回收堆空间的基本结构内存分配和回收原则死亡对象判断方法垃圾收集算法垃圾收集器 JVM 介绍 JD…...
秘密信息嵌入到RGB通道的方式:分段嵌or完整嵌入各通道
目录 1. 将秘密信息分为三部分的理由 (1)均匀分布负载 (2)提高鲁棒性 (3)容量分配 2. 不将秘密信息分为三部分的情况 (1)嵌入容量 (2)视觉质量 &#…...
基于Flask的影视剧热度数据可视化分析系统的设计与实现
【FLask】基于Flask的影视剧热度数据可视化分析系统的设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 随着互联网技术的飞速发展,影视剧行业的数据量呈爆炸性增长&#x…...
Docker Desktop如何恢复出厂设置
在测试dify、ragfow等几个模型过程中,各种拉镜像建容器,导致错误提示“AssertionError(Can t access Redis. Please check the Redis status.)”,两个模型都无法使用,如何清空重建?请参照下面操作: 1、Win…...
Go语言协程Goroutine高级用法(一)
什么协程 在Go语言中,协程就是一种轻量的线程,是并发编程的单元,由Go来管理,所以在GO层面的协程会更加的轻量、高效、开销更小,并且更容易实现并发编程。 轻量级线程 Go语言中协程(线程)与传…...
Android Studio:键值对存储sharedPreferences
一、了解 SharedPreferences SharedPreferences是Android的一个轻量级存储工具,它采用的存储结构是Key-Value的键值对方式,类似于Java的Properties,二者都是把Key-Value的键值对保存在配置文件中。不同的是,Properties的文件内容形…...
网络安全-攻击路径
以下是互联网场景下常见的攻击路径分类及详细说明,以分层结构呈现: 一、网络层攻击路径 DDoS攻击 原理:通过僵尸网络发起海量请求淹没目标服务器示例:SYN Flood攻击、HTTP洪泛攻击影响:服务不可用,带宽资源…...
记录阿里云CDN配置
网站接入CDN全流程,共4步!-阿里云开发者社区 1、开通阿里云CDN服务 2、添加加速域名 3、验证域名归属权 4、域名添加CDN生成的CNAME解析 按照官网描述增加。细节点: 1. 域名和泛域名区别 2.开启https,要用nginx的证书,和项…...
国自然专项项目申请:AI赋能的急性心肌梗死预警研究|基金申请·25-02-14
小罗碎碎念 急性心肌梗死严重威胁生命健康,因其起病隐匿、发病机制复杂,早期预警困难。现在,转机来了!国自然“AI赋能的急性心肌梗死预警研究”专项项目2025年度指南重磅发布。 该项目致力于攻克难题,通过多学科交叉…...
【鸿蒙开发】第二十八章 应用状态的讲解、状态持久化、网络管理、应用数据持久化、文件上传下载
目录 1 应用状态 1.1 LocalStorage:页面级UI状态存储 1.1.1 两个页面共享一个对象 1.1.2 页面间共享 1.1.3 应用逻辑中使用 1.2 AppStorage:应用全局的UI状态存储 1.2.1 概述 1.2.2 基本用法 1.2.3 经常使用的方法 1.3 PersistentStorage&#x…...
学习threejs,使用HemisphereLight半球光
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.HemisphereLight 二、…...
天童美语:观察你的生活
在孩子的认知里,世界宛如一片充满神秘色彩的未知之境,有着无尽的奥秘等待他们去探索。家长们,引导孩子用心观察世界,领略其中的美妙,这对孩子的成长进程有着极为关键的作用。贵阳天童教育相信:观察生活&…...
数仓:核心概念,数仓系统(ETL,数仓分层,数仓建模),数仓建模方法(星型模型,雪花模型,星座模型)和步骤
数仓建模的核心概念 事实表(Fact Table): 存储业务过程的度量值(如销售额、订单数量等)。 通常包含外键,用于关联维度表。 维度表(Dimension Table): 存储描述性信息&…...
python 基础知识100问
目录 1 Python中函数的输入参数类型: 2 python 第一个方法参数 selt cls 3 类和面向对象 4 Python 中__init__.py 作用 5 python 元类与装饰器 元类与装饰器https://blog.csdn.net/qq_52213943/article/details/145175689?spm1001.2014.3001.5506 6 设…...
Linux入侵检查流程
1. 初步信息收集 1.1 系统信息 • 目的:了解当前系统的基本情况,包括操作系统版本、内核版本等。 • 命令: # 查看操作系统发行版信息 cat /etc/os-release # 查看内核版本 uname -r 1.2 网络信息 • 目的:查看网络连接状态、…...
pg_sql关于时间的函数
1、时间戳和日期之间的相互转换 时间戳转日期(时间戳为数值类型,若为字符型需进行转换) # 保留到秒:2025-10-02 04:46:40 (字符型转换数值型) select to_timestamp(1759351600::bigint)# 保留到日&#x…...
如何使用 DeepSeek R1 构建开源 ChatGPT Operator 替代方案
开源大型语言模型(LLMs)的兴起使得创建 AI 驱动的工具比以往任何时候都更容易,这些工具可以与 OpenAI 的 ChatGPT Operator 等专有解决方案相媲美。在这些开源模型中,DeepSeek R1 以其强大的推理能力、自由的可访问性和适应性而脱…...
【教程】MySQL数据库学习笔记(七)——多表操作(持续更新)
写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 【MySQL数据库学习】系列文章 第一章 《认识与环境搭建》 第二章 《数据类型》 第三章 《数据定义语言DDL》 第四章 《数据操…...
Word 公式转 CSDN 插件 发布
经过几个月的苦修,这款插件终于面世了。 从Word复制公式到CSDN粘贴,总是出现公式中的文字被单独提出来,而公式作为一个图片被粘贴的情况。公式多了的时候还会导致CSDN禁止进一步的上传公式。 经过对CSDN公式的研究,发现在粘贴公…...
【设计模式】 建造者模式和原型模式
建造者模式(Builder Pattern) 概述 建造者模式是一种创建型设计模式,它允许逐步构建复杂对象。通过将构造过程与表示分离,使得同样的构建过程可以创建不同的表示。这种模式非常适合用于创建那些具有很多属性的对象,尤…...
win7误删注册表文件夹导致exe无法执行
今天在装某个软件的时候报错 “不是有效的Win32应用程序”,找一篇文章于是按文章删除了注册表上的好多文件,之后就发现所有的exe文件都打不开了,更糟糕的是中间还弹出来一个“是否将IE设置为所有程度的默认执行程序”,没思考就点击…...
【ESP32接入国产大模型之Deepseek】
【ESP32接入国产大模型之Deepseek】 1. Deepseek大模型1.1 了解Deepseek api1.2 Http接口鉴权1.3. 接口参数说明1.3.1 请求体(request)参数1.3.2 模型推理 2. 先决条件2.1 环境配置2.2 所需零件 3. 核心代码3.1 源码分享3.2 源码解析3.3 连续对话修改后的代码代码说明示例输出注…...
C语言蓝桥杯1003: [编程入门]密码破译
要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母. 例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译…...
New Game--(单调队列)
I - New Game 有一种新的游戏,Monocarp 想要玩。这个游戏使用一副包含 n 张牌的牌堆,其中第 i 张牌上写有一个整数 a_i。 在游戏开始时,Monocarp 可以在第一轮选择牌堆中的任意一张牌。在接下来的每一轮中,Monocarp 可以选择一张…...
