#1386. GESP三级真题(202309)
GESP三级真题(202309)
一、单选题(每题 2 分,共 30 分)
1、⼈们所使⽤的⼿机上安装的App通常指的是( )。 {{ select(1) }}
- ⼀款操作系统
- ⼀款应⽤软件
- ⼀种通话设备
- 以上都不对
2、下列流程图的输出结果是?( )
{{ select(2) }}
60
20
5
1
3、已知⼤写字符 'A' 的ASCII编码的⼗六进制表⽰为 0x41
,则字符 'L' 的ASCII编码的⼗六进制表⽰为()。
{{ select(3) }}
4A
4B
4C
52
4、以下哪个不是C++语⾔中的运算符?( ) {{ select(4) }}
~
~~
<
<<
5、如果数组定义为long long array[] = {3, 5, 7, 2};
,则数组 array
占⽤的字节数为( )。
{{ select(5) }}
32
16
8
4
6、⼀个数组定义为 double array[3];
,则可合理访问这个数组的元素的下标最⼤为( )。
{{ select(6) }}
2
3
23
24
7、以下数组定义,符合C++语⾔语法的是( )。 {{ select(7) }}
double a[];
double b[] = {1, 2.0, '3'};
double c[3.0]
double[] d = new double[3];
8、下列关于进制的叙述,正确的是( )。 {{ select(8) }}
- 只有⼗进制和⼆进制能够⽤来表⽰⼩数,⼋进制和⼗六进制不可以。
- 常⽤的进制包括⼆进制、⼋进制、⼗进制、⼗六进制,其他进制在⽇常⽣活中很少使⽤。
- 对任意正整数,其⼆进制表⽰不会⽐它的⼗进制表⽰更短。
- 正整数的⼋进制表⽰中,每⼀位可能出现的最⼤数字是8。
9、下列关于C++语⾔中数组的叙述,不正确的是( )。 {{ select(9) }}
- 可以定义
0
个元素的数组。 - 不能定义
-1
个元素的数组。 - 数组下标越界访问会产⽣编译错误。
- 程序运⾏时发⽣数组下标的越界访问,程序依然可能正常结束。
10、如果 a
是 int
类型的变量,下列哪个表达式的值⼀定为 true
?( )
{{ select(10) }}
a + 1000- 1000 == a
a * 2 / 2 == a
(a & 1) == 1
(a | 1) == a + 1
11、如果 a
和 b
均为 int
类型的变量,下列表达式不能正确判断“ a 等于 b ”的是( )。
{{ select(11) }}
((a >= b) && (a <= b))
((a >> 1) == (b >> 1))
((a + b) == (a + a))
((a ^ b) == 0)
12、如果 a
为 char
类型的变量,下列哪个表达式可以正确判断“a是⼤写字母”?( )
{{ select(12) }}
a- 'A' <= 26
'A' <= a <= 'Z'
'A' <= 'a' <= 'Z'
('A' <= a) && (a <= 'Z')
13、在下列代码的横线处填写( ),可以使得输出是“20 10”。
#include<iostream>
using namespace std;
int main(){
int a = 10, b = 20;
a = (a << 8) | b;
___________;//在此处填入代码
cout << a << " " << b << endl;
return 0;
}
{{ select(13) }}
a = a >> 8; b = a & 0xff
b = a >> 8; a = a & 0xff;
a = b; b = a & 0xff;
b = a; a = b;
14、在下列代码的横线处填写( ),可以使得输出是“120”。
#include<iostream>
using namespace std;
int main(){
int array[5] = {1, 2, 3, 4, 5};
int res = 0;
for(int i = 0; i < 5; i++)
___________;//在此处填入代码
cout << res << endl;
return 0;
}
{{ select(14) }}
res += array[i];
res *= array[i]
res = array[i]
- 以上均不对。
第 15 题 在下列代码的输出是( )。
#include<iostream>
using namespace std;
int main(){
int array[10];
for(int i = 0; i < 10; i++)
array[i] = i;
for(int p = 2; p < 10; p++)
if(array[p] == p)
for(int n = p; n < 10; n += p)
array[n] = array[n] / p * (p- 1);
int res = 0;
for(int n = 1; n < 10; n++)
res += array[n];
cout << res << endl;
return 0;
}
{{ select(15) }}
15
28
45
55
二、判断题(每题 2 分,共 20 分)
1、⼆进制数 101.101
在⼗进制下是 5.005
。
{{ select(16) }}
- 对
- 错
2、在C++语⾔中,位运算符也有类似“先乘除、后加减”的优先级规则。因此,使⽤时应注意合理使⽤括号。 {{ select(17) }}
- 对
- 错
3、字符常量 '3'
的值和 int
类型常量 3
的值是相同的,只是占⽤的字节数不同。
{{ select(18) }}
- 对
- 错
4、在C++语⾔中,长度为 的数组,访问下标为 的元素会引起编译错误。 {{ select(19) }}
- 对
- 错
5、在C++语⾔中,所有 int 类型的值,经过若⼲次左移操作( <<
)后,它们的值总会变为 0 。
{{ select(20) }}
- 对
- 错
6、在C++语⾔中,数组下标的⼤⼩决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序⽆关。 {{ select(21) }}
- 对
- 错
7、在C++语⾔中,定义数组时, []
中必须指定元素个数。
{{ select(22) }}
- 对
- 错
8、著名的哥德巴赫猜想:任⼀⼤于2的偶数都可写成两个素数之和。我们可以通过枚举法来证明它。 {{ select(23) }}
- 对
- 错
9、在C++语⾔中,表达式 (0xff == 255)
的值为 true
。
{{ select(24) }}
- 对
- 错
10、如果 a
为 int
类型的变量,且表达式 ((a & 1) == 0)
的值为 true
,则说明 a
是偶数。
{{ select(25) }}
- 对
- 错