CCF 编程能力等级认证 C++ 三级(2024 年 12 月)试卷讲解

2024年12月CCF编程能力等级认证(GESP)C++二级试卷讲解 注:文章中的题目来自https://gesp.ccf.org.cn/101/attach/1650239656165408.pdf 阅读详情
AI摘要

本文对CCF编程能力等级认证C++三级(2024年12月)试卷进行讲解。包含单选题,涉及原码、补码、进制转换、逻辑运算等知识点;判断题,考查补码、原码运算、进制转换等概念;编程题,有数字替换和打印数字,涉及数组操作、字符串处理等。

一、单选题

  1. 第1题
    • 题目:下列二进制表示的十进制数值分别是( ),[10000011]原=( ),[10000011]补=( )。
    • 选项:
      • A. -125,-3
      • B. -3, -125
      • C. -3,-3
      • D. -125,-125
    • 答案:D
    • 知识点:原码、补码与十进制数的转换。
    • 解析:对于原码[10000011],最高位为1表示负数,其真值为−1×27+1×21+1×20=−125-1\times2^7 + 1\times2^1 + 1\times2^0 = -125−1×27+1×21+1×20=−125;补码是在原码的基础上,除符号位外各位取反再加1,[10000011]补码的真值也为 -125。
  2. 第2题
    • 题目:关于计算机中的编码,下列说法中错误的是()。
    • 选项:
      • A. 对于无符号数,原码就是真值。
      • B. 正数的反码是其本身。
      • C. 负数的反码和补码是不一样的。
      • D. 负数的反码,在其原码的基础上,各个位取反。
    • 答案:D
    • 知识点:计算机中编码的相关概念,包括原码、反码、补码以及它们之间的关系,特别是负数的编码规则。
    • 解析:
      • A选项:对于无符号数,原码就是其本身,也就是真值,该说法正确。
      • B选项:正数的反码确实是其本身,该说法正确。
      • C选项:负数的反码是在其原码的基础上,除符号位外各位取反,补码是在反码的基础上加1,所以负数的反码和补码不一样,该说法正确。
      • D选项:负数的反码,在其原码的基础上,除符号位外各个位取反,而不是所有位取反,该说法错误。
  3. 第3题
    • 题目:16进制数B2025转换成8进制数是()。
    • 选项:
      • A. 2620045
      • B. 2004526
      • C. 729125
      • D. 2420045
    • 答案:A
    • 知识点:不同进制数之间的转换,重点是十六进制转八进制。
    • 解析:先将十六进制数B2025转换为二进制为10110010000000100101,再从右至左每三位一组转换为八进制,得到2620045。
  4. 第4题
    • 题目:625.625变成二进制是( )。
    • 选项:
      • A. 1001110001.101
      • B. 101.101
      • C. 101.1001110001
      • D. 1001110001.1101
    • 答案:A
    • 知识点:十进制小数转换为二进制小数。
    • 解析:整数部分625转换为二进制是1001110001,小数部分0.625转换为二进制是0.101,合起来就是1001110001.101。
  5. 第5题
    • 题目:下面逻辑运算中,正确的是( )。
    • 选项:
      • A. 5&&3==0
      • B. 5|3==8
      • C. 5||3==11
      • D. 5&3==0001
    • 答案:D
    • 知识点:逻辑运算,包括逻辑与(&&)、逻辑或(||)、按位与(&)、按位或(|)的运算规则。
    • 解析:
      • A选项:5&&3的结果是1(因为5和3都为真),而不是0,该选项错误。
      • B选项:5|3的结果是7(按位或运算),而不是8,该选项错误。
      • C选项:5||3的结果是1(因为5为真,只要有一个为真结果就为真),而不是11,该选项错误。
      • D选项:5&3的结果是1(按位与运算),用二进制表示为0001,该选项正确。
  6. 第6题
    • 题目:补码1111 1101进行运算1111 1101>>1以后得到的结果是()。
    • 选项:
      • A. 1111 1100
      • B. -2
      • C. 1111 1101
      • D. 1111 1010
    • 答案:B
    • 知识点:补码的右移运算规则。
    • 解析:补码1111 1101右移1位后,最高位补1,得到1111 1110,其真值为 -2。
  7. 第7题
    • 题目:下列代码输出的是
string s="1234@@chenadai";
string str="12345";
s.replace(1,5,str);
cout<<s<<endl;
  • 选项:
    • A. 12345
    • B. 2345@
    • C. 112345chenadai
    • D. 12345chenadai
  • 答案:C
  • 知识点:string类的replace函数的使用。
  • 解析:s.replace(1,5,str)表示从s的下标1开始,替换5个字符为str,所以结果是112345chenadai。
  1. 第8题
    • 题目:a|10(a与10都是10进制,且二进制表示最高位为1)运算的结果是( )。
    • 选项:
      • A. 使a的二进制表示从右往左的第二位为1
      • B. 使a的二进制表示从右往左的第一位为0
      • C. 使a的二进制表示从右往左第二位为0
      • D. 使a的二进制表示最高位为0
    • 答案:A
    • 知识点:按位或(|)运算对二进制数特定位的影响。
    • 解析:a|10,10的二进制表示为1010,进行按位或运算会使a的二进制表示从右往左的第二位变为1(只要有一个为1结果就为1)。
  2. 第9题
    • 题目:下列程序输出的是( )
string ch="hello";
if(ch[5]==NULL) {
   
   
    cout<<"right"<<endl;
}
else if (ch[5]=='\0')
{
   
   
    cout<<"wrong"<<endl;
}
else
    cout<<"hello"<<endl;
  • 选项:
    • A. right
    • B. wrong
    • C. hello
    • D. 不能正确执行
  • 答案:B
  • 知识点:字符串的下标访问以及’\0’在字符串中的作用。
  • 解析:字符串"hello"的长度为5,下标从0到4,ch[5]访问越界,但是在C++中,字符串以’\0’结尾,当访问到字符串结尾的’\0’时,条件ch[5]=='\0’成立,所以输出"wrong"。
  1. 第10题
  • 题目:下列程序中,假设一个字符占用的内存空间是1,下列程序中,ch占用的内存空间是 ( )
size_t ret=strlen(ch);
char ch[] = "hello world";
cout<<ret<<endl;
  • 选项:
    • A. 11
    • B. 10
    • C. 13
    • D. 12
  • 答案:D
  • 知识点:字符串数组的内存占用以及strlen函数的计算。
  • 解析:char ch[] = “hello world”,字符串"hello world"实际占用12个字节(包括’\0’),但是strlen函数计算字符串长度时不包括’\0’,所以长度为11。而ch数组本身占用的内存空间是12字节。
  1. 第11题
  • 题目:下列程序最后输出的是()
int a=65;
cout<<tolower(a)<<endl;
  • 选项:
    • A. 65
    • B. A
    • C. a
    • D. 97
  • 答案:D
  • 解析:int a = 65,对应的字符是’A’,tolower(a)将其转换为小写字母’a’,其ASCII码值为97。
  1. 第12题
  • 题目:想要计算从数字n到数字m之间(包含n和m)有多少个数字d出现,下列程序哪个能够实现( )。

  • 选项:

    • A.
int n,m,res,d;
cin>>n>>m>>d;
for(int i=n+1;i<=m;i++){
   
   
    int temp=i;
    while(temp){
   
   
        if(temp %10==d) res++;
        temp /=10;
    }
}
cout<<res<<endl;
return 0;
  B.
int n,m,res,d;
cin>
2024年12月CCF编程能力等级认证(GESP)C++一级试卷讲解 注:文章中的题目来自https://gesp.ccf.org.cn/101/attach/1650388795129888.pdf 阅读详情

相关推荐

GESP C++三级真题解析:核心考点、算法思维与备考策略全指南

在编程学习与能力认证体系中,掌握核心算法思维和扎实的语法基础是关键。从基础的循环控制、数组操作到初级的算法设计,如枚举、模拟和排序,这些构成了解决复杂问题的基石。理解这些原理不仅能提升代码的严谨性和效率,更是应对各类编程认证(如GESP)的核心能力。本文聚焦于GESP C++三级认证,通过深度剖析其真题题型,如涉及质数判断、选择排序的“数字统计与排序”问题,以及运用深度优先搜索(DFS)解决“网格路径探索”问题,系统拆解了从问题分析、算法选择到代码实现与调试的完整思维链。文章旨在帮助考生构建清晰的备考框架,

635

CCF历年真题整理【已更新至202104】

说明:本文持续更新,若长时间未更新,请评论催催我。 以下题目均来自cspro.org,点击进入测试页面,侵删歉。 部分题目我已经解决,并给出参考代码。然而有些我还没有尝试解决,但先把题目贴给大家,大家可以自行去官网练习。 如果对我的解法有疑问,可以联系我一起交流学习。CCF交流学习QQ群:696037138 需要了解CCF的常见问题,请看这篇博客:CCF考前必看(最后更新时间:2019.10.03...

WINGREZ‘S BLOG 12万+

DAC8568 Controller

DAC8568 ControllerDAC8568 简介串行接口三级目录 DAC8568 简介 PIN Description Name Description LDAC‾\overline{LDAC}LDAC load DACs SYNC‾\overline{SYNC}SYNC 低电平有效,电平触发控制, 该输入为输入数据的帧同步信号. 当SYNC为低,使能DAC内输入移位寄存器,并在随后的所有时钟沿采样数据。 在第32个时钟之后,DAC更新输出。 若不到32个时钟SYNC被置高(即

u010170039的博客 5129

数据结构:五岔路口交通管理红绿灯设计

我们可以知道这是一个“图”的着色问题,首先要考虑,为什么可行路线是13条?当然可以通过穷举得出,如果用公式:则是: 或者 因为一条路线必须包括一出一进两个方向 第一种答案的解法: 一、固定E为入口,则有C_4^1=4的可能; 二、除去E(因为E只有一个入向),剩下ABCD四个路口,然后因为C只有一个出方向,所以从剩下 的ABD中选择一个入口,即C_3^1; 三、再从剩下的三个出口任选

潘猫猫的世界 1万+

StarUML最新版汉化与破解二合一教程:5分钟搞定永久使用

本文提供StarUML最新版的高效使用指南,涵盖从安装到深度定制的全流程优化方案。包括软件获取最佳实践、界面个性化设置、核心建模技巧、团队协作策略及性能优化建议,帮助架构师和开发团队提升UML建模效率。特别推荐版本控制集成和文档自动化输出方案,适用于各类规模的项目开发。

weixin_42530732的博客 450

微信群“智”变:扣子机器人无缝接入实战

本文介绍了如何将扣子(Coze)机器人接入微信群实现智能化管理。文章首先阐述了扣子机器人的自然语言处理、自动分类和多模态交互等功能特点,以及其深度学习模型和持续学习能力的技术优势。随后详细讲解了接入步骤:从微信公众号配置、扣子平台机器人创建,到使用Flask框架实现消息转发功能的关键代码。通过电商客服和技术社群两个实际案例,展示了扣子机器人在提升响应效率、优化社群运营方面的显著效果。最后展望了未来在智能推荐、多模态交互等领域的发展潜力,为微信群智能化管理提供了实用解决方案。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 829

构建基于知识图谱的金融监管合规系统

金融行业是一个高度监管的领域,金融机构需要遵守众多复杂的法规和政策。传统的金融监管合规方式往往依赖于人工审查和简单的规则引擎,效率低下且容易出错。构建基于知识图谱的金融监管合规系统的目的在于利用知识图谱强大的知识表示和推理能力,实现对金融业务数据的自动化分析和合规检查,提高监管合规的效率和准确性。本系统的范围涵盖了金融机构的各类业务,如银行业务、证券业务、保险业务等。

AI天才研究院 1166

大模型角色提示词写得再严密,也能被绕过?我用攻击者思维把自己吓了一跳!

很多人以为提示词是“只要写清楚了,模型就能理解”,但实际上——模型并不具备严格的规则意识,它只是在预测下一句话。所以我们必须从“攻防”角度出发,设计更强的防护机制。我这次就是亲身踩坑,用红队思维模拟攻击,才意识到原来提示词注入这么容易中招。你如果也在做 AI 应用、角色系统、提示词驱动的功能,建议你也用类似方式测试一下,不然被绕了都不知道。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1026

基于 Qt C++ 开发一套西门子量子测量系统的控制与数据采集平台

sensorIdCombo->addItems({"QTS-100-001 (温度)", "QPG-200-001 (压力)", "QDS-300-001 (位移)"});precisionTable->setHorizontalHeaderLabels({"传感器ID", "类型", "标称精度", "实际精度", "校准状态"});QWidget *dispWidget = createSensorWidget("量子位移", "mm (±1μm)", 50.0, 0.001);// 传感器状态更新。

寒寒豆豆软件公司的博客 253

FPGA信号处理系列文章——分数倍插值抽取滤波器(一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 FPGA信号处理系列文章——分数倍插值抽取滤波器(一)前言信号流matlab模型频谱示意图分析总结 前言 变采样率滤波器不仅仅存在整数倍插值和整数倍抽取的情况,还会存在分数倍插值抽取的情况。那这种情况下要怎么处理呢 信号流 分数倍插值抽取滤波器的信号流是什么?信号先进行插值,再进行FIR滤波,最后进行抽取 matlab模型 %signal 定点化数据输入 coeff_val_fir = importdata('fir.coe'); si

gzy0506的博客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 结构体排序(sort)2
下一篇: 2024年12月CCF编程能力等级认证(GESP)C++二级试卷讲解
IT信息技术学习圈
博客等级 码龄3年 583粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值