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

2024年9月 GESP C++ 1级

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

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

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

// questions

题目预览

1
单选题2

据有关资料,山东大学于 197219721972 年研制成功 DJL-1 计算机,并于 197319731973 年投入运行,其综合性能居当时全国第三位。DJL-1 计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为 2μs2\mu s2μs(微秒)。那么该磁心存储元件相当于现代计算机的( )。

A

内存

B

磁盘

C

CPU

D

显示器

2
单选题2

C++ 程序执行出现错误,不太常见的调试手段是( )。

A

阅读源代码

B

单步调试

C

输出执行中间结果

D

跟踪汇编码

3
单选题2

在 C++ 中,下列表达式错误的是( )。

A

cout << "Hello,GESP!" << endl;

B

cout << 'Hello,GESP!' << endl;

C

cout << """Hello,GESP!""" << endl;

D

cout << "Hello,GESP!' << endl;

4
单选题2

C++ 表达式 10 - 3 * 2 的值是( )。

A

141414

B

444

C

111

D

000

5
单选题2

在 C++ 中,假设 NNN 为正整数 101010,则 cout << (N / 3 + N % 3) 将输出( )。

A

666

B

4.34.34.3

C

444

D

222

6
单选题2

C++ 语句 printf("6%2={%d}", 6%2) 执行后的输出是( )。

A

"6%2={6%2}"

B

6%2={6%2}

C

0=0

D

6%2={0}

7
单选题2

成功执行下面的 C++ 代码,先后从键盘上输入 555 回车和 222 回车,输出是( )。

cin >> a;
cin >> b;
cout << a + b;
A

将输出整数 777

B

将输出 525252555222 之间没有空格

C

将输出 555222555222 之间有空格

D

执行结果不确定,因为代码段没有显⽰ aaabbb 的数据类型

8
单选题2

下面 C++ 代码执行后输出是( )。

int Sum = 0;
for (int i = 0; i < 10; i++)
    Sum += i;
cout << Sum;
A

555555

B

454545

C

101010

D

999

9
单选题2

下面 C++ 代码执行后输出的是( )。

int N = 0;
for (int i = 0; i < 10; i++)
    N += 1;
cout << N;
A

555555

B

454545

C

101010

D

999

10
单选题2

下面 C++ 代码执行后输出的是( )。

int N = 0;
for (int i = 1; i < 10; i += 2) {
    if (i % 2 == 1)
        continue;
    N += 1;
}
cout << N;
A

555

B

444

C

222

D

000

11
单选题2

下面 C++ 代码执行时输入 14+7 后,正确的输出是( )。

int P;
printf("请输入正整数P: ");
scanf("%d", &P);
if (P % 3 || P % 7)
    printf("第5行代码%d, %d", P % 3, P % 7);
else
    printf("第7行代码%2d", P % 3 && P % 7);
A

第 5 行代码 2, 0

B

第 5 行代码 1, 0

C

第 7 行代码 1

D

第 7 行代码 0

12
单选题2

执行下面 C++ 代码后得到的输出是( )。

int count = 0, i, s;
for (i = 0, s = 0; i < 20; i++, count++)
    s += i++;
cout << s << " " << count;
A

190190190 202020

B

959595 101010

C

909090 191919

D

909090 101010

13
单选题2

下面 C++ 代码拟用于计算整数 NNN 的位数,比如对 123123123 则输出 123 是 3 位整数,但代码中可能存在 bug。下面有关描述正确的是( )。

int N, N0, rc=0;
cout << "请输入整数:";
cin >> N;
N0 = N;
while (N){
    rc++;
    N /= 10;
}
printf("%d是%d位整数\n", N, rc); // L11
A

变量 N0 占用额外空间,可以去掉

B

代码对所有整数都能计算出正确位数

C

L11 标记的代码行简单修改后可以对正整数给出正确输出

D

L11 标记的代码行的输出格式有误

14
单选题2

下面的 C++ 代码用于求连续输入的若干个正五位数的百位数之和。例如输入 32488 25731 41232 0,则输出 3 个正五位数的百位数之和为 13。有关描述错误的是( )。

int M, Sum=0, rc=0;
cout << "请输入正整数:";
cin >> M;
while (M){
    M = (M / 100 % 10); // L6
    Sum += M;
    rc++;
    cin >> M;
}
cout << rc << "个正五位数的百位数之和为" << Sum;
A

执行代码时如果输入 23221 23453 12345 11111 0,则最后一行 Sum 的值是 101010

B

执行代码时如果输入 2322 2345 1234 1111 0,程序也能运行

C

将代码标记为 L6 那行改为 M = (M % 1000 / 100);,同样能实现题目要求

D

将代码标记为 L6 那行改为 M = (M % 100 / 10);,同样能实现题目要求

15
单选题2

如果一个正整数 NNN 能够表示为 X×(X+1)X \times (X+1)X×(X+1) 的形式,这里称它是一个“兄弟数”。例如,输入 666,则输出“666 是一个兄弟数”。下面 C++ 代码用来判断 NNN 是否为一个“兄弟数”,在横线处应填入的代码可从 i)-iv) 中选择,则有几个能完成功能?( )。

int N;
cin >> N;
for(int i = 0; i <= N; i++)
    if(___________________)
        cout << N << "是一个兄弟数\n";
i) N==i*(i+1) ii) N==i*(i-1) iii) N/(i+1)==i iv) N/(i-1)==i
A

111

B

222

C

333

D

444

16
判断题2

小杨最近开始学习 C++ 编程,老师说 C++ 是一门面向对象的编程语言,也是一门高级语言。( )

17
判断题2

在 C++ 中,表达式 10/410%4 的值相同,都是整数 222,说明 /% 可以互相替换。( )

18
判断题2

NNN 是 C++ 程序中的整型变量,则语句 scanf("%d", &N) 能接收形如正整数、负整数和 000 输入,但如果输入含字母或带小数点数,将导致无法执行。 ( )

19
判断题2

下面 C++ 代码能够执行,则将输出 454545。( )

for (int i = 0; i < 10; i++)
    Sum += i;
cout << Sum;
20
判断题2

在 C++ 代码中整型变量 XXX 被赋值为 20.2420.2420.24,则 cout << (X++, X+1) / 10 执行后输出的是 2.1242.1242.124。( )

21
判断题2

下面 C++ 代码执行后,最后一次输出是 101010。( )

for (int i = 1; i < 10; i+=3)
    cout << i << endl;
22
判断题2

在 C++ 中,break 语句通常与 if 语句配合使用。( )

23
判断题2

在 C++ 代码中,不可以将变量命名为 five-star,因为变量名中不可以出现 -(减号)符号。( )

24
判断题2

在 C++ 语言中,整型、实数型、字符型、布尔型是不同数据类型,但这四种类型的变量间都可以比较大小。( )

25
判断题2

C++ 中,定义变量 int a=5,b=4,c=3,则表达式 (a<b<c) 的值为逻辑假。 ( )

GESP 编程操作题
26
编程题25

试题名称:小杨购物

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

题目描述

小杨有 nnn 元钱用于购物。商品 A 的单价是 aaa 元,商品 B 的单价是 bbb 元。小杨想购买相同数量的商品 A 和商品 B。

请你编写程序帮助小杨计算出他最多能够购买多少个商品 A 和商品 B。

输入格式

第一行包含一个正整数 nnn,代表小杨用于购物的金额。

第二行包含一个正整数 aaa,代表商品 A 的单价。

第三行包含一个正整数 bbb,代表商品 B 的单价。

输出格式

输出一行,包含一个整数,代表小杨最多能够购买的商品 A 和商品 B 的数量。

样例输入 #1

12
1
2

样例输出 #1

4

样例输入 #2

13
1
2

样例输出 #2

4

说明/提示

样例 1 解释

对于样例 1,由于需要购买相同数量的两种商品,因此⼩杨最多能够购买 444 件商品 AAA444 件商品 BBB,共花费 1×4+2×4=121 \times 4 + 2 \times 4 = 121×4+2×4=12 元。因此,样例 1 的答案为 444

样例 2 解释

对于样例 1,由于需要购买相同数量的两种商品,因此⼩杨最多能够购买 444 件商品 AAA444 件商品 BBB,共花费 1×4+2×4=121 \times 4 + 2 \times 4 = 121×4+2×4=12 元。因此,样例 1 的答案为 444。如果小杨想购买 555 件商品 AAA 和商品 BBB,则需要花费 1×5+2×5=151 \times 5 + 2 \times 5 = 151×5+2×5=15 元,超过了小样的预算 131313 元。因此,样例 2 答案为 444

数据规模与约定

对全部的测试数据,保证 1≤n,a,b≤1051 \leq n,a,b \leq 10^51n,a,b105

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

试题名称:美丽数字

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

题目描述

小杨有 nnn 个正整数,他认为一个正整数是美丽数字当且仅当该正整数是 999 的倍数但不是 888 的倍数。

小杨想请你编写一个程序计算 nnn 个正整数中美丽数字的数量。

输入格式

第一行包含一个整数 nnn,代表正整数个数。
第二行有 nnn 个正整数 a1,a2,…ana_1, a_2, \dots a_na1,a2,an

输出格式

输出一个整数,表示其中美丽数字的数量。

样例输入 #1

3
1 9 72

样例输出 #1

1

说明/提示

样例 1 解释

  • 111 既不是 999 的倍数也不是 888 的倍数。
  • 999999 的倍数不是 888 的倍数。
  • 727272 既是 999 的倍数又是 888 的倍数。

数据规模与约定

对全部的测试数据,保证 1≤n,ai≤1051 \leq n, a_i \leq 10^51n,ai105

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