#1325. GESP-C++三级(2024-09)
GESP-C++三级(2024-09)
CCF GESP C++ 三级 (2024 年 09 月)
一、单选题(每题 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;
}
return 0;
}
{{ 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.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 1110,a<<2,下面关于这个说法正确的是 ( )
{{ select(9) }}
- a 的值变为1011 1000
- a 的值变为1011 1010
- a 的值变为0101 1101
- a 的值变为0101 1100
第 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 题:关于一维数组,下列程序能够正确执行的是 ( )
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];
}
{{ 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 题:有 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
二、判断题(每题 2 分,共 20 分)
第 16 题:+1 和 -1 的原码进行 1+(-1) 计算的结果是 -2。( )
{{ select(16) }}
- 对
- 错
第 17 题:~1的输出值是 -2。( )
{{ select(17) }}
- 对
- 错
第 18 题:~1 = 1111 1110。( )
{{ select(18) }}
- 对
- 错
第 19 题:取 X 的低四位,可以用Y = 0000 1111,用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) }}
- 对
- 错