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 查询引擎的场景定位,对于数据的灾备恢复机制有比较高的要求,本篇就让我们全面的介绍和示范如何利用这…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
