当前位置: 首页 > news >正文

2024年12月GESPC++三级真题解析(含视频)

  视频讲解:GESP2024年12月三级C++真题讲解

一、单选题

第1题

解析:

答案B

1、[1000 0011]原  转二进制 
符号位是1,所以是负数
-(2^1+2^0)=-(2+1)=-3
2、[1000 0011]补  
转反码变  1000 0100
转原码变  1111 1011
转二进制 -(2^6+2^5+2^4+2^3+2^1+2^0)
= -(64+32+16+8+2+1)
=-125

第2题

解析:

答案D

负数反码,符号位不变

第3题

解析:

答案A

1、逐位转为二进制

B2025
10110010000000100101

2、以3个隔开,再转为 八进制

10110010000000100101
2620045

第4题

解析:

答案A

1、解决整数 625
625%2=312...1
312%2=156...0
156%2=78...0
78%2=39...0
39%2=19...1
19%2=9...1
9%2=4...1
4%2=2...0
2%2=1...0
1%2=0...1
整数二进制为 10 0111 0001
2、解决浮点数  0.625
0.625*2=1.250   整数为1
0.250*2=0.5  整数为0
0.5*2=1  整数为1
浮点数二进制为 101
3、合并结果
10 0111 0001.101

第5题

解析:

答案D

第6题

解析:

答案B

补码 1111 1101

右移1位,符号位不变 1111 1110

-1得反码 1111 1101

取反得原码 1000 0010

转为十进制,即-2

第7题

解析:

答案C

字符:1 2 3 4 @ @ c h e n a  d  a  i
下标:0 1 2 3 4 5 6 7 8 9 10 11 12 13replace(1,5,str)
从下标1开始,替换5个字符,为str变量即下面替换 成“12345”
字符:2 3 4 @ @
下标:1 2 3 4 5字符串最终为:“112345@@chenadai”

第8题

解析:

答案A

a变量未知
运算过程为下0010
|????
-----------??1?从右往左第二位 ,绝对是1

第9题

解析:

答案A

ch[5]存储"\0"

在c++中,0 、‘\0’、NULL、false 都等价

所以  if(ch[5]==NULL) 条件符合,输出“right”

第10题

解析:

答案D,代码输出的是11,但是题目问的是 "ch占用空间" ,char数组会在末尾添加‘\0’,标记为结束,所以占用空间为11+1=12

第11题

解析:

答案D

ASCII 65对应 ‘A’

tolower转小写,变为 ‘a’

因为tolower()函数 返回的是 int类型,所以输出 ‘a’对应 ASCII 97

第12题

解析:

答案C

选项A:i=n+1,不符合“包含n”

选项B:res 没有初始化为0

选项D:temp没有拷贝i

第13题

解析:

答案D

A选项:条件(25*i + 20*j +k ==300),换算单位不统一

B选项:条件(20*i + 10*j +k ==300),换算单位不统一

C选项:循环(int k=0;k<=20;k++)有误,k表达的是鸭子的数量,鸭子数量最多不止20只

D选项:其实也有问题,无法满足 “每种必须一只” ,但是官方答案给了D,我们只能某某接受

第14题

解析:

答案C

A选项:if(i % j != 0){  flag=1 }  错误,flag为1表达的应该是“ i不是素数 ”

B选项:没有解决2这个素数

D选项:flag没有重置

第15题

解析:

答案A

假设4段,分别1、2、4、8

天数123456789101112131415
工人121,241,42,41,2,481,82,81,2,84,81,4,82,4,81,2,4,8
老板2,4,81,4,84,81,2,82,81,881,2,42,41,441,221

二、判断题

第1题

解析:

答案√,补码就是把负数用另一种方式存储,实现加法模拟减法

第2题

解析:

答案√

2原码:0000 0010
-1原码:1000 00010000 0010
+1000 0001
----------------1000 0011
即-3

第3题

解析:

答案√

第4题

解析:

答案×,结果正确,表述错误,应该是从后往前

第5题

解析:

答案√

0开头表示八进制
即1111(8)全部转为二进制
65的二进制 0100 0001
1111(8)
=512 + 64 + 8 +1
二进制为:0010 0100 1001做&运算0000 0100 0001
& 0010 0100 1001
--------------------0000 0100 0001
还是65,即‘A’

第6题

解析:

答案√

find('D')的下标
字符:c h e n A D a i
下标:0 1 2 3 4 5 6 7
所以pos = 5--pos
pos变为4pos&11不影响 pos的值

第7题

解析:

答案×,ch[4]是‘\0’为终止符,可以输出,但是不可见

第8题

解析:

答案√,‘A’ 的 ascii值为65,65+32=97

第9题

解析:

答案√,数学定义中,2就是最小的素数

第10题

解析:

答案√

CCF(16)
转十进制
C*16^2 + C*16^1 + F*16^0
=12*16*16+12*16+15
=3072+192+15
=327912363(7)
转十进制
1*7^4 + 2*7^3 + 3*7^2 + 6*7^1 + 3*7^0
=7*7*7*7 + 2*7*7*7 + 3*7*7 + 6*7 + 3*1
=49*49 + 14*49 + 3*49 +42+ 3
=49*( 49+14+3 ) + 45
=49*66 + 45
=3234+45
=3279

三、编程题

第1题 [GESP202412 三级] 数字替换

题目描述

小杨有一个包含 n 个数字的序列 A,即 A=[a1​,a2​,…,an​],他想将其中大于 k 的数字都替换为序列的最大值,将其中小于 k 的数字都替换为序列的最小值,请你帮他计算出替换后的序列。

输入格式

第一行包含两个正整数 n,k,含义如题面所示。

第二行包含 n 个数字,代表序列 A。

输出格式

输出 n 个整数,代表替换后的结果。

输入输出样例

输入 #1

5 0
-2 -1 0 1 2

输出 #1

-2 -2 0 2 2

说明/提示

对于全部数据,保证有 1≤n≤10^{5},∣k∣,∣ai​∣≤10^{5}

答案

#include<bits/stdc++.h>
using namespace std;
int main(){//1)确定数量n  条件kint n,k;cin>>n>>k;//2)循环填充n个数int arr[100010]={};int maxx=INT_MIN,minn=INT_MAX;for(int i=1;i<=n;i++){cin>>arr[i];//3)比较找出最大 最小if(arr[i]>maxx) maxx=arr[i];if(arr[i]<minn) minn=arr[i];}//4)输出修改后的数组for(int i=1;i<=n;i++){if(arr[i]==k) cout<<k<<" ";else if(arr[i]<k) cout<<minn<<" ";else cout<<maxx<<" ";}
}

第2题 [GESP202412 三级] 打印数字

题目描述

小杨为数字 0,1,2 和 3 设计了一款表示形式,每个数字占用了 5×5 的网格。数字 0,1,2 和 3 的表示形式如下:

..... ****. ..... .....
.***. ****. ****. ****.
.***. ****. ..... .....
.***. ****. .**** ****.
..... ****. ..... .....

小杨想请你将给定的数字 n 转换为对应的表示形式。

输入格式

第一行包含一个非负整数代表 n。

输出格式

输出对应的表示形式。

输入输出样例

输入 #1

12230

输出 #1

****.....................
****.****.****.****..***.
****.................***.
****..****.********..***.
****.....................

说明/提示

对于全部数据,保证有 0≤n≤10^{6},且 n 仅由数字 0,1,2,3 组成。

答案

#include<bits/stdc++.h>
using namespace std;
string ans1,ans2,ans3,ans4,ans5;
void f(char x){if(x=='0'){ans1+=".....";ans2+=".***.";ans3+=".***.";ans4+=".***.";ans5+=".....";}else if(x=='1'){ans1+="****.";ans2+="****.";ans3+="****.";ans4+="****.";ans5+="****.";}else if(x=='2'){ans1+=".....";ans2+="****.";ans3+=".....";ans4+=".****";ans5+=".....";}else{ans1+=".....";ans2+="****.";ans3+=".....";ans4+="****.";ans5+=".....";}
}
int main(){//1)确定数字(字符串)string s;cin>>s;//2)遍历字符串(从前往后)for(int i=0;i<s.size();i++){//3)拼接对应网格f(s[i]);}//4)输出结果cout<<ans1<<endl; cout<<ans2<<endl; cout<<ans3<<endl; cout<<ans4<<endl; cout<<ans5<<endl; 
}


文章转载自:

http://5GavYaxW.hdwjb.cn
http://UUbiOGo6.hdwjb.cn
http://GKB6OobG.hdwjb.cn
http://0MjJH4s9.hdwjb.cn
http://xaFzyzZL.hdwjb.cn
http://56aDG54X.hdwjb.cn
http://diJfJx8j.hdwjb.cn
http://SRqKA5f2.hdwjb.cn
http://2twXnDjf.hdwjb.cn
http://0Kp8dSbu.hdwjb.cn
http://NP7r9Qq5.hdwjb.cn
http://rXcdX694.hdwjb.cn
http://Nz1c5PKT.hdwjb.cn
http://o4hzUW9l.hdwjb.cn
http://7r99TGWd.hdwjb.cn
http://tFGMUiAz.hdwjb.cn
http://o6rgOieR.hdwjb.cn
http://0bFu2pqL.hdwjb.cn
http://1WfVlare.hdwjb.cn
http://JVkI9Yuv.hdwjb.cn
http://wB519yoP.hdwjb.cn
http://aEWbtUUd.hdwjb.cn
http://yC0R7HSV.hdwjb.cn
http://sTI5kScc.hdwjb.cn
http://LYg6uOfT.hdwjb.cn
http://8KnT9iag.hdwjb.cn
http://sFIj1zCe.hdwjb.cn
http://7CRqoScn.hdwjb.cn
http://gWpr25VI.hdwjb.cn
http://s5izvyua.hdwjb.cn
http://www.dtcms.com/a/367365.html

相关文章:

  • 0904 类的继承
  • apache poi与Office Open XML关系
  • What is a prototype network in few-shot learning?
  • 岗位学习:招聘平台风控治理策略
  • 安卓开发学习8-仿简单计算器
  • SAP HANA Scale-out 01:表分布
  • KSZ8081寄存器介绍
  • C52单片机独立按键模块,中断系统,定时器计数器以及蜂鸣器
  • CBrush 和 HBRUSH画笔的创建使用及常见的错误使用示例。
  • 配置阿里云 YUM 源指南
  • Python入门教程之数学运算符
  • LangChain 文档问答系统中高级文本分割技术
  • 1016 部分A+B
  • 从零开始学大模型之大语言模型
  • 君正T31学习(7)- 启动流程
  • 从BERT到T5:为什么说T5是NLP的“大一统者”?
  • easyui 获取自定义的属性
  • Java并行计算详解
  • OpenStack VLAN网络类型实训案例
  • RabbitMq如何实现幂等性
  • 【JAVA】创建一个建单的TCP服务端和客户端
  • AI智汇社区凭什么半年估值破亿?这家公司让普通人也能玩转AI开发
  • WebSocket简述与网络知识回顾
  • 揭秘23种设计模式的艺术与技巧之行为型
  • 【LeetCode每日一题】94. 二叉树的中序遍历 104. 二叉树的最大深度
  • 渗透测试与网络安全审计的关系
  • Qwen2.5-VL实现本地GPTQ量化
  • 设计模式最佳实践 - 模板模式 + 责任链模式
  • C++的const_cast
  • SSD固态硬盘加速优化-明显提高固态硬盘的效率并保持峰值性能-供大家学习研究参考