2024年9月 GESP C++ 3级
2024年9月 GESP C++ 3级认证考试真题(含编程操作题部分)
// questions
题目预览
下列代码中,输出结果是( )
#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;
}
}
Equal
Not equal
程序不能正确执行
没有输出
关于计算机中的编码,下列说法中正确的是()
机器数的形式值和真值是一致的
原码就是符号位加上真值
机器数是带符号的
[−1]=[1000 0001]原=[1111 1111]反[-1]=[1000\ 0001]_{\text{原}}=[1111\ 1111]_{\text{反}}[−1]=[1000 0001]原=[1111 1111]反
888 进制数 370337033703 转换成 161616 进制数是()
7C37C37C3
7A37A37A3
7B37B37B3
7D37D37D3
0.81250.81250.8125 变成二进制是( )。
0.11100.11100.1110
0.1 1111 1011 11010.1\ 1111\ 1011\ 11010.1 1111 1011 1101
0.1 1111 1011 11000.1\ 1111\ 1011\ 11000.1 1111 1011 1100
0.11010.11010.1101
下面说法正确的是( )
(22 & 01) == (22 && 01) 成立
(23 | 11) == 30
(23 | 10) == 31
(23 | 01) == 31
下列说法正确的是()
2 >> 1 和 1 >> 1 的值是一样的
(2 >> 2) 和 (1 >> 1) 的值是一样的
(11 ^ 00) 和 (1 ^ 0) 的值是一样的
(~0) 的输出值是 111
下列代码实现的是( )
void Swap(int &a, int &b) {
if (a != b) {
a ^= b;
b ^= a;
a ^= b;
}
}
aaa 和 bbb 的异或
aaa 和 bbb 的同或
aaa 和 bbb 的值交换
aaa 和 bbb 的高低位互换
aaa & ~111 运算实现的是( )。
使 aaa 的最低位为 111
使 aaa 的最高位为 111
使 aaa 的最低位为 000
使 aaa 的最高位为 000
a=1010 1110a = 1010\ 1110a=1010 1110,a << 2,下面关于这个说法正确的是( )。
aaa 的值变为 1011 10001011\ 10001011 1000
aaa 的值变为 1011 10101011\ 10101011 1010
aaa 的值变为 0101 11010101\ 11010101 1101
aaa 的值变为 0101 11000101\ 11000101 1100
下列程序中,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;
123123123 −1-1−1
123123123 −123-123−123
111 −1-1−1
111 −123-123−123
陈 A 歹种植一批农作物,第一天需要浇水一次,随后的两天(第 2、第 3 天),每天需要浇水 2 次,再随后的 3 天(第 4、第 5、第 6 天),需要每天浇水 3 次,这样持续下去,随后的 nnn 天,每天需要浇水 nnn 次。请问在 100 天里,总共浇了多少次水( )
994
996
995
945
关于一维数组,下列程序能够正确执行的是( )。
int a[10];
int sum=0;
for(int i=0;i<=10;i++) {
sum=sum+a[i];
}
int a[10]={1,2,3,4,5,6,7,8,9,10};
int sum=0;
for(int i=0;i<=10;i++) {
sum=sum+a[i];
}
int a[10]={1,2,3,4,5,6,7,8,9,10};
int sum=0;
for(int i=0;i<10;i++) {
sum=sum+a[i];
}
int a[10]={0};
int sum=0;
for(int i=0;i<=10;i++) {
sum=sum+a[i];
}
下面的程序中,会输出( )。
int a[10]={1,2,3,4,5,6,7,8,9,10};
cout<<a[10]<<endl;
111
000
101010
不确定的值
有 AAA BBB CCC DDD 444 个人,其中一个是小偷,每个人说一句话,只有小偷说的是假话,其中 AAA 说:不是我。BBB 说:是 CCC 。CCC 说:是 DDD 。DDD 说:CCC 瞎说,请问谁是小偷( )。
AAA
BBB
CCC
DDD
下列程序输出的是()
string str = "Hello,CHAD";
cout << str.find("A") << '\n';
999
888
777
666
+1+1+1 和 −1-1−1 的原码进行 1+(−1)1 + (-1)1+(−1) 计算的结果是 −2-2−2。( )
~1 的输出值是 −2-2−2。( )
~1 = 1111 1110。( )
取 XXX 的低四位,可以用 Y=0000 1111Y = 0000\ 1111Y=0000 1111,用 X & Y 获取 XXX 的低四位。( )
下列程序输出的是 A。( )
char x=65;
x++;
cout<<x++<<endl;
下列程序输出的是 333。( )
string str="CHADai";
size_t pos = str.find('D');
cout<<pos<<endl;
下列程序将输出 111。( )
int a[10]={1};
cout<<a[1]<<endl;
下列程序将输出 A。( )
int a=65;
cout<<(char)a<<endl;
16 进制数 AB,表示成 2 进制数是 10101011。( )
def(十六进制) = 103231(五进制)。( )
试题名称:平衡序列
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
小杨有一个包含 nnn 个正整数的序列 aaa。他认为一个序列是平衡的当且仅当存在一个正整数 iii(1≤i<n1 \leq i < n1≤i<n)使得序列第 111 到第 iii 个数字的总和等于第 i+1i + 1i+1 到第 nnn 个数字的总和。
小杨想请你判断序列 aaa 是否是平衡的。
输入格式
本题单个测试点内包含多组测试数据。第一行是一个正整数 ttt,表示测试用例组数。
接下来是 ttt 组测试用例。对每组测试用例,一共两行。
第一行包含一个正整数 nnn,表示序列长度。
第二行包含 nnn 个正整数,代表序列 aaa。
输出格式
对每组测试用例输出一行一个字符串。如果 aaa 是平衡的,输出 Yes\texttt{Yes}Yes,否则输出 No\texttt{No}No。
样例输入 #1
3
3
1 2 3
4
2 3 1 4
5
1 2 3 4 5
样例输出 #1
Yes
Yes
No
说明/提示
样例 1 解释
- 对第一组测试用例,令 i=2i = 2i=2,有 1+2=31 + 2 = 31+2=3,因此序列是平衡的。
- 对第二组测试用例,令 i=2i = 2i=2,有 2+3=1+42 + 3 = 1 + 42+3=1+4,因此序列是平衡的。
- 对第三组测试用例,不存在满足要求的 iii。
数据规模与约定
对全部的测试数据,保证 1≤t≤1001 \leq t \leq 1001≤t≤100,1≤n,ai≤100001 \leq n, a_i \leq 100001≤n,ai≤10000。
试题名称:回文拼接
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
一个字符串是回文串,当且仅当该字符串从前往后读和从后往前读是一样的,例如,aabaa\texttt{aabaa}aabaa 和 ccddcc\texttt{ccddcc}ccddcc 都是回文串,但 abcd\texttt{abcd}abcd 不是。
小杨有 nnn 个仅包含小写字母的字符串,他想请你编写程序判断每个字符串是否由两个长度至少为 222 的回文串前后拼接而成。
输入格式
第一行包含一个正整数 nnn,代表字符串数量。
接下来 nnn 行,每行一个仅包含小写字母的字符串。
输出格式
对于每个字符串输出一行,如果该字符串由两个长度至少为 222 的回文串前后拼接而成则输出 Yes,否则输出 No。
样例输入 #1
4
abcd
aabbb
aaac
abcdd
样例输出 #1
No
Yes
No
No
说明/提示
样例 1 解释
对于第 1,3,41,3,41,3,4 个字符串,都不是由两个长度至少为 222 的回文串前后拼接而成。 第 222 个字符串由回文串 aa\texttt{aa}aa 和 bbb\texttt{bbb}bbb 前后拼接而成,并且两个回文串长度都至少为 222。
数据规模与约定
对全部的测试数据,保证 1≤n≤101 \leq n \leq 101≤n≤10,且每个字符串的长度均不超过 100100100。