Logo

2024年6月 GESP C++ 1级

GESP · 1级 · 2024-06

60:00
满分 100
时长 60 分钟
27

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

答题卡 已答 0/27
已答 正确 错误 编程题

单选题(共 15 题,每题 2 分)

1

在 C++ 中,下列不可做变量的是( )。

2

C++ 表达式 3 - 3 * 3 / 5 的值是( )。

3

在 C++ 中,假设 $N$ 为正整数,则表达式 cout << (N % 3 + N % 7) 可能输出的最大值是( )。

4

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

5

对整型变量 $i$,执行 C++ 语句 cin >> i, cout << i 时如果输入 5+2,下述说法正确的是( )。

6

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

float a;
a = 101.101;
a = 101;
printf("a+1={%.0f}", a+1);
7

表达式 9/4 - 6 % (6 - 2) * 10 的值是( )。

8

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

int N;
cout << "请输入正整数:";
cin >> N;
if (N % 3)
    printf("第5行代码%2d", N % 3);
else
    printf("第6行代码%2d", N % 3);
9

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

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

下面 C++ 代码用于判断 $N$ 是否为质数(只能被 $1$ 和它本身整除的正整数)。程序执行后,下面有关描述正确的是( )。

int N;
cout << "请输入整数:";
cin >> N;
bool Flag = false;
if (N >= 2){
    Flag = true;
    for (int i=2; i < N; i++)
        if (N % i == 0){
            Flag = false;
            break;
        }
}
if(Flag)
    cout << "是质数";
else
    cout << "不是质数";
11

下面的 C++ 代码用于求 $1 \sim N$ 之间所有奇数之和,其中 $N$ 为正整数,如果 $N$ 为奇数,则求和时包括 $N$。有关描述错误的是( )。

int N;
cout << "请输入正整数:";
cin >> N;
int i = 1, Sum = 0;
while (i <= N){
    if (i % 2 == 1)
        Sum += i;
    i += 1;
}
cout << i << " " << Sum;
12

如果一个整数 $N$ 能够表示为 $X \times X$ 的形式,那么它就是一个完全平方数,下面 C++ 代码用于完成判断 $N$ 是否为
一个完全平方数,在横线处应填入的代码是( )。

int N;
cin >> N;
for(int i = 0; i <= N; i++)
    if(___________________)
        cout << N << "是一个完全平方数\n";
13

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

int cnt=0;
for(int i = 0; i*i < 64; i+=2)
    cnt++;
cout << cnt;
14

小杨父母带他到某培训机构给他报名参加 CCF 组织的 GESP 认证考试的第 1 级,那他可以选择的认证语言有几种?( )

15

ENIAC 于 1946 年投入运行,是世界上第一台真正意义上的计算机,它的主要部件都是( )组成的。

判断题(共 10 题,每题 2 分)

16

在 C++ 代码中变量 $X$ 被赋值为 $16.44$,则 cout << X / 10 执行后输出的一定是 $1$。( )

17

C++ 的整型变量 $N$ 被赋值为 $10$,则语句 cout << N / 4 << "->" << N % 4 << "->" << N / 4.0 执行后输出是 2->2->2.0。 ( )

18

定义 C++ 的 float 型变量 $N$ ,则语句 cin >> N; cout << int(float(N)) 可以输入正负整数和浮点数,并将其转换为整数后输出。( )

19

C++ 的整型 $N$ 被赋值为 $5$,语句 printf("%d*2", N) 执行后将输出 $10$。( )

20

在 C++ 中,break 语句用于终止当前层次的循环,循环可以是 for 循环,也可以是 while 循环。( )

21

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

22

在 C++ 代码中,不可以将变量命名为 printf,因为 printf 是 C++ 语言的关键字。( )

23

在 C++ 中有整型变量 $N$,则表达式 N += 8/4//2 相当于 N += 8/(4/2)。( )

24

C++ 中定义变量 int N,则表达式 (!!N) 的值也是 $N$ 的值。 ( )

25

GESP 测试是对认证者的编程能力进行等级认证,同一级别的能力基本上与编程语言无关。( )

编程操作题(共 2 题,共 50 分)

26
编程操作题 25分

试题名称:休息时间

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

题目描述

小杨计划在某个时刻开始学习,并决定在学习 $k$ 秒后开始休息。

小杨想知道自己开始休息的时刻是多少。

输入格式

前三行每行包含一个整数,分别表示小杨开始学习时刻的时 $h$、分 $m$、秒 $s$($h,m, s$ 的值符合
$1 \le h \le 12,0 \le m\le 59,0 \le s\le59$)。

第四行包含一个整数 $k$,表示小杨学习的总秒数(注:$k$ 的值符合 $1 \le k \le 3600$)。

输出格式

输出一行,包含三个整数,分别表示小杨开始休息时刻的时、分、秒。

样例输入 #1

12
59
59
10

样例输出 #1

13 0 9

说明/提示

小杨在时刻 12:59:59 开始学习,学习 10 秒后开始休息,即在 13:0:9 时刻开始休息。

对于全部数据,保证有 $1 \le h \le 12$,$0 \le m\le 59$,$0 \le s\le 59$,$1 \le k \le 3600$。

27
编程操作题 25分

试题名称:立方数

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

题目描述

小杨有一个正整数 $n$,他想知道 $n$ 是否是一个立方数。一个正整数 $n$ 是立方数当且仅当存在一个正整数 $x$ 满足 $x\times x\times x=n$ 。

输入格式

第一行包含一个正整数 $n$。

输出格式

如果正整数 $n$ 是一个立方数,输出 Yes,否则输出 No

样例输入 #1

8

样例输出 #1

Yes

样例输入 #2

9

样例输出 #2

No

说明/提示

对于样例 1,存在正整数 $2$ 使得 $8=2\times 2\times 2$ ,因此 $8$ 为立方数。

对于样例 $2$,不存在满足条件的正整数,因此 $9$ 不为立方数。

对于全部数据,保证有 $1 \le n \le 1000$。

已答 0/27