#GESP2024093K. GESP-C++ 三级客观题202409K

GESP-C++ 三级客观题202409K

一、单选题(每题 22 分,共 3030 分)

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

#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
  • 程序不能正确执行
  • 没有输出

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

{{ 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.1 1111 1011 1101
  • 0.1 1111 1011 1100
  • 0.1101

55、下面说法正确的是( )

{{ select(5) }}

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

66、下列说法正确的是()

{{ select(6) }}

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

77、下列代码实现的是( )

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的高低位互换

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

{{ select(8) }}

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

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

{{ select(9) }}

  • a的值变为1011 1000
  • a的值变为1011 1010
  • a的值变为0101 1101
  • a的值变为0101 1100

1010、下列程序中,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

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

{{ select(11) }}

  • 994
  • 996
  • 995
  • 945

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

{{ select(12) }}

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

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

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

{{ select(13) }}

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

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

{{ select(14) }}

  • A
  • B
  • C
  • D

1515、下列程序输出的是()

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

{{ select(15) }}

  • 9
  • 8
  • 7
  • 6

二、判断题(每题 22 分,共 2020 分)

1616、+1和-1的原码进行1+(-1)计算的结果是-2 。( )

{{ select(16) }}

  • 正确
  • 错误

1717、~1 的输出值是 -2 。( )

{{ select(17) }}

  • 正确
  • 错误

1818、~1 = 1111 1110 。( )

{{ select(18) }}

  • 正确
  • 错误

1919、取 X 的低四位,可以用 Y = 0000 1111 ,用 X&Y 获取 X 的低四位。( )

{{ select(19) }}

  • 正确
  • 错误

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

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

{{ select(20) }}

  • 正确
  • 错误

2121、下列程序输出的是 3 。( )

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

{{ select(21) }}

  • 正确
  • 错误

2222、下列程序将输出 1 。( )

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

{{ select(22) }}

  • 正确
  • 错误

2323、下列程序将输出 A 。( )

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

{{ select(23) }}

  • 正确
  • 错误

$24、$16进制数 AB ,表示成2进制数是 10101011 。( )

{{ select(24) }}

  • 正确
  • 错误

2525、def (十六进制) = 103231 (五进制)。( )

{{ select(25) }}

  • 正确
  • 错误