GESP C++ 2024年06月一级真题卷
一、单选题(每题 2 分,共 30 分)
答案:A
解析:标识符命名规则,标识符由字母、数字和下划线组成,第一个字符不能是数字
答案:D
解析:
在 C++ 中,表达式 3 - 3 * 3 / 5
的值是由运算符优先级决定的。运算符优先级规则是:
- **乘法(
*
)和除法(/
)优先级高于加法(+
)和减法(-
)。 - 乘法和除法按从左到右的顺序进行计算。
让我们逐步计算 3 - 3 * 3 / 5
:
-
计算乘法和除法:
3 * 3
先计算得到9
。- 然后
9 / 5
。由于这是整数除法,结果是1
(在 C++ 中,整数除法会舍去小数部分)。
-
计算减法:
- 最后计算
3 - 1
,结果是2
。
- 最后计算
所以,表达式 3 - 3 * 3 / 5
的值是 2
。
答案:B
解析:
N % 3 最大是2,N % 7最大的6,所以2+6=8
答案:C
解析:
-
格式化字符串
printf("5%%2={%d}\n", 5 % 2)
:5%%2
中的%%
会被解释为单个%
,因为在printf
中,%%
是表示输出%
字符的方式。{%d}
表示一个占位符,它将被后面的表达式5 % 2
的结果替换。5 % 2
是取模运算,结果为1
。
-
替换后:
- 结果将是
5%2={1}
。
- 结果将是
最终输出:
因此,执行后的输出是 C. 5%2={1}。
答案:B
解析:
在 C++ 中,语句 cin >> i
从标准输入中读取一个整数,并将其存储在整型变量 i
中。那么当输入 5+2
时,程序的行为如下:
分析:
-
输入处理:
- 当使用
cin >> i
时,cin
会读取输入的字符,直到遇到第一个非数字字符为止(即读取到空格、非数字字符等时停止)。在输入5+2
的情况下,cin
将首先读取数字5
,然后遇到+
符号,输入过程停止,并将5
存储在变量i
中。 +2
部分将留在输入缓冲区中,尚未处理。
- 当使用
-
输出处理:
cout << i
将输出存储在变量i
中的值,此时i
中存储的是5
,因此输出将是5
。
结论:
- B. 将输出 5 是正确的。

答案:C
解析:%.0f
格式化符表示输出浮点数并省略小数部分(即输出为整数形式)。
答案:C
解析:按照优先级:括号>乘、除和取模>加减
9/4-6%4*10=2-2*10=-18

答案:C
解析:输入10,10%3=1,所以输出“第五行代码”,注意%2d,输出两个字符,1是一个字符,不够用空格填充

答案:C
解析:
主要i++和++i的区别:
i++是先赋值后计算,++i是先计算后赋值
分析循环和语句:
-
初始声明:
int Sum = 0, i = 0;
声明并初始化两个整型变量Sum
和i
,它们的初始值都是0
。
-
for 循环:
for ( ; i < 10; )
:- 这里没有指定初始化表达式和迭代表达式,只有一个循环条件
i < 10
。 - 循环的内容是
Sum += i++;
。这行代码先将i
的当前值加到Sum
中,然后再将i
自增。
- 这里没有指定初始化表达式和迭代表达式,只有一个循环条件
-
循环执行过程:
- 第一次循环:
i
为0
,Sum
变为0
(Sum += 0
),然后i
自增为1
。 - 第二次循环:
i
为1
,Sum
变为1
(Sum += 1
),然后i
自增为2
。 - 第三次循环:
i
为2
,Sum
变为3
(Sum += 2
),然后i
自增为3
。 - 以此类推,直到
i
达到10
。
- 第一次循环:
-
循环结束后:
- 当
i
增加到10
时,循环条件i < 10
不再满足,循环退出。 Sum
的最终值是0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45
。
- 当
-
输出:
cout << i << " " << Sum;
输出i
的值和Sum
的值。- 此时,
i
的值是10
,Sum
的值是45
。

答案:C
解析:
分析程序:
- N 的值输入:程序首先要求用户输入一个整数
N
。 - 判断条件:
- 如果
N >= 2
,程序将Flag
设为true
,并开始检查N
是否能被 2 到N-1
之间的任何数整除。 - 如果
N
在这个范围内被某个数整除,Flag
会被设为false
并退出循环。 - 最终,
Flag
的值决定了N
是否为质数。如果Flag
为true
,输出 "是质数";否则输出 "不是质数"。
- 如果
分析选项:
A. 如果输入负整数,可能输出“是质数”
- 错误。如果输入负整数,由于
N < 2
,Flag
将保持false
,所以输出 "不是质数"。这个选项描述不准确。
B. 如果输入2,将输出“不是质数”,因为此时循环不起作用
- 错误。当
N == 2
时,循环不会执行,但Flag
在if (N >= 2)
之后被设为true
,因此会输出 "是质数"。
C. 如果输入2,将输出“是质数”,即便此时循环体没有被执行
- 正确。对于
N == 2
,程序不会进入for
循环,因为循环条件i < N
不成立。但是Flag
被设为true
,所以输出 "是质数"。
D. 如果将 if (N >= 2)
改为 if (N > 2)
将能正确判断N是否质数
- 错误。如果将条件改为
if (N > 2)
,输入2
时Flag
不会被设置为true
,输出将错误地显示 "不是质数"。

答案:C
解析:
选项C:将 i += 1 移到 if (i % 2 == 1) 前一行,先执行i += 1 ,i直接变成了2,那么sum就加不了1了

答案:D
解析:略

答案:D
解析:
分析程序:
i=0,i*i<64,所以i<8,i每次自增2,所以符合条件的i分别是0,2,4,6一个4个数,合计计数4次,所以cnt是4
答案:C
解析:scratch、python和c++三种
答案:B
解析:
计算机的发展一般分为三个主要阶段,每个阶段对应着技术的重大进步和计算机性能的显著提高。
第一阶段:电子管计算机(1940s-1950s)
- 时间范围:1940年代至1950年代。
- 主要技术:使用电子管作为主要的逻辑元件。
- 代表机型:ENIAC、UNIVAC、IBM 701。
- 特点:体积庞大、功耗高、发热量大,运算速度相对较慢。主要用于科学计算和军事应用。
第二阶段:晶体管计算机(1950s-1960s)
- 时间范围:1950年代中期至1960年代。
- 主要技术:使用晶体管替代电子管。
- 代表机型:IBM 1401、IBM 7090。
- 特点:体积显著减小,功耗和发热量大幅降低,可靠性提高,运算速度明显提升。晶体管的发明使计算机更小、更快、更可靠,推动了商业计算机的普及。
第三阶段:集成电路计算机(1960s-至今)
- 时间范围:1960年代至今。
- 主要技术:使用集成电路(IC),后期发展为超大规模集成电路(VLSI)。
- 代表机型:IBM System/360、Apple II、IBM PC、现代的个人计算机和服务器。
- 特点:计算机的性能、存储容量和运算速度持续提高,成本不断降低,体积越来越小。计算机进入家庭和办公场所,普及应用在各个领域。
二、判断题(每题 2 分,共 20 分)
答案:错
解析:
如果x是int类型

答案:错
解析:

答案:对
解析:略
答案:错
解析:是5*2
答案:错
解析:是5*2
答案:对
解析:略
答案:错
解析:
printf
不是一个关键字,而是一个标准库函数的名称。printf
是 C 标准库中的函数,用于格式化输出。 
答案:错
解析:因为 //
是 C++ 中的注释符号,用于表示单行注释。//
后面的内容会被视为注释,不会参与计算。
N += 8/4//2
实际上等价于 N += 8/4
,即 N += 2
。
答案:错
解析:
在 C++ 中,表达式 !!N
是一种将变量 N
转换为布尔值(0 或 1)的技巧。让我们详细分析这个表达式的含义和行为。
解释 !!N
-
单一否定
!N
:!N
是逻辑非运算符,用于将N
转换为布尔值。- 如果
N
的值为0
,则!N
为true
(布尔值1
)。 - 如果
N
的值非0
,则!N
为false
(布尔值0
)。
-
双重否定
!!N
:!!N
先对N
应用一次逻辑非运算符!
,然后再对结果应用一次逻辑非运算符!
。- 所以,
!!N
结果会是true
(1)或false
(0),具体取决于N
是否为零。- 如果
N
为0
,则!N
是true
(1),!!N
结果是false
(0)。 - 如果
N
非零,!N
是false
(0),!!N
结果是true
(1)。
- 如果
结论
!!N
的值不会等于N
的值,而是将N
转换为布尔值后再进行转换:N
为0
时,!!N
的值是0
。N
为非0
时,!!N
的值是1
。
#include <iostream>
using namespace std;int main() {int N1 = 5; // 非零值int N2 = 0; // 零值cout << "!!N1 = " << !!N1 << endl; // 输出: 1cout << "!!N2 = " << !!N2 << endl; // 输出: 0return 0;
}
在这个示例中:
!!N1
的结果是1
,因为N1
是非零值。!!N2
的结果是0
,因为N2
是零值。
因此,!!N
的值是 N
的布尔表示,转换为 0
或 1
。
答案:对
解析:略
三、编程题(每题 25 分,共 50 分)
编程题 1

#include<bits/stdc++.h>
using namespace std;
int main(){int h,m,s;cin>>h>>m>>s;int k;cin>>k;int now=h*60*60+m*60+s;now+=k;int hh = now/3600;now %= 3600;int mm = now/60;now %= 60;cout<<hh<<" "<<mm<<" "<<now<<"\n";return 0;
}
编程题 2

#include <bits/stdc++.h>
using namespace std;int main() {int n; // 定义一个整数变量 ncin >> n; // 从标准输入读取一个整数值并存储在变量 n 中int fl = 0; // 定义并初始化标志变量 fl,初始值为 0// 遍历从 1 到 n 的每个整数 ifor (int i = 1; i <= n; i++) {// 如果 i 的立方等于 nif (i * i * i == n) {fl = 1; // 设置标志变量 fl 为 1break; // 跳出循环,因为找到了满足条件的 i}}// 根据标志变量 fl 的值输出结果if (fl)cout << "Yes\n"; // 如果 fl 为 1,输出 "Yes"elsecout << "No\n"; // 如果 fl 为 0,输出 "No"return 0; // 程序成功结束
}
相关文章:

GESP C++ 2024年06月一级真题卷
一、单选题(每题 2 分,共 30 分) 第 1 题 在 C 中,下列不可做变量的是 ( ) 。 A. five-Star B. five_star C. fiveStar D. _fiveStar 答案:A 解析:标识符命名规则,标识符由字母、数…...
在 Ubuntu Server 上配置静态 IP 地址
在 Ubuntu Server 上配置静态 IP 地址 测试时使用的Ubuntu server版本是22.04 一、Ubuntu 17.10之前版本 使用 ifupdown 配置文件来设置静态 IP。配置文件通常位于 /etc/network/interfaces。 1.1 编辑 /etc/network/interfaces 文件: sudo vim /etc/network/in…...

数据结构——栈的讲解(超详细)
前言: 小编已经在前面讲完了链表和顺序表的内容,下面我们继续乘胜追击,开始另一个数据结构:栈的详解,下面跟上小编的脚步,开启今天的学习之路! 目录 1.栈的概念和结构 1.1.栈的概念 1.2.栈的结构…...

三防平板助力MES系统,实现工厂移动式生产报工
在当今竞争激烈的制造业环境中,提高生产效率、优化生产流程以及实现精准的生产管理已经成为企业生存和发展的关键。 MES系统作为连接企业计划层和控制层的桥梁,在实现生产过程的信息化、数字化和智能化方面发挥着重要作用。与此同时,三防平板…...
WEB渗透Bypass篇-常规函数绕过
常规函数绕过 <?php echo exec(whoami);?> ------------------------------------------------------ <?php echo shell_exec(whoami);?> ------------------------------------------------------ <?php system(whoami);?> ------------------------…...

C++从入门到起飞之——string类的模拟实现 全方位剖析!
🌈个人主页:秋风起,再归来~🔥系列专栏:C从入门到起飞 🔖克心守己,律己则安 目录 1、多文件之间的关系 2、模拟实现常用的构造函数 2.1 无参构造函数 2.2 有参的构造函数 2.3 析构函…...
数据库国产化大趋势下,还需要学习Oracle吗?
由于众所周知的原因,近两年各行各业都开始了数据库国产化替代的进程,从国外商业数据库替换到国产或者开源数据库,相信很多的数据库从业人员会把部分精力转移到其他数据库产品的学习中,也有一些人在大肆的宣扬Oracle已经过时了&…...

WebLogic
二、WebLogic 2.1 后台弱口令GetShell 漏洞描述 通过弱口令进入后台界面,上传部署war包,getshell 影响范围 全版本(前提后台存在弱口令) 漏洞复现 默认账号密码:weblogic/Oracle123weblogic常用弱口令: Default Passwords | CIRT.net这里注意&am…...

Aspose.Words.dll 插入模板表格,使用的是邮件合并MailMerge功能,数据源是DataTable或list对象,实例
本实例中的实例功能有: 1、 Aspose.Words.dll 插入模板指定域替换为文字或html标签,见1 2、Aspose.Words.dll 插入模板表格,使用的是邮件合并MailMerge功能,数据源是DataTable或List对象(将list转换成DataTable),见1和2 3、word转换Pdf文件,见1 4、将多个word输出文…...

同时打开多个微信
注: 以下方法用到的 D:\微信\WeChat\WeChat.exe是我的电脑微信路径,可右击桌面微信快捷方式 > 属性 > 目标查看 以下方法都需要先关掉已登录的微信后操作 <一> 找到微信路径 新建一个txt文件输入以下内容 start D:\微信\WeChat\WeChat.exe …...

MPU6050的STM32数据读取
目录 1. 概述2. STM32G030对MPU6050的读取3. STM32F1xx对MPU6050的读取 1. 概述 项目中,往往需要根据不同的环境使用不同的芯片处理某些数据,当使用不同的芯片对六轴陀螺仪芯片MPU6050进行数据处理中,硬件的连接、I/O口的设置往往需要根据相…...

【微信小程序开发】——奶茶点餐小程序的制作(二)
👨💻个人主页:开发者-曼亿点 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 曼亿点 原创 👨💻 收录于专栏:…...

Java 文件上传七牛云
Java系列文章目录 文章目录 Java系列文章目录一、前言二、学习内容:三、问题描述四、解决方案:4.1 新建空间4.2 查找密钥4.3 进入开发者中心查找JavaSDK文档4.4 查找文件上传方法4.5 运行测试 五、总结:5.1 学习总结: 一、前言 学…...
大语言模型生成无人系统(如机械臂、无人机等)可以执行的指令序列
大语言模型生成无人系统(如机械臂、无人机等)可以执行的指令序列涉及将自然语言指令转化为具体的、可执行的指令集合。以下是一个详细的流程,展示了如何从自然语言指令生成无人系统的执行指令序列。 1. 输入自然语言指令 用户输入自然语言指…...

尚硅谷谷粒商城项目笔记——十、调试前端项目renren-fast-vue【电脑CPU:AMD】
十、调试前端项目renren-fast-vue 如果遇到其他问题发在评论区,我看到后解决 1 先下载安装git git官网下载地址 2 登录gitee搜索人人开源找到renren-fast-vue复制下载链接。【网课视频中也有详细步骤】 3 下载完成后桌面会出现renren-fast-vue的文件夹 4 开始调…...
Python 的元组和列表的区别是什么?
以下是 Python 中元组(tuple)和列表(list)的主要区别: 1. 语法表示:元组使用小括号 () 来定义,例如 (1, 2, 3) ;列表使用方括号 [] 来定义,例如 [1, 2, 3] 。 2. 可变性…...

【Impala】学习笔记
Impala学习笔记 【一】Impala介绍【1】简介(1)简介(2)优点(3)缺点 【2】架构(1)Impalad(守护进程)(2)Statestore(存储状态…...

视频汇聚平台EasyCVR接入移动执法记录仪,视频无法播放且报错500是什么原因?
GB28181国标视频汇聚平台EasyCVR视频管理系统以其强大的拓展性、灵活的部署方式、高性能的视频能力和智能化的分析能力,为各行各业的视频监控需求提供了优秀的解决方案。视频智能分析平台EasyCVR支持多协议接入,兼容多类型的设备,包括IPC、NV…...

【Linux基础】Linux基本指令(二)
目录 🚀前言一,mv指令二,more & less指令2.1 more 指令2.1 less指令 三,重定向技术(重要)3.1 echo指令3.2 输出重定向 >3.3 追加重定向 >>3.4 输入重定向 < 四,head & tail指令4.1 head 指令4.2 t…...

全面介绍 Apache Doris 数据灾备恢复机制及使用示例
引言 Apache Doris 作为一款 OLAP 实时数据仓库,在越来越多的中大型企业中逐步占据着主数仓这样的重要位置,主数仓不同于 OLAP 查询引擎的场景定位,对于数据的灾备恢复机制有比较高的要求,本篇就让我们全面的介绍和示范如何利用这…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...

【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...