CCF GESP 2024年3月认证 C++ 4级

单选题
共 15 道 每题 2 分 共计 30 分
第 1 题

若函数声明为 int f(int &x){ x+=3; return x; },则对声明的变量 int a=3,下面哪个调用能够改变 a 的值( )。

A

f(&a);

B

f(*a);

C

f(a);

D

f(a-3);

第 2 题

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

int main()
{
    int x[] = {2, 0, 2, 4};
    char geSP[] = "Grade Examination of SP";

    cout << geSP[sizeof(x)] << endl;

    cout << endl;
    return 0;
}
A

G

B

e

C

n

D

P

第 3 题

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

int foo(float *f)
{
    return int(*f * 2);
}

int main()
{
    float fnum[10] = {1.1};
    fnum[1] = foo(fnum);
    cout << fnum[0] + fnum[1] << endl;

    cout << endl;
    return 0;
}
A

1

B

1.1

C

3

D

3.1

第 4 题

对二维数组 int arr[3][16];,则 arr[1] 占用内存的大小为( )字节。

A

4

B

16

C

48

D

64

第 5 题

对二维数组 int arr[3][16];,若 arr 的地址是 0x28cbc0,则 arr[1] 的值是( )。

A

0x28cbc4

B

0x28cbd0

C

0x28cc00

D

不确定

第 6 题

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

int main()
{
    char *p = "I love GESP!";
    cout << p + 5 << endl;

    cout << endl;
    return 0;
}
A

e

B

I lov

C

e GESP!

D

GESP!

第 7 题

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

int rc = 5;
int main()
{
    int rc;
    cout << ++rc << endl;

    cout << endl;
    return 0;
}
A

0

B

1

C

6

D

不确定

第 8 题

下面 C++ 函数中采用的算法是( )。

int fib(int n)
{
    int i, f[n] = {0, 1};

    for (int i = 2; i <= n; i++)
        f[i] = f[i - 1] + f[i - 2];

    return f[n];
}
A

递推

B

递归

C

迭代

D

循环

第 9 题

插入排序在最好情况下的时间复杂度是( )。

A

$O(1)$

B

$O(N/2)$

C

$O(N)$

D

$O(N^2)$

第 10 题

在如下的 C++ 代码执行后,设第 11 和 12 行的输出地址值分别为 X 和 Y,则下面正确的是( )。

struct pass {
    int no;
    char name[20];
    int level;
};

int main()
{
    struct pass XiaoYang;

    cout << "&XiaoYang=" << &XiaoYang << endl;     //第11行
    cout << "&(XiaoYang.no)=" << &(XiaoYang.no) << endl; //第12行

    cout << endl;
    return 0;
}
A

X > Y

B

X = Y

C

X < Y

D

不确定

第 11 题

第11题 如果文件 1.txt 中的内容如下,则执行下面 C++ 代码时,注释了 #### 那行代码所输出的 x 的值为( )。

2024 3.16 I
love
GESP!
int main()
{
    ifstream fin;
    string line;
    int x;
    fin.open("1.txt", ios::in);

    for (int i = 0; i < 2; i++) {
        fin >> line;
        cout << line << endl;
    }
    fin >> x;
    cout << x << endl; //####

    cout << endl;
    return 0;
}
A

5

B

2024

C

3

D

0

第 12 题

执行下列 C++ 代码时输出中的第 2 行是( )。

int main()
{
    char *s[] = {(char*)"2024", (char*)"3.16", (char*)"GESP"};

    for (int i = 0; i < 2; i++) {
        cout << *s + i << endl;
    }

    cout << endl;
    return 0;
}
A

2024

B

3.16

C

024

D

3

第 13 题

C++ 语言中下面哪个关键字能够限定对象的作用域( )。

A

extern

B

static

C

inline

D

public

第 14 题

小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是( )。

A

小程序

B

计时器

C

操作系统

D

神话人物

第 15 题

中国计算机学会(CCF)在 2024 年 1 月 27 日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是( )。

A

制造自动驾驶汽车

B

创立培训学校

C

发明汉字激光照排系统

D

成立方正公司

单选题部分已到底了。