2024年9月 GESP C++ 3级认证考试真题(含编程操作题部分)
选 单选题(共 15 题,每题 2 分)
下列代码中,输出结果是( )
#include<iostream>
using namespace std;
int main()
{
double a=0.9;
double b=1.0;
if(((b-a)==0.1))
{
cout<<"Equal"<<endl;
}
else
{
cout<<"Not equal"<<endl;
}
}
关于计算机中的编码,下列说法中正确的是()
8进制数3703转换成16进制数是()
0.8125变成二进制是( )。
下面说法正确的是( )
下列说法正确的是()
下列代码实现的是( )
void Swap(int &a, int &b) {
if (a != b) {
a ^= b;
b ^= a;
a ^= b;
}
}
a&~1运算实现的是( )。
a=1010 1110,a<<2,下面关于这个说法正确的是( )。
下列程序中,result和result2输出分别是( )
long a = 123;
int b = 1;
long result = a & b;
cout<<result<<endl;
long a2 = -123;
unsigned int b2 = -1;
long result2 = a2 & b2;
cout<<result2<<endl;
陈A歹种植一批农作物,第一天需要浇水一次,随后的两天(第2、第3天),每天需要浇水2次,再随后的
3天(第4、第5、第6天),需要每天浇水3次,这样持续下去,随后的n天,每天需要浇水n次。请问在100天里,总
共浇了多少次水( )
关于一维数组,下列程序能够正确执行的是( )。
下面的程序中,会输出( )。
int a[10]={1,2,3,4,5,6,7,8,9,10};
cout<<a[10]<<endl;
有ABCD4个⼈,其中一个是小偷,每个⼈说一句话,只有小偷说的是假话,其中A说:不是我。B说:是
C。C说:是D。D说:C瞎说,请问谁是小偷( )。
下列程序输出的是()
string str = "Hello,CHAD";
cout << str.find("A") << '\n';
判 判断题(共 10 题,每题 2 分)
+1和-1的原码进行1+(-1)计算的结果是-2。( )
~1的输出值是-2。( )
~1 = 1111 1110。( )
取X的低四位,可以用Y = 0000 1111,用X&Y获取X的低四位。( )
下列程序输出的是A。( )
char x=65;
x++;
cout<<x++<<endl;
下列程序输出的是 3。( )
string str="CHADai";
size_t pos = str.find('D');
cout<<pos<<endl;
下列程序将输出1。( )
int a[10]={1};
cout<<a[1]<<endl;
下列程序将输出A。( )
int a=65;
cout<<(char)a<<endl;
16进制数 AB,表⽰成2进制数是10101011。( )
def(十六进制) = 103231(五进制)。( )
编 编程操作题(共 2 题,共 50 分)
试题名称:平衡序列
时间限制:1.0 s | 内存限制:512.0 MB
输入格式
第⼀⾏包含⼀个正整数 ,代表测试⽤例组数。
接下来是 组测试⽤例。对于每组测试⽤例,⼀共两⾏。
第⼀⾏包含⼀个正整数 ,代表序列长度。
第⼆⾏包含 个正整数,代表序列 。
输出格式
对于每组测试⽤例,如果序列 是否是平衡的,输出 Yes,否则输出 No。
3.1.4 样例1
1 3
2 3
3 1 2 3
4 4
5 2 3 1 4
6 5
7 1 2 3 4 5
1 Yes
2 Yes
3 No
对于第⼀组测试⽤例,令 ,则有 ,因此序列是平衡的;
对于第⼆组测试⽤例,令 ,则有 ,因此序列是平衡的;
对于第三组测试⽤例,不存在满⾜要求的 。
对于全部数据,保证有 。
试题名称:回⽂拼接
时间限制:1.0 s | 内存限制:512.0 MB
输入格式
第⼀⾏包含⼀个正整数 ,代表字符串数量。
之后 ⾏每⾏⼀个仅包含⼩写字母的字符串。
输出格式
对于每个字符串输出⼀⾏,如果该字符串由两个长度⾄少为 的回⽂串前后拼接⽽成则输出 Yes,否则输出 No。
3.2.4 样例1
1 4
2 abcd
3 aabbb
4 aaac
5 abcdd
1 No
2 Yes
3 No
4 No
对于第 个字符串,都不是由两个长度⾄少为 的回⽂串前后拼接⽽成。
第 个字符串由回⽂串 和 前后拼接⽽成,并且两个回⽂串长度都⾄少为 。