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

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

下列代码中,输出结果是( )

#include <iostream>
using namespace std;
int main()
{
    double a = 0.9;
    double b = 1.0;
    if ((b - a) == 0.1)
    {
        cout << "Equal" << endl;
    }
    else
    {
        cout << "Not equal" << endl;
    }
}
A

Equal

B

Not equal

C

程序不能正确执行

D

没有输出

第 2 题

关于计算机中的编码,下列说法中正确的是( )

A

机器数的形式值和真值是一致的

B

原码就是符号位加上真值

C

机器数是带符号的

D

$[-1] = [1000\ 0001]_{原} = [1111\ 1111]_{反}$

第 3 题

8 进制数 3703 转换成 16 进制数是( )

A

7C3

B

7A3

C

7B3

D

7D3

第 4 题

0.8125 变成二进制是( )。

A

0.1110

B

0.1 1111 1011 1101

C

0.1 1111 1011 1100

D

0.1101

第 5 题

下面说法正确的是( )

A

(22 & 01) == (22 && 01) 成立

B

(23 | 11) == 30

C

(23 | 10) == 31

D

(23 | 01) == 31

第 6 题

下列说法正确的是( )

A

2>>1 和 1>>1 的值是一样的

B

(2>>2) 和 (1>>1) 的值是一样的

C

(11^00) 和 (1^0) 的值是一样的

D

(~0) 的输出值是 1

第 7 题

下列代码实现的是( )

void Swap(int &a, int &b) {
    if (a != b) {
        a ^= b;
        b ^= a;
        a ^= b;
    }
}
A

a 和 b 的异或

B

a 和 b 的同或

C

a 和 b 的值交换

D

a 和 b 的高低位互换

第 8 题

a & ~1 运算实现的是( )。

A

使 a 的最低位为 1

B

使 a 的最高位为 1

C

使 a 的最低位为 0

D

使 a 的最高位为 0

第 9 题

a = 1010 1110,a << 2,下面关于这个说法正确的是( )。

A

a 的值变为 1011 1000

B

a 的值变为 1011 1010

C

a 的值变为 0101 1101

D

a 的值变为 0101 1100

第 10 题

下列程序中,resultresult2 输出分别是( )

long a = 123;
int b = 1;
long result = a & b;
cout << result << endl;

long a2 = -123;
unsigned int b2 = -1;
long result2 = a2 & b2;
cout << result2 << endl;
A

123 -1

B

123 -123

C

1 -1

D

1 -123

第 11 题

陈A歹种植一批农作物,第一天需要浇水一次,随后的两天(第 2、第 3 天),每天需要浇水 2 次,再随后的 3 天(第 4、第 5、第 6 天),需要每天浇水 3 次,这样持续下去,随后的 n 天,每天需要浇水 n 次。请问在 100 天里,总共浇了多少次水( )

A

994

B

996

C

995

D

945

第 12 题

关于一维数组,下列程序能够正确执行的是( )。

A
int a[10];
int sum=0;
for(int i=0;i<=10;i++) {
    sum=sum+a[i];
}
B
int a[10]={1,2,3,4,5,6,7,8,9,10};
int sum=0;
for(int i=0;i<=10;i++) {
    sum=sum+a[i];
}
C
int a[10]={1,2,3,4,5,6,7,8,9,10};
int sum=0;
for(int i=0;i<10;i++) {
    sum=sum+a[i];
}
D
int a[10]={0};
int sum=0;
for(int i=0;i<=10;i++) {
    sum=sum+a[i];
}
第 13 题

下面的程序中,会输出( )。

int a[10] = {1,2,3,4,5,6,7,8,9,10};
cout << a[10] << endl;
A

1

B

0

C

10

D

不确定的值

第 14 题

有 A B C D 4 个人,其中一个是小偷,每个人说一句话,只有小偷说的是假话,其中 A 说:不是我。B 说:是 C。C 说:是 D。D 说:C 瞎说,请问谁是小偷( )。

A

A

B

B

C

C

D

D

第 15 题

下列程序输出的是( )

string str = "Hello,CHAD";
cout << str.find("A") << '\n';
A

9

B

8

C

7

D

6

单选题部分已到底了。