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

2023年9月 GESP C++ 3级

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

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

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

// questions

题目预览

1
单选题2

人们所使用的手机上安装的 App 通常指的是( )。

A

一款操作系统

B

一款应用软件

C

一种通话设备

D

以上都不对

2
单选题2

下列流程图的输出结果是?( )

A

606060

B

202020

C

555

D

111

3
单选题2

已知大写字符 'A' 的 ASCII 编码的十六进制表⽰为 0x41,则字符 'L' 的 ASCII 编码的十六进制表⽰为( )。

A

4A

B

4B

C

4C

D

52

4
单选题2

以下哪个不是 C++ 语⾔中的运算符?( )

A

~

B

~~

C

<

D

<<

5
单选题2

如果数组定义为 long long array[] = {3, 5, 7, 2}; ,则数组 array 占用的字节数为( )。

A

323232

B

161616

C

888

D

444

6
单选题2

一个数组定义为 double array[3]; ,则可合理访问这个数组的元素的下标最大为( )。

A

222

B

333

C

232323

D

242424

7
单选题2

以下数组定义,符合 C++ 语⾔语法的是( )。

A

double a[];

B

double b[] = {1, 2.0, '3'};

C

double c[3.0];

D

double[] d = new double[3];

8
单选题2

下列关于进制的叙述,正确的是( )。

A

只有十进制和二进制能够用来表示小数,八进制和十六进制不可以。

B

常用的进制包括二进制、八进制、十进制、十六进制,其他进制在日常生活中很少使用。

C

对任意正整数,其二进制表示不会比它的十进制表示更短。

D

正整数的八进制表示中,每一位可能出现的最大数字是 888

9
单选题2

下列关于 C++ 语言中数组的叙述,不正确的是( )。

A

可以定义 000 个元素的数组。

B

不能定义 −1-11 个元素的数组。

C

数组下标越界访问会产生编译错误。

D

程序运行时发生数组下标的越界访问,程序依然可能正常结束。

10
单选题2

如果 aaaint 类型的变量,下列哪个表达式的值一定为 true?( )

A

a + 1000 - 1000 == a

B

a * 2 / 2 == a

C

(a & 1) == 1

D

(a | 1) == a + 1

11
单选题2

如果 aaabbb 均为 int 类型的变量,下列表达式不能正确判断“aaa 等于 bbb”的是( )。

A

((a >= b) && (a <= b))

B

((a >> 1) == (b >> 1))

C

((a + b) == (a + a))

D

((a ^ b) == 0)

12
单选题2

如果 aaachar 类型的变量,下列哪个表达式可以正确判断“aaa 是大写字母”?( )

A

a - 'A' <= 26

B

'A' <= a <= 'Z'

C

'A' <= 'a' <= 'Z'

D

('A' <= a) && (a <= 'Z')

13
单选题2

在下列代码的横线处填写( ),可以使得输出是“20 10”。

A

a = a >> 8; b = a & 0xff

B

b = a >> 8; a = a & 0xff;

C

a = b; b = a & 0xff;

D

b = a; a = b;

14
单选题2

在下列代码的横线处填写( ),可以使得输出是“120120120”。

A

res += array[i];

B

res *= array[i]

C

res = array[i]

D

以上均不对。

15
单选题2

在下列代码的输出是( )。

A

151515

B

282828

C

454545

D

555555

16
判断题2

二进制数 101.101101.101101.101 在十进制下是 5.0055.0055.005

17
判断题2

在 C++ 语言中,位运算符也有类似“先乘除、后加减”的优先级规则。因此,使用时应注意合理使用括号。

18
判断题2

字符常量 '3' 的值和 int 类型常量 333 的值是相同的,只是占用的字节数不同。

19
判断题2

在 C++ 语⾔中,长度为 nnn 的数组,访问下标为 nnn 的元素会引起编译错误。

20
判断题2

在 C++ 语言中,所有 int 类型的值,经过若干次左移操作(<<)后,它们的值总会变为 000

21
判断题2

在 C++ 语言中,数组下标的大小决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序无关。

22
判断题2

在 C++ 语言中,定义数组时,[] 中必须指定元素个数。

23
判断题2

著名的哥德巴赫猜想:任一大于 222 的偶数都可写成两个素数之和。我们可以通过枚举法来证明它。

24
判断题2

在 C++ 语言中,表达式 (0xff == 255) 的值为 true

25
判断题2

如果 aaaint 类型的变量,且表达式 ((a & 1) == 0) 的值为 true,则说明 aaa 是偶数。

GESP 编程操作题
26
编程题25

试题名称:小杨的储蓄

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

题目描述

小杨共有 NNN 个储蓄罐,编号从 000N−1N-1N1。从第 111 天开始,小杨每天都会往存钱罐里存钱。具体来说,第 iii 天他会挑选一个存钱罐 aia_iai,并存入 iii 元钱。过了 DDD 天后,他已经忘记每个储蓄罐里都存了多少钱了,你能帮帮他吗?

输入格式

输入 222 行,第一行两个整数 N,DN,DN,D;第二行 DDD 个整数,其中第 iii 个整数为 ai{a_i}ai(保证 0≤ai≤N−10 \le a_i \le N-10aiN1)。

每行的各个整数之间用单个空格分隔。

保证 1≤N≤1,0001 \le N \le 1,0001N1,0001≤D≤1,0001 \le D \le 1,0001D1,000

输出格式

输出 NNN 个用单个空格隔开的整数,其中第 iii 个整数表示编号为 i−1i-1i1 的存钱罐中有多少钱(i=1,⋯ ,Ni=1, \cdots ,Ni=1,,N)。

样例输入 #1

2 3
0 1 0

样例输出 #1

4 2

样例输入 #2

3 5
0 0 0 2 0

样例输出 #2

11 0 4

说明/提示

样例解释 1:

小杨在第 111 天、第 222 天、第 333 天分别向 000 号、 111 号、 000 号存钱罐存了 111 元钱、 222 元钱、 333 元钱,因此 000 号存钱罐有 1+3=41+3=41+3=4 元钱,而 111 号存钱罐有 222 元钱。

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

试题名称:进制判断

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

题目描述

NNN 进制数指的是逢 NNN 进一的计数制。例如,人们日常生活中大多使用十进制计数,而计算机底层则一般使用二进制。除此之外,八进制和十六进制在一些场合也是常用的计数制(十六进制中,一般使用字母 A 至 F 表示十至十五)。

现在有 NNN 个数,请你分别判断他们是否可能是二进制、八进制、十进制、十六进制。例如,15A6F 就只可能是十六进制,而 1011 则是四种进制皆有可能。

输入格式

输入的第一行为一个十进制表示的整数 NNN。接下来 NNN 行,每行一个字符串,表示需要判断的数。保证所有字符串均由数字和大写字母组成,可能以 000 开头。保证不会出现空行。

保证 1≤N≤10001 \le N \le 10001N1000,保证所有字符串长度不超过 101010

输出格式

输出 NNN 行,每行 444 个数,用空格隔开,分别表示给定的字符串是否可能表示一个二进制数、八进制数、十进制数、十六进制数。使用 111 表示可能,使用 000 表示不可能。

例如,对于只可能是十六进制数的 15A6F,就需要输出 0 0 0 1;而对于四者皆有可能的 1011,则需要输出 1 1 1 1

样例输入 #1

2
15A6F
1011

样例输出 #1

0 0 0 1
1 1 1 1

样例输入 #2

4
1234567
12345678
FF
GG

样例输出 #2

0 1 1 1
0 0 1 1
0 0 0 1
0 0 0 0

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