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

GESP C++ 三级 2025年6月真题解析

GESP C++ 三级 2025年6月真题解析


选择题

第1题

题目: 8位二进制原码能表示的最小整数是:
选项:

  • A. -127
  • B. -128
  • C. -255
  • D. -256

答案:A
解析: 原码表示法中,8位二进制数最高位为符号位,剩余7位表示数值,范围为 -127 到 +127,因此最小整数为 -127。


第2题

题目: 反码表示中,零的表示形式有:
选项:

  • A. 1种
  • B. 2种
  • C. 8种
  • D. 16种

答案:B
解析: 反码中,+0 和 -0 的表示不同,因此有两种表示形式。


第3题

题目: 补码1011 1011对应的真值是:
选项:

  • A. -69
  • B. -59
  • C. -68
  • D. -58

答案:A
解析: 补码10111011对应的反码是10111010,相应原码为11000101,转换为十进制为 -69。


第4题

题目: 若X的8位补码为0000 1010,则X/2的补码是:
选项:

  • A. 0000 0101
  • B. 1000 0101
  • C. 0000 0101或1000 0101
  • D. 算术右移后结果取决于符号位

答案:A
解析: 正数补码算术右移一位即为除以2,结果为00000101。


第5题

题目: 二进制数1101.101对应的十进制数是:
选项:

  • A. 13.625
  • B. 12.75
  • C. 11.875
  • D. 14.5

答案: A
解析: 1101.101 = 8+4+0+1 + 0.5+0.125 = 13.625。


第6题

题目: 补码加法中,若最高位和次高位进位不同,则说明:
选项:

  • A. 结果正确
  • B. 发生上溢
  • C. 发生下溢
  • D. 结果符号位错误

答案: B
解析: 最高位和次高位进位不同是溢出的硬件判断标准,上溢和下溢是溢出的两种具体表现,上溢是更常见的溢出描述(如两正数相加变负)。


第7题

题目: 八进制数35.6对应的十进制数是:
选项:

  • A. 29.75
  • B. 28.5
  • C. 27.625
  • D. 30.25

答案: A
解析: 3×8 + 5 + 6/8 = 29.75。


第8题

题目: 二进制数1010|1100的结果是:
选项:

  • A. 1000
  • B. 1110
  • C. 1010
  • D. 1100

答案: B
解析: 按位或运算,有1为1,全0为0,1010 | 1100 = 1110。


第9题

题目: 以下哪个位运算可以交换两个变量的值(无需临时变量):
选项:

  • A. a=a^b;b=a^b;a=a^b;
  • B. a=a&b;b=a|b;a=a&b;
  • C. a=a|b;b=a^b;a=a^b;
  • D. a=~a;b=~b;a=~a;

答案: A
解析: 使用异或运算可实现无临时变量交换。


第10题

题目: 如何正确定义一个长度为5的整型数组:
选项:

  • A. int array=new int[5];
  • B. array int[5];
  • C. int[] array={1,2,3,4,5};
  • D. int array[5];

答案: D
解析: C++中静态数组定义方式为 类型名 数组名[长度]。


第11题

题目: 以下程序使用枚举法(穷举法)求解满足条件的三位数,横线处应该填入的是:

#include <iostream>
using namespace std;int main(){int count=0;for(int i=100;i<=999;i++){int a=i/100;________________int c=i%10;if(a*a+b*b==c*c){count++;}}cout<<count<<endl;return 0;
}

选项:

  • A. int b=(i/10)/10;
  • B. int b=(i/10)%10;
  • C. int b=(i%10)/10;
  • D. int b=(i%10)%10;

答案: B
解析: 获取十位数字,先整除10得到百位和十位(比如133/10得13),再%10(13%10得3)去个位,从而得到十位上的数字。


第12题

题目: 以下程序模拟了一个简单的小球反弹过程,横线处应该填入的是:

#include <iostream>
using namespace std;int main(){int height=10;int distance=0;for(int i=1;i<=5;i++){ //模拟5次落地_______________height/=2;distance+=height;}cout<<distance<<endl;return 0;
}

选项:

  • A. distance+=height/2;
  • B. distance+=height;
  • C. distance+=height*2;
  • D. distance+=height+1;

答案: B
解析: 每次反弹高度减半,distance 累加的是反弹高度。


第13题

题目: C++代码string s = "GESP考试";, s占据的字节数是:
选项:

  • A. 10
  • B. 8
  • C. 8或10
  • D. 取决于计算机采用什么编码

答案:D
解析: 字符串所占字节数与编码方式(如UTF-8、GBK)有关。如果源文件保存为 UTF-8(Linux/macOS/多数现代 Windows 工程默认):“GESP考试” → 4 个 ASCII 字母各 1 B,“考”3 B,“试”3 B,共 4 + 3 + 3 = 10 B。如果源文件保存为 GBK/GB2312(老版 Windows 简体中文版默认):每个汉字 2 B,共 4 + 2 + 2 = 8 B。其它编码(UTF-16、BIG5 等)还会出现别的数值,但日常竞赛/考试环境基本就是 UTF-8 或 GBK 两种。


第14题

题目: C++语句string s="Gesp Test"; 执行s.rfind("e")以后,输出的是:
选项:

  • A. 1
  • B. 2
  • C. 6
  • D. 3

答案: C
解析:rfind 含义:std::string::rfind(“e”) 从尾部向前查找子串 “e” 第一次出现的位置,返回其下标(从 0 开始计数)。若找不到返回 string::npos。
0 1 2 3 4 5 6 7 8
G e s p T e s t
从后往前找 “e”,位置 6 是 ‘e’,位置 1 也是 ‘e’,rfind 会先碰到位置 6 的 ‘e’,因此返回 6。


第15题

题目: 字符串"Gesp考试", 字符数是:
选项:

  • A. 10
  • B. 8
  • C. 6
  • D. 字符数多少取决于编码

答案: C
解析: 无论是 UTF-8、GBK、UTF-16 还是其他编码,字符的个数(即逻辑上的字符)始终是 6 个。编码只影响每个字符占用的字节数,不改变字符数量。


判断题

第1题

题目: C++中string==运算符比较的是字符串的内存地址,而非内容。
答案: 错误
解析: == 比较的是字符串内容,不是地址。


第2题

题目: stringsubstr(1,3)返回从下标1开始的3个字符的子串。
答案: 正确
解析: substr(pos, len) 从 pos 开始取 len 个字符。


第3题

题目: x 是浮点数,(x >> 1) 等价于 x / 2
答案: 错误
解析: 位运算不能用于浮点数。


第4题

题目: string("hello") == "hello" 的比较结果为 true。
答案: 正确
解析: 比较的是内容,相等。


第5题

题目: sort 可以直接用于排序 set 中的元素。
答案: 错误
解析: set 是有序容器,元素已排序,不可再用 sort


第6题

题目: (x & 1) == 0 可以判断整数 x 是否为偶数。
答案: 正确
解析: 偶数最低位为0,奇数为1。按位与(&)运算,有0为0,全1为1.所以可以通过(x&1)的结果来判断x是否为偶数。


第7题

题目: stringsubstr(2,10) 在字符串长度不足时会抛出异常。
答案: 错误
解析: substr 会自动截取到末尾,不会抛异常。


第8题

题目: 在数学纸面计算中,pow(2,3) 的计算结果一定是 8,但是在 C++ 中,如果遇到数据类型是浮点数,那就不一定正确。
答案: 正确
解析: 浮点数存在精度误差,结果可能略有偏差。


第9题

题目: 在 C++ 中,枚举的底层类型可以是非整型(如 floatdouble)。
答案: 错误
解析: 枚举底层类型必须是整型。


第10题

题目: 函数声明 double f(); 返回 int 时,会自动转换为 double。
答案: 正确
解析: 返回值会自动类型转换为函数声明的返回类型。


http://www.dtcms.com/a/391726.html

相关文章:

  • Linux系统多线程的互斥问题
  • Python 之监控服务器服务
  • el-select 多选增加全部选项
  • Day24 窗口操作
  • 5. Linux 文件系统基本管理
  • 【MySQL】GROUP BY详解与优化
  • 深度学习:DenseNet 稠密连接​ -- 缓解梯度消失
  • Linux DNS 子域授权实践
  • 团体程序设计天梯赛-练习集 L1-041 寻找250
  • mellanox网卡(ConnectX-7)开启SACK
  • 相机镜头靶面
  • 【语法进阶】gevent的使用与总结
  • Java优选算法——前缀和
  • ARM不同层次开发
  • 【Python】高质量解析 PDF 文件框架和工具
  • RSS-2025 | 无地图具身导航新范式!CREStE:基于互联网规模先验与反事实引导的可扩展无地图导航
  • RNA-seq分析之共识聚类分析
  • Linux开发——ARM介绍
  • Force Dimension Sigma力反馈设备远程遥操作机械臂外科手术应用
  • 泛函驻点方程与边界条件的推导:含四阶导数与给定边界
  • C#开发USB报警灯服务,提供MES或者其它系统通过WebAPI调用控制报警灯
  • Docker基础篇08:Docker常规安装简介
  • 【软考-系统架构设计师】软件架构分析方法(SAAM)
  • 广西保安员考试题库及答案
  • 【Vue】Vue 项目中常见的埋点方案
  • 投稿之前去重还是投稿之后去重?
  • 【包教包会】CocosCreator3.x全局单例最优解
  • 为什么要使用dynamic_cast
  • 随机过程笔记
  • OpenHarmony:NDK开发