2024年9月CCF—GESP(C++三级)编程能力等级认证试卷
剩余时间 --:--:--
单选题 共 15 题
1.

关于计算机中的编码,下列说法中正确的是()

2.

下面的程序中,会输出( )。

int a[10]={1,2,3,4,5,6,7,8,9,10};
cout<<a[10]<<endl;
3.

下列说法正确的是()

4.

下列程序输出的是()

string str = "Hello,陈A歹";
cout << str.find("A") << '\n';
5.

a=1010 1110,a<<2,下面关于这个说法正确的是 ( )。

6.

陈A歹种植一批农作物,第一天需要浇水一次,随后的两天(第2、第3天),每天需要浇水2次,再随后的3天(第4、第5、第6天),需要每天浇水3次,这样持续下去,随后的n天,每天需要浇水n次。请问在100天里,总共浇了多少次水( )

7.

8进制数3703转换成16进制数是()

8.

下列代码中,输出结果是( )

#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;
	}
}
9.

下列程序中,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;
10.

关于一维数组,下列程序能够正确执行的是( )。

11.

有ABCD4个人,其中一个是小偷,每个人说一句话,只有小偷说的是假话,其中A说:不是我。B说:是C。C说:是D。D说:C瞎说,请问谁是小偷( )。


12.

0.8125变成二进制是( )。

13.

下面说法正确的是( )

14.

a&~1运算实现的是( )。

15.

下列代码实现的是( )

void Swap(int &a, int &b) {
	if (a != b) {
		a ^= b;
		b ^= a;
		a ^= b;
	}
}
判断题 共 12 题
1.

取 X 的低四位,可以用 Y = 0000 1111 ,用 X&Y 获取 X 的低四位。( )

2.

+1和-1的原码进行1+(-1)计算的结果是-2 。( )

3.

下列程序将输出 1 。( )

int a[10]={1};
cout<<a[1]<<endl;
4.

16进制数 AB ,表示成2进制数是 10101011 。( )

5.

下列程序输出的是 3 。( )

string str="陈ADai";
size_t pos = str.find('D');
cout<<pos<<endl;
6.

~1 = 1111 1110 。( )

7.

下列程序输出的是 A 。( )

char x=65;
x++;
cout<<x++<<endl;
8.

下列程序将输出 A 。( )

int a=65;
cout<<(char)a<<endl;
9.

def (十六进制) = 103231 (五进制)。( )

10.

~1 的输出值是 -2 。( )

11.

回文拼接

时间限制:1.0 s

内存限制:512.0 MB

题面描述

一个字符串是回文串,当且仅当该字符串从前往后读和从后往前读是一样的,例如,aabaa 和 ccddcc 都是回文串,但 abcd 不是。

小杨有 n 个仅包含小写字母的字符串,他想请你编写程序判断每个字符串是否由两个长度至少为 2 的回文串前后拼接而成。

输入格式

第一行包含一个正整数 n ,代表字符串数量。

之后 n nn 行每行一个仅包含小写字母的字符串。

输出格式

对于每个字符串输出一行,如果该字符串由两个长度至少为 2 的回文串前后拼接而成则输出 Yes,否则输出 No。


输入样例

4
abcd
aabbb
aaac
abcdd

输入样例

No
Yes
No
No

对于第 1,3,4 个字符串,都不是由两个长度至少为 2 的回文串前后拼接而成。

第 2 个字符串由回文串 aa 和 bbb 前后拼接而成,并且两个回文串长度都至少为 2 。

对于全部数据,保证有 1≤n≤10,并且每个字符串的长度不超过 100。

12.

平衡序列

时间限制:1.0 s

内存限制:512.0 MB

题面描述

小杨有一个包含n 个正整数的序列a ,他认为一个序列是平衡的当且仅当存在一个正整数i(1≤i<n) 使得序列第1个到第i个数字的总和等于第i+1 个到第n个数字的总和。

小杨想请你判断序列a是否是平衡的。

输入格式

第一行包含一个正整数t,代表测试用例组数。

接下来是t组测试用例。对于每组测试用例,一共两行。

第一行包含一个正整数n,代表序列长度。

第二行包含n个正整数,代表序列a。

输出格式

对于每组测试用例,如果序列a是否是平衡的,输出 Yes,否则输出 No。


输入样例

3
3
1 2 3
4
2 3 1 4
5
1 2 3 4 5

输出样例

Yes
Yes
No


对于第一组测试用例,令 i=2,则有 1+2=3,因此序列是平衡的;

对于第二组测试用例,令 i=2,则有 2+3=1+4,因此序列是平衡的;

对于第三组测试用例,不存在满足要求的i。

对于全部数据,保证有 1≤t≤100,1≤n,ai≤10000。

C++ 编辑器
输入
输出