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

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

2025年9月真题

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

在这里插入图片描述


正确答案:D
考察知识点:计算机相关知识
解析:在人工智能领域,“大模型” 最贴切的通常是指大语言模型。大语言模型是基于大规模文本数据训练的,能够理解和生成自然语言等内容,像常见的 ChatGPT 等就属于大语言模型范畴。而选项 A “大电脑模型” 表述不准确;选项 B “大规模智能” 不是对 “大模型” 的准确指代;选项 C “智能的单位” 也不符合 “大模型” 的定义。答案为D。

在这里插入图片描述


正确答案:C
考察知识点:流程控制语句
解析:计算 1 到 10001 之间的所有偶数和,需要重复累加操作(循环结构),且需判断是否为偶数(分支结构)。仅用顺序结构无法实现重复操作和条件判断,所以C 选项最不合适。答案为C。

在这里插入图片描述


正确答案:C
考察知识点:标识符的命名规则
解析:根据变量的命名规则:只能包含字母、数字和下划线;不能以数字开头;不能和关键字重名。B、D选项包含了其他字符’ ‘,’-',不能作为变量名。A选项,汉语拼音只要符合变量的命名规则,也可以作为变量名。答案为C。

在这里插入图片描述


在这里插入图片描述


正确答案:C
考察知识点:基本运算符、C++语法、注释
解析:C++代码中,一条完整语句以 分号(;)结尾,因此本题中,输出语句是:cout << a/b << a%a*b;
a / b = 13 / 5 = 2,a % a * b = 13 % 13 * 5 = 0 *5 = 0,代码中输出格式无分隔,所以输出20。答案为C。
注释作用:提升代码的可读性和可维护性,它不会被编译器或解释器执行,仅为开发者服务。分当行注释、多行注释。
单行注释:使用//符号,从//开始到该行末尾的所有内容都会被编译器忽略。对本题来说,忽略 //之后所有内容,此时该行还没有 分号,也即语句没有结束,下一行直到 分号之前 属于同一条语句。

在这里插入图片描述


正确答案:D
考察知识点:基本运算符
解析:本题中,表示式中只存在乘、取余、除运算符,优先级相同,从左往右计算,3*4 结果为12, 12%5 结果为2,2/4 结果为0。答案为D。

在这里插入图片描述


正确答案:A
考察知识点:基本输入输出
解析:考察了C语言风格的输入输出;scanf(“%d”)会跳过制表符(tab键,空格组成)等空白字符,正确读取N=10、M=20,计算N+M=30,按格式输出{30}。答案为A。

在这里插入图片描述


正确答案:D
考察知识点:控制语句结构-选择
解析:需计算 9 月过N个月后的月份,利用取模运算处理循环。公式为(9 + N) % 12,当结果为 0 时对应 12 月,否则为计算结果。答案为D。刷过真题的一定做过关于星期的那道题,一样道理哈。

在这里插入图片描述


正确答案:C
考察知识点:控制语句结构-循环
解析:i从 0 到 99 循环,共 100 次。i%2在奇数时为 1,偶数时为 0。0 到 99 中有 50 个奇数,所以n累加后为 50。答案为C。

在这里插入图片描述


在这里插入图片描述


正确答案:C
考察知识点:控制语句结构-循环
解析:i从 - 100 到 99 循环,共 199 次。i % 10的结果在每 10 个数中对称抵消(如 - 100%10=0,-99%10=-9,9%10=9 等),总和为 0。因此N最终为 0。答案为C。

在这里插入图片描述


正确答案:A
考察知识点:控制语句结构-循环、break关键字
解析:循环中 i 取 1、2 时,因i%3 != 0,输出1#、2#;i 为 3 时 i%3 == 0,执行break跳出循环。
循环结束后 i 为 3,不满足i>5,END不输出。答案为A。

在这里插入图片描述


正确答案:C
考察知识点:流程控制语句-循环、数位分离
解析:该代码的逻辑是通过循环取出N的每一位数字,构建逆序结果rst。循环应在N的所有数字处理完毕(即N变为 0)时结束。
选项 A(N != 0)、B(not (N == 0),即N != 0)、D(N > 0)都能保证循环在N处理完后终止;而选项 C(N = 0)是赋值操作,会导致循环条件恒为0(逻辑假),循环一次都不执行,无法正确计算镜面数。答案为C。

在这里插入图片描述


在这里插入图片描述


正确答案:D
考察知识点:基本数据类型、基本运算符
解析:python语言中可以使用D选项的方式完成两个变量的交换,但C++不支持这种方式。答案为D。
A选项借助于第三个变量完成两个变量值的交换。
B、C选项借助于数的运算完成两个变量值的交换,可以自己手动推一推。

在这里插入图片描述


正确答案:D
考察知识点:基本运算符、流程控制语句-循环
解析:首先,div的作用是通过循环乘以 10,得到一个数,使得N / div可以把第M位及更高位的数保留,去掉低位。比如N = 1234,M = 2时,循环后div = 10。然后N / div得到123(整数除法),再对10取余,就得到第2位的数字3。所以横线处应填N / div % 10。答案为D。

在这里插入图片描述


在这里插入图片描述


正确答案:A
考察知识点:控制语句结构-循环、continue关键字
解析:初始num = 0,进入while循环(num <= 5)。
第一次循环:num += 1后num = 1,num != 3,执行printf,输出1#。
第二次循环:num += 1后num = 2,num != 3,执行printf,输出2#。
第三次循环:num += 1后num = 3,num == 3,执行continue,跳过printf。
第四次循环:num += 1后num = 4,num != 3,执行printf,输出4#。
第五次循环:num += 1后num = 5,num != 3,执行printf,输出5#。
第六次循环:num += 1后num = 6,num != 3,执行printf,输出6#。
最终输出为1#2#4#5#6#。答案为A。

在这里插入图片描述


正确答案:D
考察知识点:流程控制语句-循环
解析:选项 A:若第一个数输入-999,min_num和max_num会被赋值为-999,且循环不执行,输出-999 -999,该选项正确。
选项 B:若第一个数不是-999,且后续没有-999,程序会正常比较每个输入数,求出最大和最小数,该选项正确。
选项 C:考试成绩中无-999,程序能正常运行求出最高和最低成绩,该选项正确。
选项 D:D循环有点描述不清,但无论是移动第1行还是第11行,都会出现问题。
移动第一行,则min_num和max_num的初值变为未知值,后续无法比较。
移动第11行,输入的第一个数作为最大、最小值没问题,进入循环即输入下一个数,这个数参与比较,如果这个是-999,会产生错误。答案为D。

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

在这里插入图片描述


正确答案:错误
考察知识点:集成开发环境
解析: 在现代集成开发环境(如 Visual Studio、Eclipse 等)中,调试过程中是可以修改源程序的,很多集成开发环境支持 “编辑并继续” 功能,修改后不需要终止调试、关闭文件再重新打开,能在调试过程中直接应用修改并继续调试。表述错误。

在这里插入图片描述


正确答案:正确
考察知识点:基本运算符
解析:取余运算符的两个操作数要求必须是整数,小数会报错。表述正确。

在这里插入图片描述


正确答案:错误
考察知识点:流程控制语句-循环、break
解析:循环中只有一条语句,进入循环执行break,终止循环,此时 i 的值为0,因此输出为0。表述错误。

在这里插入图片描述


正确答案:错误
考察知识点:流程控制语句-循环
解析:for循环,循环变量 i 初始值为0,循环条件是i > -10,循环步长i–。所以i的取值依次为0, -1, -2, …, -9,共10 次循环。每次循环,将 i*-1 累加到n上,计算可得 循环结束 n 的值为45。表述错误。

在这里插入图片描述


正确答案:正确
考察知识点:流程控制语句-循环
解析:for循环,循环变量 i 初始值为0,循环条件是i < 100,循环步长i++。所以i的取值依次为0, 1, 2, …, 99。每次循环执行cnt+=i,因此本题代码实现的功能是将0~99累加到cnt上,将 i=0 修改为 i=1,代码功能变成了将1~99 累加到cnt上,累计和上少一个0并不会改变结果,输出自然相同。表述正确。

在这里插入图片描述


正确答案:错误
考察知识点:流程控制语句-循环
解析:变量 n 和变量 i 赋值为0,while循环 循环条件为 i<10,循环内执行语句 n+=i,i+=1,所以 i 的取值依次为0, 1, 2, …, 9,每次将 i 累加到 n 上,代码实现的功能是0~9的累加和。如果将 i<10 更改为 i<=10,则代码实现的功能是0~10的累加和,输出结果显然不同,表述错误。

在这里插入图片描述


正确答案:错误
考察知识点:控制语句结构-循环
解析:while循环,i 从 0 开始,每次循环 i 加 1,直到 i < 10 不成立。i 的取值为 1,2,…,10,共循环 10 次。
n 初始为 0,每次循环 n += i,即 n = 1 + 2 + 3 + … + 10,计算结果为 55,输出55。表述错误。

在这里插入图片描述


正确答案:错误
考察知识点:基本数据类型
解析:数字常量 12 默认为int类型,浮点数常量 12.12默认为double类型,int类型和double类型可以进行运算,运算中会将int类型转成double类型,运算结果为double类型,不会报错。表述错误。

在这里插入图片描述


正确答案:错误
考察知识点:控制语句结构-循环、continue语句
解析:count 初始为 0,循环条件是 count < 5。每次循环 count 加 1,当 count == 3 时执行 continue(跳过本次循环剩余代码,进入下一次循环)。
count 的取值依次为 1,2,4,5(当 count=3 时跳过输出但继续循环),当 count=5 时,循环条件 count < 5 不成立,循环结束。因此不会导致无限循环。 表述错误。

在这里插入图片描述


正确答案:正确
考察知识点:控制语句结构-循环
解析:初始化a = 0(对应斐波那契数列第 1 个数),b = 1(对应第 2 个数)。
循环执行n次:
每次先输出a;
然后通过b = b + a计算下一个数的和,再通过a = b - a更新a为原来的b(即下一个斐波那契数)。
例如,若n = 5,输出为0 1 1 2 3,符合斐波那契数列规律,因此该代码能实现功能。表述正确。

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

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

本题考察分支结构。

解析:方案1:满 x 元减 y 元,只能使用一次 。 方案2:直接打 n 折,也就是说价格变为原先的 n/10,输入为四个正整数,直接写n/10会导致丢小数点后数据,因此要写成n/10.0。

#include<bits/stdc++.h>usingnamespace std;intmain(){int x, y, n, p; cin>>x>>y>>n>>p;//方案1:满 x 元减 y 元,只能使用一次 double t1=(p>=x?p-y:p);//这里使用了条件运算符代替双分支语句//方案2:直接打 n 折,注意数据类型 double t2=p*n/10.0;//比较方案1和方案2,保留两位小数输出方案1和方案2中更小的那一个if(t1<t2)printf("%.2lf", t1);elseprintf("%.2lf", t2);return0;}
在这里插入图片描述


在这里插入图片描述

本题考察 循环结构。

一共n层,遍历n层,依次将每层的石块进行累加,根据题意,第i层需要i*i个石块。

#include<bits/stdc++.h>usingnamespace std;intmain(){int n,s=0;//注意累加求和的s要初始化为0  cin>>n;//遍历n层,依次将每层的石块进行累加 for(int i=1; i<=n; i++){ s+=i*i;//根据题意,第i层需要i*i个石块 } cout<<s;return0;}

Read more

JSP基础1:客户端请求端,前端和后端的联系(半成品)

JSP虽然是20年前的老框架,它的存在是为了讲解前后端不分离,在前端html,css中可以嵌入兼容java后端代码,类似的有vue3 下面的看不懂先跳过 问题如下:request对象 = 后端创建,封装前端发送的数据或请求. 还有哪些对象可以对前后端互相发送的请求做处理.哪些对象可以进行前后端交互 在Java Web开发中,主要使用以下对象处理前后端交互:(JSP很老的框架没必要都学把下面能让你理解前后端交互的学了就行) 对象创建位置主要作用数据流向request服务器端封装请求信息前端→后端response服务器端封装响应信息后端→前端session服务器端维护用户会话双向application服务器端全局共享数据双向Cookie服务器端创建,前端存储小数据持久化双向 选择建议:临时数据传递 → request用户状态保持 → session小数据持久化 → Cookie全局数据共享 → application 以上内容看不懂先跳过 1. "客户端"的含义 在 request 对象的上下文中,"客户端"指的是: * 浏览器(Chrome、Firefox、E

By Ne0inhk
基于 Spring Boot 的 Web 三大核心交互案例精讲

基于 Spring Boot 的 Web 三大核心交互案例精讲

—知识点专栏——JavaEE专栏— 作为 Spring Boot 初学者,理解后端接口的编写和前端页面的交互至关重要。本文将通过三个经典的 Web 案例——表单提交、AJAX 登录与状态管理、以及 JSON 数据交互——带您掌握前后端联调的核心技巧和 Spring Boot 的关键注解。 1. 案例一:表单提交与参数绑定(计算求和) 本案例展示最基础、最传统的 Web 交互方式:HTML 表单提交。 1.1 后端代码:CalcController.java 使用 @RestController 简化接口编写,并通过方法参数接收表单数据。 packagecn.overthinker.springboot;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.

By Ne0inhk
大模型算法岗年薪百万!2025互联网大厂校招薪酬全解析,程序员速收藏

大模型算法岗年薪百万!2025互联网大厂校招薪酬全解析,程序员速收藏

文章详细介绍了2025年互联网大厂校招技术岗位的薪资情况,包括字节跳动、腾讯、阿里巴巴等公司的薪酬结构。核心技术岗位年薪普遍以35万元为起点,优秀者可达50万元以上,AI算法和大模型相关岗位存在显著溢价,部分高端岗位年薪甚至突破百万元。学历背景、岗位方向、工作地点等因素对薪酬水平有重要影响。 要想了解2025互联网大厂校招薪资情况,先来看下图-《2025互联网大厂最新梯队排名》 2025年,互联网行业技术岗位的秋季校园招聘呈现出薪资普遍提升的态势,其中核心技术岗位的年度总包收入多数以35万元为起点,表现优异的SSP级别录用者可达到50万元以上,而专注于人工智能领域的科学家等高端岗位,年薪甚至可突破百万元。 以下为部分代表性互联网企业在2025年秋招中,针对核心技术岗位的薪酬统计。数据来源于网络, 综合了基本工资、绩效、签字费、股票或期权、各类补贴等组成部分,年度总包为税前金额。常见的薪酬结构为15至16薪,薪资基准多以一线城市为依据。 1、【字节跳动】 后端开发 · 普通录用:月薪24K-26K,按15薪计算,年度总包约36W-39W。 · 优先录用:月薪27K-30K,

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 fixnum 解决鸿蒙 Web 与原生端 64 位大整数精度失真难题(精准计算护卫)

Flutter for OpenHarmony: Flutter 三方库 fixnum 解决鸿蒙 Web 与原生端 64 位大整数精度失真难题(精准计算护卫)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 的跨平台开发时,你可能会遇到一个诡异的 Bug:同样的 64 位长整数(如 Int64),在鸿蒙原生(Native)模式下运行正常,但编译为 Flutter Web 模式在浏览器运行时,数值却发生了精度漂移或溢出。 1. 产生原因:JavaScript 原生的数字类型实质上是 64 位浮点数,它能安全表示的最大整数只有 53 位( 2 53 − 1 2^{53}-1 253−1)。 2. 后果:大额订单 ID、高精度的金融分位值、或是底层硬件的 64 位地址位,在

By Ne0inhk