#G1087. 2024年09月 GESP C++ 三级

2024年09月 GESP C++ 三级

GESP 202409 C++ 三级

第 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;
    }
}

{{ select(1) }}

  • Equal
  • Not equal
  • 程序不能正确执行
  • 没有输出

第 2 题

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

  • 机器数的形式值和真值是一致的
  • 原码就是符号位加上真值
  • 机器数是带符号的
  • [1]=[1000 0001]=[1111 1111][-1] = [1000\ 0001]_{原} = [1111\ 1111]_{反}

第 3 题

88 进制数 37033703 转换成 1616 进制数是({{ select(3) }})

  • 7C3
  • 7A3
  • 7B3
  • 7D3

第 4 题

0.8125 变成二进制是({{ select(4) }})。

  • 0.1110
  • 0.1 1111 1011 1101
  • 0.1 1111 1011 1100
  • 0.1101

第 5 题

下面说法正确的是({{ select(5) }})

  • (22 && 01) == (22 && 01) 成立
  • (23 | 11) == 30
  • (23 | 10) == 31
  • (23 | 01) == 31

第 6 题

下列说法正确的是({{ select(6) }})

  • 2>>1 和 1>>1 的值是一样的
  • (2>>2) 和 (1>>1) 的值是一样的
  • (11^00) 和 (1^0) 的值是一样的
  • (~0) 的输出值是 1

第 7 题

下列代码实现的是( )

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

{{ select(7) }}

  • a 和 b 的异或
  • a 和 b 的同或
  • a 和 b 的值交换
  • a 和 b 的高低位互换

第 8 题

a & ~1 运算实现的是({{ select(8) }})。

  • 使 a 的最低位为 1
  • 使 a 的最高位为 1
  • 使 a 的最低位为 0
  • 使 a 的最高位为 0

第 9 题

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

  • a 的值变为 1011 1000
  • a 的值变为 1011 1010
  • a 的值变为 0101 1101
  • 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;

{{ select(10) }}

  • 123 -1
  • 123 -123
  • 1 -1
  • 1 -123

第 11 题

陈A歹种植一批农作物,第一天需要浇水一次,随后的两天(第 22、第 33 天),每天需要浇水 22 次,再随后的 33 天(第 44、第 55、第 66 天),需要每天浇水 33 次,这样持续下去,随后的 nn 天,每天需要浇水 nn 次。请问在 100100 天里,总共浇了多少次水({{ select(11) }})

  • 994
  • 996
  • 995
  • 945

第 12 题

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

  • A
  • B
  • C
  • D

第 13 题

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

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

{{ select(13) }}

  • 1
  • 0
  • 10
  • 不确定的值

第 14 题

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

  • A
  • B
  • C
  • D

第 15 题

下列程序输出的是( )

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

{{ select(15) }}

  • 9
  • 8
  • 7
  • 6

第 16 题

+1+11-1 的原码进行 1+(1)1 + (-1) 计算的结果是 2-2。({{ select(16) }})

  • 正确
  • 错误

第 17 题

~1 的输出值是 2-2。({{ select(17) }})

  • 正确
  • 错误

第 18 题

~1 = 1111 1110。({{ select(18) }})

  • 正确
  • 错误

第 19 题

XX 的低四位,可以用 Y = 0000 1111,用 X & Y 获取 XX 的低四位。({{ select(19) }})

  • 正确
  • 错误

第 20 题

下列程序输出的是 A。( )

char x=65;
x++;
cout<<x++<<endl;

{{ select(20) }}

  • 正确
  • 错误

第 21 题

下列程序输出的是 33。( )

string str="CHADai";
size_t pos = str.find('D');
cout<<pos<<endl;

{{ select(21) }}

  • 正确
  • 错误

第 22 题

下列程序将输出 11。( )

int a[10]={1};
cout<<a[1]<<endl;

{{ select(22) }}

  • 正确
  • 错误

第 23 题

下列程序将输出 A。( )

int a=65;
cout<<(char)a<<endl;

{{ select(23) }}

  • 正确
  • 错误

第 24 题

16 进制数 AB,表示成 2 进制数是 10101011。({{ select(24) }})

  • 正确
  • 错误

第 25 题

def(十六进制)=103231= 103231(五进制)。({{ select(25) }})

  • 正确
  • 错误