#TK1173. 2025年6月CCF-GESP编程能力等级认证C++编程三级真题
2025年6月CCF-GESP编程能力等级认证C++编程三级真题
GESP C++ 三级 2025年06月考试试卷
1 单选题(每题 2 分,共 30 分)
第 1 题
8位二进制原码能表示的最小整数是:( ) {{ select(1) }}
- -127
- -128
- -255
- -256
第 2 题
反码表示中,零的表示形式有:( ) {{ select(2) }}
- 1种
- 2种
- 8种
- 16种
第 3 题
补码 1011 1011 对应的真值是( ) {{ select(3) }}
- -69
- -59
- -68
- -58
第 4 题
若X的8位补码为 0000 1010,则 X/2 的补码是( )。 {{ select(4) }}
- 0000 0101
- 1000 0101
- 0000 0101 或 1000 0101
- 算术右移后结果取决于符号位
第 5 题
二进制数 1101.101 对应的十进制数是( ) {{ select(5) }}
- 13.625
- 12.75
- 11.875
- 14.5
第 6 题
补码加法中,若符号位无进位而次高位有进位,则说明( ) {{ select(6) }}
- 结果正确
- 发生上溢
- 发生下溢
- 结果符号位错误
第 7 题
八进制数 35.6 对应的十进制数是( ) {{ select(7) }}
- 29.75
- 28.5
- 27.625
- 30.25
第 8 题
二进制数 1010 | 1100 的结果是( ) {{ select(8) }}
- 1000
- 1110
- 1010
- 1100
第 9 题
以下哪个位运算可以交换两个变量的值(无需临时变量)( ) {{ select(9) }}
a = a ^ b; b = a ^ b; a = a ^ b;
a = a & b; b = a | b; a = a & b;
a = a | b; b = a ^ b; a = a ^ b;
a = ~a; b = ~b; a = ~a;
第 10 题
如何正确定义一个长度为5的整型数组( ) {{ select(10) }}
int array = new int[5];
array int[5];
int[] array = {1,2,3,4,5};
int array[5];
第 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;
}
{{ select(11) }}
int b = (i / 10) / 10;
int b = (i / 10) % 10;
int b = (i % 10) / 10;
int b = (i % 10) % 10;
第 12 题
以下程序模拟了一个简单的小球反弹过程,横线处应该填入的是( )
#include <iostream>
using namespace std;
int main() {
int distance = 0;
int height = 10;
for (int i = 1; i <= 5; i++) { // 模拟5次落地
height /= 2;
________; // 横线处
distance += height;
}
cout << distance << endl;
return 0;
}
{{ select(12) }}
distance += height/2;
distance += height;
distance += height*2;
distance += height+1;
第 13 题
C++代码string s = "GESP考试";
,s占据的字节数是( )
{{ select(13) }}
- 10
- 8
- 8或10
- 取决于计算机采用什么编码
第 14 题
C++语句string s="Gesp Test";
执行s.rfind("e")
以后,输出的是( )
{{ select(14) }}
- 1
- 2
- 6
- 3
第 15 题
字符串"Gesp考试",字符数是( ) {{ select(15) }}
- 10
- 8
- 6
- 字符数多少取决于编码
2 判断题(每题 2 分,共 20 分)
第 16 题
C++中string
的==
运算符比较的是字符串的内存地址,而非内容。( )
{{ select(16) }}
- 正确
- 错误
第 17 题
string
的substr(1, 3)
返回从下标1开始的3个字符的子串。( )
{{ select(17) }}
- 正确
- 错误
第 18 题
x 是浮点数,(x >> 1)
等价于 x / 2
。( )
{{ select(18) }}
- 正确
- 错误
第 19 题
string("hello") == "hello"
的比较结果为true
。( )
{{ select(19) }}
- 正确
- 错误
第 20 题
sort
可以直接用于排序set
中的元素。( )
{{ select(20) }}
- 正确
- 错误
第 21 题
(x & 1) == 0
可以判断整数x是否为偶数。( )
{{ select(21) }}
- 正确
- 错误
第 22 题
string
的substr(2, 10)
在字符串长度不足时会抛出异常。( )
{{ select(22) }}
- 正确
- 错误
第 23 题
在数学纸面计算中,pow(2, 3)
的计算结果一定是8,但是在C++中,如果遇到数据类型是浮点数,那就不一定正确。( )
{{ select(23) }}
- 正确
- 错误
第 24 题
在 C++ 中,枚举的底层类型可以是非整型(如 float
或 double
)。( )
{{ select(24) }}
- 正确
- 错误
第 25 题
函数声明 double f();
返回 int
时,会自动转换为 double
。( )
{{ select(25) }}
- 正确
- 错误