Logo

2024年9月 GESP C++ 2级

GESP · 2级 · 2024-09

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

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

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

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

1

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

2

IPv4版本的因特网总共有( )个A类地址网络。

3

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

4

在C++中,与for (int i = 1; i < 10; i++)效果相同的是( )。

5

在C++中,cout << (5 / 2 + 5 % 3)的输出是( )。

6

假定变量a和b可能是整型、字符型或浮点型,则下面C++代码执行时先后输入-2和3.14后,其输出不可能
是( )。[已知字符'+'、'-'、'='的ASCII码值分别是43、45和61]

cin >> a;
cin >> b;
cout << (a + b);
7

在C++代码中假设N为正整数,则下面代码能获得个位数的是( )。

8

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

int i;
for (i = 0; i < 10; i++){
    if (i % 2)
    break;
    cout << "0#";
}
if(i==10) cout << "1#";
9

执行下面C++代码并输入1和0,有关说法正确的是( )。

int a,b;
cin >> a >> b;
if(a&&b)
cout << ("1");
else if(!(a||b))
cout << ("2");
else if(a || b)
cout << ("3");
else
cout << ("4");
10

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

int loopCount = 0;
for (int i = 1; i < 5; i += 2)
loopCount += 1;
cout << (loopCount);
11

下图是C++程序执行后的输出。为实现其功能,横线处应填入代码是( )。

7
1
2 3
3 4 5
4 5 6 7
5 6 7 8 9
6 7 8 9 10 11
7 8 9 10 11 12 13
//////////////////////////////
int lineNum;
cin >> lineNum;
for (int i= 1; i < lineNum+1; i++){
    for(int __________________)
    cout << j << " ";
    cout << endl;
}
12

下面C++代码执行后输出逆序数,如输入123则输出321。如输入120则输出21。横线处先后应填入的
代码是( ) 。

int N;
cin >> N;
int rst = 0;
while (N){
    ____________________;
    ____________________;
}
cout << (rst);
13

下面的C++代码用于输入学生成绩,并根据⼈数计算出平均成绩,有关说法错误的是( )。

float Sum = 0; // 保存总成绩
int cnt = 0; // 保存学生人数
while (1){
    int score;
    cin >> score;
    if (score < 0)
    break;
    cnt += 1;
    Sum += score;
}
cout << "总学生数:" << cnt << "平均分:" << Sum/cnt;
14

以下C++代码判断输入的正整数是否为质数,如果该数字是质数,则输出YES,否则输出NO。质数是指仅
能被1和它本身整除的正整数。请在横线上填写代码。( )

int num, i;
cin >> num;
for(i = 2; i < num; i++)
if (__________){
    cout << ("NO");
    break;
}
if(i == num)
cout << ("YES");
15

一个数如果能被某个数(比如7)整除,或者含有该数,则说该数是某个数的相关数。下面C++代码用于判
定输入的数与7是否有关。下列说法错误的是( )。

int N, M;
bool Flag = false;
cin >> N;
M = N;
if (M % 7 == 0)
Flag = true;
while (!Flag && M){
    if (M % 10 == 7){
        Flag = true;
        break;
    }
    M /= 10;
}
if (Flag)
cout << N << "与7有关";
else
cout << N << "与7无关";

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

16

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

17

在C++中,cout << (3, 4, 5)可以输出3 4 5,且每个输出项之间用空格分开。( )

18

C++表达式12 % 10 % 10的值为2。( )

19

C++语句cout << rand() << ' ' << rand();的第二个输出值较大。( )

20

定义C++的int类型的变量ch,⽽且值为'1',则语句cout << int(ch);的输出为1。( )

21

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

int i;
for (i = 0; i < 10; i++)
continue;
if(i == 10)
cout << i;
22

下面C++代码能求整数N和M之间所有整数之和,包含N和M。( )

int N, M, Sum;
cin >> N >> M;
if (N > M){
    int tmp = N;
    N = M, M = tmp;
}
for (int i = N; i < M+1; i++)
Sum += i;
cout << Sum;
23

将下面C++代码中的L3标记的代码行调整为for (int i = 0; i < 5; i++)后输出结果相同。( )

int loopCount = 0;
for (int i = 1; i < 5; i++) // L3
for (int j = 0; j < i; j++)
loopCount += 1;
cout << loopCount;
24

某一系列数据的规律是从第3个数值开始是前两个数之和。下面的代码求第N个数的值,N限定为大于2。(

int start1; // 第1个数
int start2; // 第2个数
int N; //求N个数的值
int tmp;
cin >> start1 >> start2 >> N;
for (int i = 2; i < N; i++){
    tmp = start1 + start2;
    start1 = start2;
    start2 = tmp;
}
cout << start2;
25

下面C++代码执行时如果输入2024,则输出是4202。( )

int N, flag=0;
cin >> N;
while (N){
    if(!flag) cout << N % 10;
    N /= 10;
    flag = (flag + 1)%2;
}

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

26
编程操作题 25分

试题名称:数位之和

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

输入格式

第⼀⾏包含⼀个正整数 ,代表正整数个数。
之后 ⾏,每⾏包含⼀个正整数。

输出格式

对于每个正整数,如果是美丽数字则输出 Yes,否则输出 No。
3.1.4 样例1
1 3
2 7
3 52
4 103

27
编程操作题 25分

试题名称:⼩杨的

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

输入格式

第⼀⾏包含⼀个正整数 。

输出格式

输出对应的 N 字矩阵。
3.2.4 样例1
1 5
1 +---+
2 ++--+
3 +-+-+
4 +--++
5 +---+
对于全部数据,保证有 且 为奇数。

已答 0/27