CCF GESP 2025年12月认证 C++ 3级

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

请将二进制数 $(1101.101)_2$,转换为等值的 10 进制数( )。

A

14.25

B

13.625

C

13.5

D

14.5

第 2 题

以下关于标准 C++ 一维数组的描述,哪一项是错误的?( )

A

数组的下标从 0 开始

B

数组在内存中是连续存放的

C

数组的长度只能在运行时才能确定

D

可以在程序中修改数组某个元素的值

第 3 题

下列代码段执行后,变量 sum 的值是( )

{
    int sum = 0;
    for (int i = 1; i <= 10; i++) {
        if (i % 3 == 8 >> 2)
            continue;
        sum += i;
    }
}
A

12

B

17

C

33

D

40

第 4 题

执行以下程序段,输出值是( )

int x = 5;
if (x == 3 >> 2) x = 8 >> 3;
cout << x << endl;
A

0

B

5

C

120

D

1

第 5 题

已知字符串 s = "C++ Programming",下列程序运行的结果是( )

cout << (int)(s.length() | 3) << endl;
A

14

B

15

C

16

D

7

第 6 题

以下代码是一个程序的部分代码,能够正确执行,输出的结果是( )

int arr[5] = {1, 2, 3, 4, 5};
int p = arr[1];
cout << (p + 2) << endl;
A

1

B

2

C

3

D

4

第 7 题

以下关于 C++ 求最小值函数 min() 的描述,不正确的是( )

A

函数必须返回一个值

B

该函数可以嵌套调用

C

调用 min(5) 是错误的,不能通过编译

D

调用 min()(不传任何参数)可以通过编译,结果为 0

第 8 题

在一个特定的计算机系统中,假如 unsigned int 类型需要占用 2 个字节的存储空间(每个字节有 8 位),则 unsigned int 可以表示的数据范围是( )

A

0 ~ 65535

B

0 ~ 65536

C

-65536 ~ 65535

D

0 ~ 32767

第 9 题

以下代码执行后,数组 arr 的内容是( )

int arr[6] = {1, 2, 3, 4, 5, 6};
for (int i = 0; i < 6; i += 2) {
    arr[i] = arr[i] + arr[i+1];
    arr[i+1] = arr[i] - arr[i+1];
    arr[i] = arr[i] - arr[i+1];
}
A

{2,1,4,3,6,5}

B

{1,2,3,4,5,6}

C

{3,1,4,2,5,3}

D

{1,3,2,5,4,6}

第 10 题

a & b | (c ^ d),其中 a=3,b=7,c=15,d=4,计算结果是( )

A

十进制11

B

二进制11

C

八进制11

D

十六进制11

第 11 题

整型变量 x 的初始值为 10,以下代码的输出结果是( )

int t = x--;
t -= x;
cout << t << endl;
A

0

B

-1

C

1

D

死循环

第 12 题

根据下面的流程图,如果成绩 score 输入 60,输出的结果是( )

A

优秀

B

及格

C

不及格

D

没有输出

第 13 题

以下代码运行后,sum 的结果是( )

int arr[5] = {2, 4, 6, 8, 10};
int sum = 0;
for (int i = 0; i < 5; i++) {
    switch (arr[i] % (1|2)) {
        case 0: sum += 1; break;
        case 1: sum += 2; break;
        case 2: sum += 3; break;
    }
}
A

10

B

11

C

14

D

15

第 14 题

以下关于 C++ 中 abs() 函数的描述,正确的是( )

A

abs() 函数可用于计算 int 类型整数的绝对值,头文件为 <cmath><cstdlib>

B

调用 abs(3.14) 可以四舍五入得到 3

C

abs(-1, -2) 的返回值是 1

D

若传入负数浮点数,abs() 会自动截断小数部分后返回整数绝对值

第 15 题

如果字符串 s 的值是 GESP,以下代码 s 的最后结果是( )

for (int i = 0; i < s.length(); i++) {
    s[i] = toupper(s[i] + i);
}
A

GESP

B

HFTR

C

hesp

D

GFUS

单选题部分已到底了。