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 查询引擎的场景定位,对于数据的灾备恢复机制有比较高的要求,本篇就让我们全面的介绍和示范如何利用这…...
《算法竞赛从入门到国奖》算法基础:动态规划-最长子序列
💡Yupureki:个人主页 ✨个人专栏:《C》 《算法》《Linux系统编程》《高并发内存池》《MySQL数据库》 《个人在线OJ平台》 🌸Yupureki🌸的简介: 目录 1. 最长上升子序列 算法原理 代码示例 2. 合唱队形 算法原理 代码示例 3. 最长公共…...
C++ 性能评测工程:基于 Google Benchmark 的 C++ 函数级性能基准测试方法论
各位技术同仁,下午好!今天,我们将深入探讨一个在C开发中至关重要的话题:C 函数级性能基准测试。尤其是在追求极致性能的C世界里,仅仅依靠经验和直觉来优化代码是远远不够的。我们需要一套科学、严谨的方法论来量化和评…...
青铜器RDM研发管理平台
我们深耕研发管理服务20余年,依托 10 余年研发管理实战经验,累计为超 10000 家企业提供专业培训、为200 余家企业深度咨询,打造完全自主知识产权的研发管理数字化平台 —— 青铜器 RDM。以 IPD、CMMI、Scrum、PMBOK 等业界最佳实践为内核&…...
阿里达摩院GTE中文向量模型效果展示:中文方言书面语语义对齐能力验证
阿里达摩院GTE中文向量模型效果展示:中文方言书面语语义对齐能力验证 1. 模型核心能力概览 GTE (General Text Embeddings) 是阿里达摩院推出的通用文本向量模型,专门针对中文场景深度优化。这个模型最大的特点是将文本转换为高质量的1024维向量表示&a…...
数组运算18题:从递归求和解到Kadane算法
1. 数组运算进阶指南:18道经典题目深度解析数组作为最基本的数据结构,在编程面试和实际开发中无处不在。掌握数组的各种运算技巧不仅能帮助你在面试中脱颖而出,更能提升日常编码的效率和质量。本文将深入解析18个经典的数组运算题目ÿ…...
Conda环境回滚实战:当安装新包搞崩base环境时如何一键恢复
Conda环境回滚实战:当安装新包搞崩base环境时如何一键恢复 在Python开发中,conda作为包管理和环境管理的利器,几乎成为数据科学家的标配工具。但越是频繁使用conda,越容易遇到一个令人头疼的问题——在base环境中安装新包后&#…...
内网穿透技术应用:在本地开发机部署Qwen3-ASR-0.6B并供外网测试
内网穿透技术应用:在本地开发机部署Qwen3-ASR-0.6B并供外网测试 你是不是也遇到过这种情况?在本地电脑上好不容易部署好了一个AI模型,比如Qwen3-ASR-0.6B这个语音识别模型,自己测试跑得挺欢。结果想给同事或者朋友演示一下&#…...
推荐算法闲谈:如何在不同业务场景下理解和拆解核心指标
巧解决的是能不能学好,而指标分析解决的是这次改动是否真正创造了业务价值,以及为什么。一个非常常见、但又极易被忽视的事实是:推荐系统并不存在一套放之四海而皆准的核心业务指标。不同产品形态、不同交互方式、不同公司发展阶段࿰…...
卡尔曼滤波调参实战:如何用MATLAB让MPU6050的加速度数据更‘听话’?
卡尔曼滤波调参实战:如何用MATLAB让MPU6050的加速度数据更‘听话’? 当你在MATLAB中第一次看到MPU6050的原始加速度数据时,那些疯狂跳动的曲线可能会让你怀疑人生。别担心,这不是传感器坏了,而是现实世界本就充满噪声…...
translategemma-4b-it优化升级:Ollama部署后提升翻译质量的4个技巧
translategemma-4b-it优化升级:Ollama部署后提升翻译质量的4个技巧 你已经成功用Ollama部署了translategemma-4b-it,看着它把图片里的英文变成中文,是不是觉得挺神奇的?但用了几次后,你可能会发现一些问题:…...
