GESP 2025年6月_C++三级试卷

从PDF导入:GESP 2025年6月_C++三级试卷

C++ 120分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选
8位二进制原码能表示的最小整数是:( )
A. -127
B. -128
C. -255
D. -256
第2题 中级 2.0分 单选
反码表示中,零的表示形式有:
A. 1种
B. 2种
C. 8种
D. 16种
第3题 中级 2.0分 单选
补码1011 1011对应的真值是( )
A. -69
B. -59
C. -68
D. -58
第4题 中级 2.0分 单选
若X的8位补码为0000 1010,则X/2的补码是( )
A. 0000 0101
B. 1000 0101
C. 0000 0101或1000 0101
D. 算术右移后结果取决于符号位
第5题 中级 2.0分 单选
二进制数1101.101对应的十进制数是( )
A. 13.625
B. 12.75
C. 11.875
D. 14.5
第6题 中级 2.0分 单选
补码加法中,若符号位无进位而次高位有进位,则说明( )
A. 结果正确
B. 发生上溢
C. 发生下溢
D. 结果符号位错误
第7题 中级 2.0分 单选
八进制数35.6对应的十进制数是( )
A. 29.75
B. 28.5
C. 27.625
D. 30.25
第8题 中级 2.0分 单选
二进制数1010 | 1100的结果是( )
A. 1000
B. 1110
C. 1010
D. 1100
第9题 中级 2.0分 单选
以下哪个位运算可以交换两个变量的值(无需临时变量)( )
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;
第10题 中级 2.0分 单选
如何正确定义一个长度为5的整型数组( )
A. int array = new int[5];
B. array int[5];
C. int[] array = {1,2,3,4,5};
D. int array[5];
第11题 中级 2.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;
第12题 中级 2.0分 单选
以下程序模拟了一个简单的小球反弹过程,横线处应该填入的是()

A. distance+=height/2;
B. distance+=height;
C. distance+=height*2;
D. distance+=height+1;
第13题 中级 2.0分 单选
C++代码string s="GESP考试";,s占据的字节数是()
A. 10
B. 8
C. 8或10
D. 取决于计算机采用什么编码
第14题 中级 2.0分 单选
C++语句string s="Gesp Test"; 执行s.rfind("e")以后,输出的是()
A. 1
B. 2
C. 6
D. 3
第15题 中级 2.0分 单选
字符串"Gesp考试",字符数是( )
A. 10
B. 8
C. 6
D. 字符数多少取决于编码
第16题 中级 2.0分 判断
C++中string的==运算符比较的是字符串的内存地址,而非内容( )
T. 正确
F. 错误
第17题 中级 2.0分 判断
string的substr(1,3)返回从下标1开始的3个字符的子串。( )
T. 正确
F. 错误
第18题 中级 2.0分 判断
x是浮点数,(x>>1)等价于x/2( )
T. 正确
F. 错误
第19题 中级 2.0分 判断
string("hello") == "hello"的比较结果为true。( )
T. 正确
F. 错误
第20题 中级 2.0分 判断
sort可以直接用于排序set中的元素。( )
T. 正确
F. 错误
第21题 中级 2.0分 判断
(x & 1) == 0可以判断整数x是否为偶数。( )
T. 正确
F. 错误
第22题 中级 2.0分 判断
string的substr(2,10)在字符串长度不足时会抛出异常。( )
T. 正确
F. 错误
第23题 中级 2.0分 判断
在数学纸面计算中,pow(2,3)的计算结果一定是8,但是在C++中,如果遇到数据类型是浮点数,那就不一定正确。( )
T. 正确
F. 错误
第24题 中级 2.0分 判断
在C++中,枚举的底层类型可以是非整型(如float或double)。( )
T. 正确
F. 错误
第25题 中级 2.0分 判断
函数声明double f();返回int时,会自动转换为double。( )
T. 正确
F. 错误
第26题 中级 25.0分 编程
奇偶校验

时间限制:1.0 s 内存限制:512.0 MB 数据在传输过程中可能出错,因此接收方收到数据后通常会校验传输的数据是否正确,奇偶校验是经典的校验方式之一。给定n个非负整数代表所传输的数据,它们的校验码取决于这些整数在二进制下1的数量之和的奇偶性。如果这些整数在二进制下共有奇数个1,那么校验码为1;否则校验码为0。你能求出这些整数的校验码吗?

【输入格式】
第一行,一个正整数n,表示所传输的数据量。第二行,n个非负整数,表示所传输的数据。
【输出格式】
输出一行,两个整数,以一个空格分隔:第一个整数表示在二进制下1的总数量;第二个整数表示校验码(0或1)。
【样例输入1】

4
71 69 83 80
【样例输出1】

13 1
第27题 中级 25.0分 编程
分糖果

时间限制:1.0 s 内存限制:512.0 MB 有n位小朋友排成一队等待老师分糖果。第i位小朋友想要至少a[i]颗糖果,并且分给他的糖果数量必须比分给前一位小朋友的糖果数量更多,不然他就会不开心。老师想知道至少需要准备多少颗糖果才能让所有小朋友都开心。你能帮帮老师吗?

【输入格式】
第一行,一个正整数n,表示小朋友的人数。第二行,n个正整数,依次表示每位小朋友至少需要的糖果数量。
【输出格式】
输出一行,一个整数,表示最少需要准备的糖果数量。
【样例输入1】

4
1 4 3 3
【样例输出1】

16
💬