信奥刷题站
GESP 认证 3级2024-09

2024年9月 GESP C++ 3级

题量
27 题
客观题
25 题
建议时长
60 分钟
卷面总分
100 分

2024年9月 GESP C++ 3级认证考试真题(含编程操作题部分)

开始整卷模拟计时作答 · 交卷即时判分 · 错题自动进错题本(需登录)2 道编程大题:在线只判客观题,编程题请自行前往洛谷等 OJ 提交验证

// questions

题目预览

1
单选题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;
    }
}
A

Equal

B

Not equal

C

程序不能正确执行

D

没有输出

2
单选题2

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

A

机器数的形式值和真值是一致的

B

原码就是符号位加上真值

C

机器数是带符号的

D

[−1]=[1000 0001]原=[1111 1111]反[-1]=[1000\ 0001]_{\text{原}}=[1111\ 1111]_{\text{反}}[1]=[1000 0001]=[1111 1111]

3
单选题2

888 进制数 370337033703 转换成 161616 进制数是()

A

7C37C37C3

B

7A37A37A3

C

7B37B37B3

D

7D37D37D3

4
单选题2

0.81250.81250.8125 变成二进制是( )。

A

0.11100.11100.1110

B

0.1 1111 1011 11010.1\ 1111\ 1011\ 11010.1 1111 1011 1101

C

0.1 1111 1011 11000.1\ 1111\ 1011\ 11000.1 1111 1011 1100

D

0.11010.11010.1101

5
单选题2

下面说法正确的是( )

A

(22 & 01) == (22 && 01) 成立

B

(23 | 11) == 30

C

(23 | 10) == 31

D

(23 | 01) == 31

6
单选题2

下列说法正确的是()

A

2 >> 11 >> 1 的值是一样的

B

(2 >> 2)(1 >> 1) 的值是一样的

C

(11 ^ 00)(1 ^ 0) 的值是一样的

D

(~0) 的输出值是 111

7
单选题2

下列代码实现的是( )

void Swap(int &a, int &b) {
    if (a != b) {
        a ^= b;
        b ^= a;
        a ^= b;
    }
}
A

aaabbb 的异或

B

aaabbb 的同或

C

aaabbb 的值交换

D

aaabbb 的高低位互换

8
单选题2

aaa & ~111 运算实现的是( )。

A

使 aaa 的最低位为 111

B

使 aaa 的最高位为 111

C

使 aaa 的最低位为 000

D

使 aaa 的最高位为 000

9
单选题2

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

A

aaa 的值变为 1011 10001011\ 10001011 1000

B

aaa 的值变为 1011 10101011\ 10101011 1010

C

aaa 的值变为 0101 11010101\ 11010101 1101

D

aaa 的值变为 0101 11000101\ 11000101 1100

10
单选题2

下列程序中,resultresult2 输出分别是( )

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

123123123 −1-11

B

123123123 −123-123123

C

111 −1-11

D

111 −123-123123

11
单选题2

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

A

994

B

996

C

995

D

945

12
单选题2

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

A
int a[10];
int sum=0;
for(int i=0;i<=10;i++) {
    sum=sum+a[i];
}
B
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];
}
C
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];
}
D
int a[10]={0};
int sum=0;
for(int i=0;i<=10;i++) {
    sum=sum+a[i];
}
13
单选题2

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

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

111

B

000

C

101010

D

不确定的值

14
单选题2

AAA BBB CCC DDD 444 个人,其中一个是小偷,每个人说一句话,只有小偷说的是假话,其中 AAA 说:不是我。BBB 说:是 CCCCCC 说:是 DDDDDD 说:CCC 瞎说,请问谁是小偷( )。

A

AAA

B

BBB

C

CCC

D

DDD

15
单选题2

下列程序输出的是()

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

999

B

888

C

777

D

666

16
判断题2

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

17
判断题2

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

18
判断题2

~1 = 1111 1110。( )

19
判断题2

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

20
判断题2

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

char x=65;
x++;
cout<<x++<<endl;
21
判断题2

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

string str="CHADai";
size_t pos = str.find('D');
cout<<pos<<endl;
22
判断题2

下列程序将输出 111。( )

int a[10]={1};
cout<<a[1]<<endl;
23
判断题2

下列程序将输出 A。( )

int a=65;
cout<<(char)a<<endl;
24
判断题2

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

25
判断题2

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

GESP 编程操作题
26
编程题25

试题名称:平衡序列

时间限制:1.0 s | 内存限制:512.0 MB

题目描述

小杨有一个包含 nnn 个正整数的序列 aaa。他认为一个序列是平衡的当且仅当存在一个正整数 iii1≤i<n1 \leq i < n1i<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 1001t1001≤n,ai≤100001 \leq n, a_i \leq 100001n,ai10000

本题为编程大题:请复制题面到洛谷 / GESP OJ 等平台编写并提交代码(本站不判分)
27
编程题25

试题名称:回文拼接

时间限制:1.0 s | 内存限制:512.0 MB

题目描述

一个字符串是回文串,当且仅当该字符串从前往后读和从后往前读是一样的,例如,aabaa\texttt{aabaa}aabaaccddcc\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}aabbb\texttt{bbb}bbb 前后拼接而成,并且两个回文串长度都至少为 222

数据规模与约定

对全部的测试数据,保证 1≤n≤101 \leq n \leq 101n10,且每个字符串的长度均不超过 100100100

本题为编程大题:请复制题面到洛谷 / GESP OJ 等平台编写并提交代码(本站不判分)