#X000307. GESP C++ 三级试卷(2024年09月)

GESP C++ 三级试卷(2024年09月)

GESP C++ 三级试卷(2024年9月)

一、选择题

本试卷共15道单项选择题,考察基本语法、逻辑结构和简单算法。


第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]反

第3题

8进制数3703转换成16进制数是() {{ select(3) }}

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

第4题

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

  • 0.1110
  • 0.1111110111101
  • 0.1111110111100
  • 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=10101110,a<<2,下面关于这个说法正确的是() {{ select(9) }}

  • a的值变为10111000
  • a的值变为10111010
  • a的值变为01011101
  • a的值变为01011100

第10题

下列程序中,result和result2输出分别是()

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牙种植一批农作物,第一天需要浇水一次,随后的两天(第2、第3天),每天需要浇水2次,再随后的3天(第4、第5、第6天),需要每天浇水3次,这样持续下去,随后的n天,每天需要浇水n次。请问在100天里,总共浇了多少次水() {{ select(11) }}

  • 994
  • 996
  • 995
  • 945

第12题

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

  • int a[10];
    int sum=0;
    for(int i=0;i<=10;i++) {
        sum=sum+a[i];
    }
    
  • 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];
    }
    
  • 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];
    }
    
  • 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;

{{ select(13) }}

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

第14题

有ABCD4个人,其中一个是小偷,每个人说一句话,只有小偷说的是假话,其中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和-1的原码进行1+(-1)计算的结果是-2。 {{ select(16) }}

  • 正确
  • 错误

第17题

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

  • 正确
  • 错误

第18题

~1 = 11111110。 {{ select(18) }}

  • 正确
  • 错误

第19题

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

  • 正确
  • 错误

第20题

下列程序输出的是A。

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

{{ select(20) }}

  • 正确
  • 错误

第21题

下列程序输出的是3。

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

{{ select(21) }}

  • 正确
  • 错误

第22题

下列程序输出1。

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(五进制)。 {{ select(25) }}

  • 正确
  • 错误