2024年6月GSEP(C++)一级认证真题讲解

注意!做题时长为2小时,孩子做完题目后对照讲解视频和讲解分析,针对薄弱点,进行有效的专项提高。 

👑讲解视频

(暂无)

👑讲解分析

1 单选题(每题 2 分,共 30 分)🎈

答案与解析:选A 。

[解释]:C++中,变量名不能包含连字符(-),因此选项 A 是不可做变量名的。其他选项 B、C、D 都是符合C++命名规则的变量名。

答案与解析:选D。

[解释]:要计算表达式 3 - 3 * 3 / 5 的值,需要按照运算符优先级和结合性的规则进行计算。在这个表达式中,乘法和除法的优先级高于减法,且乘法和除法具有左结合性。

按照这些规则,首先计算乘法和除法,然后再计算减法。计算过程如下:

3−3∗3/5 = 3−9/5 = 3−1.8 = 1.2

答案与解析:选B 。

[解释]:我们可以考虑当 N 取不同的值时,表达式的结果。在这里,N 是正整数。

首先,我们观察 % 运算符的性质:对于正整数 N,N % M 的结果范围是 0 到 M-1。

因此,当 N % 3 和 N % 7 的结果都取到各自的最大值时,即 N % 3 = 2,N % 7 = 6 时,表达式的结果最大。此时,N % 3 + N % 7 = 2 + 6 = 8

答案与解析:选C 。

[解释]:在C++语句 printf("5%%2={%d}\n", 5 % 2) 中,%% 表示输出一个百分号 %。因此,实际上会输出字符串 "5%2={1}",其中 %d 会被 % 2 的结果替换。对于表达式 5 % 2,计算结果为 1。

 答案与解析:选B.

[解释]:程序在输入“5+2”后,他会挨个读取内容,读到“+”后发现不符合条件,所以停止录入,所以a里是5。

 答案与解析:选C。

[解释]:在这段给出的C++代码中,变量 a 被声明为浮点数 float 类型。首先,a 被赋值为 101.101,然后又被重新赋值为整数 101。 在 printf 函数中,"%.0f" 表示输出浮点数,小数部分保留0位,且被a+1替代,进而a+1的值是101+1=102,除了"%.0f" 之外的字符串原封不变的输出。所以最终输出结果是a+1={102}。

答案与解析:选B。

[解释]:要计算表达式 9/4 - 6 % (6 - 2) * 10 的值,我们需要按照运算符的优先级和结合性规则进行计算。在这个表达式中,括号具有最高优先级,然后是取模运算 %,接着是乘法和除法,最后是加法和减法。

按照这些规则,我们依次计算表达式的值:

  1. 首先计算括号内的表达式 (6 - 2),结果为 4
  2. 接着计算取模运算 6 % 4,结果为 2
  3. 然后计算乘法 2 * 10,结果为 20
  4. 最后计算除法 9/4,结果为 2
  5. 将步骤3和步骤4的结果相减,即 2 - 20,结果为 -18

 答案与解析:选C 。

[解释]:在这段给出的C++代码中,当输入为 10 时,我们来逐行分析代码的执行:

  1. 用户输入为 10,赋值给变量 N
  2. 根据 if (N % 3),计算 N % 3,即 10 % 3,结果为 1
  3. 因为 10 % 3 的结果为非零值,所以执行 if 分支,输出 "第5行代码 1"

 答案与解析:选C。

[解释]:在这段代码中,循环会执行10次,每次将 i 加到 Sum 中,然后递增 i。最终输出 i 的值和 Sum 的值。由于循环结束后 i 的值为 10Sum 的值为 45。因此,这段代码执行后的输出是 10 45

综上所述,这段 C++ 代码执行后的输出是:10 45

 答案与解析:选C 。

在这段给出的 C++ 代码中,根据输入的整数 N 判断其是否为质数。让我们逐项分析选项:

A. 如果输入负整数,可能输出“是质数”

  • [解释]:这个选项是不正确的。因为代码中通过 if (N >= 2) 来判断输入的整数是否大于等于2,如果输入为负整数,不会进入判断为质数的逻辑,因此不会输出“是质数”。

B. 如果输入2,将输出“不是质数”,因为此时循环不起作用

  • [解释]:这个选项也是不正确的。虽然输入为2时循环体不会被执行,但是由于2符合质数的定义(只能被1和它本身整除),所以输出应该是“是质数”。

C. 如果输入2,将输出“是质数”,即便此时循环体没有被执行

  • [解释]:这个选项是正确的。因为2符合质数的定义,即使循环体没有被执行,输出应该是“是质数”。

D. 如果将 if (N >= 2) 改为 if (N > 2) 将能正确判断N是否质数

  • [解释]:这个选项是不正确的。将 if (N >= 2) 改为 if (N > 2) 会导致无法判断2是否为质数,因为2符合质数的定义,应该被判断为质数。

答案与解析:选C 。

让我们逐项分析这段给出的 C++ 代码,以及关于描述的选项:

       【A选项】 当输入为 10 时,代码执行后的输出是 11 25。

[解释]:这个选项是正确的。因为代码会计算1到10之间所有奇数的和,包括10在内,最后输出的 i 为 11Sum 为 25

        【B选项】 当输入为 5 时,代码执行后的输出是 6 9。

[解释]:这个选项是错误的。因为代码会计算1到5之间所有奇数的和,包括5在内,最后输出的 i 为 6Sum 为 9

        【C选项】 将 i += 1 移到 if (i % 2 == 1) 前一行,同样能实现题目要求。

[解释]:这个选项是正确的。将 i += 1 移到 if (i % 2 == 1) 前一行,不会影响代码逻辑,仍然能够正确计算1到N之间所有奇数的和。

        【D选项】 删除 if (i % 2 == 1),并将 i += 1 改为 i += 2,同样可以实现题目要求。

[解释]:这个选项是错误的。删除了判断奇数的条件和改变了增加的步长,会导致计算结果不正确,无法实现题目要求。

 答案与解析:选D.

[解释]:在这段 C++ 代码中,我们需要填入的代码应该是用来判断 N 是否为一个完全平方数的条件。根据题目描述,一个整数 N 能够表示为 XX 的形式时,即 N = XX,那么它就是一个完全平方数。因此,在横线处应填入的代码是:i*i == N。

 答案与解析:选C

[解释]: 在这段代码中,循环从 i = 0 开始,每次迭代 i 增加 2,直到 i*i 不小于 64 为止。然后统计循环执行的次数,即 cnt 的值。

我们来逐步分析循环的执行过程:

  1. 当 i = 0 时,i*i = 0,满足条件,cnt 加一。
  2. 当 i = 2 时,i*i = 4,满足条件,cnt 再加一。
  3. 当 i = 4 时,i*i = 16,满足条件,cnt 再加一。
  4. 当 i = 6 时,i*i = 36,满足条件,cnt 再加一。
  5. 当 i = 8 时,i*i = 64,不满足条件,循环结束。

因此,循环执行了 4 次,最终输出的 cnt 的值为 4。

 答案与解析:选C ,

[解释]:  分别是C++,Python,Scratch。

答案与解析: 选B。

[解释]:感应线圈不用制造计算机,集成电路和晶体管发明时间分别是1958年和1947年,其中晶体管是电子管的升级版,在第一台计算机制造出来之后才发明成功。 

2 判断题(每题 2 分,共 20 分)🎈 

 

答案与解析: ×,如果变量X定义为float或者double那么16.44 除以 10 的结果是 1.644,如果变量X定义的数据类型是int,那么结果才是1。

答案与解析: × 如果变量N=10,那么

  • N/4 = 10/4 = 2.5(int) = 2,这是因为N和4都是int类型,那么相除的结果会自动变成int。
  • N%4= 10%4 = 2,
  • N/4.0 = 10 / 4.0 = 2.5(float) = 2.5, N为int,4.0为float,那么相除的结果会是float。

 所以最后的结果是 2->2->2.5。

答案与解析: √,正整数,负整数和浮点数都被允许进行int和float的强制转换操作,先是转变为浮点型,最后都会变成整数输出。

 答案与解析: ×printf 函数中的格式化字符串 "%d*2" 中只会输出 N 的值,不会进行计算,所以输出为 "5*2"。

 答案与解析: √, break和continue用于for与while。

  答案与解析:√, 是的,满足一定的条件才去continue。

 答案与解析: ×, printf 是 C 语言的函数,而不是 C++ 的关键字,因此在 C++ 中可以将变量命名为 printf。

答案与解析: ×,在 C++ 中,除法运算符 / 和 //(整数除法)的优先级是相同的,它们都属于乘法和除法运算符,且遵循从左向右的结合规则。因此,在表达式中同时存在 / 和 // 运算符时,它们将按照出现的顺序依次计算。

例如,对于表达式 8 / 4 // 2,根据从左向右的结合规则,首先计算 8 / 4,结果为 2,然后再计算 2 // 2,结果为 1。

 答案与解析: ×, !N的值为0,!!N的值为!0=1,最后结果是1。

  答案与解析:√,GESP测试主要是对编程能力进行认证,与具体编程语言无关,语言只是工具,对算法和编程的理解才是最重要的。

3 编程题(每题 25 分,共 50 分) 🎈

 

 

#include<bits/stdc++.h>
using namespace std;
int main(){int h,m,s;//小杨开始学习的时间 小时h 分钟m 秒钟scin>>h>>m>>s;//小杨学习多久就去休息 秒钟sint k;cin>>k;/* 思路很简单,统一时间单位为秒,因为只有单位统一才能进行加减乘除,一般都是统一为最小的单位,在时分秒中,秒最小,所以全部变为秒钟分钟*60 = 秒小时*60 = 分钟故小时*60*60 = 秒钟  */int now=h*60*60+m*60+s;// 小杨学习多久就去休息已经是秒钟了,直接加上,比如我今天第80s开始学习100s后休息,那么我只需要使用80+100再转换为时分秒就完成,如何转换回去?乘法变除法即可,除不尽的要余数给下一位除now+=k;// 转换回去必须先计算 最大的开始 时int hh = now/3600;//余出代表分钟的秒now %= 3600;// 秒变成分钟int mm = now/60;// 余出秒钟now %= 60;cout<<hh<<" "<<mm<<" "<<now<<"\n";
}

#include<bits/stdc++.h>
using namespace std;
int main(){int n;cin>>n;//设置一个开关,如果是立方数就让他等于1,如果不是就等于0,也就是不变,方便我们最后的输出int fl=0;// 进入循环,从1 遍历 到 n ,所以结束条件需要是n + 1for(int i=1;i<=n;i++){//如果是立方数 满足 i*i*i = nif(i*i*i==n){//标记一下 说明n是立方数fl=1;//已经知道这个数是立方数了,直接结束循环退出了break;}}// 打印结果,如果f1标记了f1=1,那么代表是立方数。if(fl)cout<<"Yes\n";else cout<<"No\n";
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sqli-labs靶场通关攻略 46-50

主页有sqli-labs靶场通关攻略 1-45 第四六关 less-46 步骤一&#xff1a;利用报错注入查询库 ?sort1 and updatexml(1,concat(0x7e,database(),0x7e),1) 步骤二&#xff1a;查询表名 ?sort1 and updatexml(1,concat(0x7e,(select group_concat(table_name)from informatio…

WebSocket通信学习笔记

1 简介 WebSocket是一种全双工通信协议&#xff0c;它允许客户端和服务器之间建立持久化的双向连接&#xff0c;从而在不频繁创建HTTP请求的情况下进行实时数据传输。与传统的HTTP协议相比&#xff0c;WebSocket更适合需要实时数据更新的应用场景&#xff0c;如聊天应用、实时…

IDEA没有SQL语句提示

解决已经在IDEA连接数据库&#xff0c;但是写SQL语句不会提示列名、属性之类的 Mapper 映射没有 SQL 提示 设置中搜索&#xff0c;把方言改成 MySQL SQL Dialects

群晖(Docker Compose)配置 frp 服务

为了方便远程电脑&#xff0c;访问自己电脑上的ComfyUI等服务&#xff0c;配置了 frp 服务。 配置 frp 服务后&#xff0c;发现群晖中的一些服务也可以 stcp 安全的暴露出来。 直接在群晖通过 Docker Compose 方式部署 frps 和 frpc&#xff0c;访问者通过 frpc 安全访问暴露…

【机器学习】支持向量机(SVM)的对偶性、核方法以及核技巧

引言 在SVM中&#xff0c;通过引入拉格朗日乘子&#xff0c;可以将原始问题转化为对偶问题&#xff0c;这种转换具有几个重要的优点&#xff0c;包括简化计算和提供更直观的优化问题的解释 文章目录 引言一、支持向量机&#xff08;SVM&#xff09;的对偶性1.1 原始问题&#x…

pacs图像打不开怎么办 --日常工作总结

先强调一下,我不是专门做图像入库和图像归档,我负责的是临床这边的影像,下面是占在我的业务日常分析总结的哈,(不太专业,勿喷) 我们经常会遇到在打开某个检查的时候,出现黑框,日志定位wado服务取不到图 这种情况一般分为 (1) 工作站,工作组,路由,存储卷配置缺失 ---对应的wad…

如何更改 Mac 上 Java 的默认版本?

优质博文&#xff1a;IT-BLOG-CN 第一次运行/usr/libexec/java_home -V将输出类似以下内容&#xff1a; Matching Java Virtual Machines (3): 1.8.0_05, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home 1.6.0_65-b14-4…

安装JKS格式证书

--千金易得 知己难求 本文介绍如何在Tomcat服务器配置JKS格式的SSL证书&#xff0c;具体包括下载和上传证书文件&#xff0c;在Tomcat上配置证书文件和证书密码等参数&#xff0c;以及安装证书后结果的验证。成功配置SSL证书后&#xff0c;您将能够通过HTTPS加密通道安全访问To…

音频检测电路 | 声音传感器模块 | 口哨开关 | Arduino

音频检测电路 | 声音传感器模块 | 口哨开关 | Arduino 案例分析电路设计1. **基本音频检测电路设计**电路结构:2. **灵敏度调节原理**方法:3. **非 MCU 控制的 LED 触发**设计步骤:4. **电路示例**5. **示意图(文本描述)**总结实验方法案例分析 一个硅胶娃娃,挤压或拍打…

Docker原理及实例

目录 一 Docker简介及部署方法 1.1 Docker简介 1.1.1 什么是docker&#xff1f; 1.1.2 docker在企业中的应用场景 1.1.3 docker与虚拟化的对比 1.1.4 docker的优势 2 部署docker 2.1 容器工作方法 2.2 部署第一个容器 2.2.1 配置软件仓库 2.2.2 安装docker-ce并启动服…

【经验分享】CANOPEN协议驱动移植(基于CANfestival源码架构)

【经验分享】CANOPEN协议驱动移植(基于CANfestival源码架构&#xff09; 前言一、CANOPEN整体实现原理二、CANOPEN驱动收发三、Timer定时器四、Object Dictionary对象字典五、CANOPEN应用层接口六、CANOPEN 驱动移植经验总结 前言 本次CANOPEN移植基于CANfestival开源代码&…

SpringBoot中MyBatis使用自定义TypeHandler

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

Spring Boot Web开发实践:响应参数的使用方法、IOC、DI和Bean基本介绍

主要介绍了SpringBootWeb响应参数的基本使用和spring框架的控制反转&#xff08;IOC&#xff09;和依赖注入&#xff08;DI&#xff09;以及Bean对象的声明、扫描、注入&#xff01;&#xff01;&#xff01; 目录 前言 响应参数 分层解耦 三层架构 分层解耦 IOC & …

第15届蓝桥杯青少组Scratch初级组省赛真题试卷

第十五届蓝桥杯青少组省赛Scratch初级组真题试卷 题目总数&#xff1a;10 总分数&#xff1a;360 选择题 第 1 题 单选题 Scratch运行以下程序&#xff0c;角色会说( )? A.29 B.31 C.33 D.35 第 2 题 单选题 scratch运行下列哪个程序后&#xff0c;宇航…

RabbitMQ 集群与高可用性

目录 单节点与集群部署 1.1. 单节点部署 1.2. 集群部署 镜像队列 1.定义与工作原理 2. 配置镜像队列 3.应用场景 4. 优缺点 5. Java 示例 分布式部署 1. 分布式部署的主要目标 2. 典型架构设计 3. RabbitMQ 分布式部署的关键技术 4. 部署策略和实践 5. 分布式部署…

解决银河麒麟桌面操作系统V10(特别是2101版本)中无法通过interfaces设置网络

解决银河麒麟桌面操作系统V10&#xff08;特别是2101版本&#xff09;中无法通过interfaces设置网络 1、问题简述2、解决方案1. 尝试删除ppp文件、重启2. 使用NetworkManager &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、问题简述 在…

day44——C++对C的扩充

八、C对函数的扩充 8.1 函数重载&#xff08;overload&#xff09; 1> 概念 函数重载就是能够实现"一名多用"&#xff0c;是实现泛型编程的一种 泛型编程&#xff1a;试图以不变的代码&#xff0c;来实现可变的功能 2> 引入背景 程序员在写函数时&#x…

k8s的组件以及安装

目录 概念 k8s的使用场景 k8s的特点 核心组件 master主组件 1.kube-apiserver 2.etcd 3.kube-controller-manager 控制器 4.kube-scheduler node从节点组件 1.kubelet 2.kube-proxy 3.docker 总结 k8s的核心概念 安装k8s 架构 安装步骤 实验&#xff1a;创…

Linux学习笔记(4)----Debian压力测试方法

使用命令行终端压力测试需要两个实用工具&#xff1a;s-tui和stress sudo apt install s-tui stress 安装完成后&#xff0c;在终端中启动 s-tui实用工具&#xff1a; s-tui 执行后如下图&#xff1a; 你可以使用鼠标或键盘箭头键浏览菜单&#xff0c;然后点击“压力选项(Str…

Leetcode Day14排序算法

动态git可以看 :https://leetcode.cn/problems/sort-an-array/solutions/179370/python-shi-xian-de-shi-da-jing-dian-pai-xu-suan-fa/ 选择排序 def selection_sort(nums):n len(nums)for i in range(n):for j in range(i, n):if nums[i] > nums[j]:nums[i], nums[j] …