#G1056. [GESP四级202309] 四级理论
[GESP四级202309] 四级理论
一、单选题(每题 2 分,共 30 分)
1、人们所使用的手机上安装的App通常指的是( )。
{{ select(1) }}
- 一款操作系统
- 一款应用软件
- 一种通话设备
- 以上都不对
2、下列流程图的输出结果是?( )

{{ select(2) }}
- 9
- 7
- 5
- 11
3、对包含 n 个元素的数组进行冒泡排序,平均时间复杂度一般为( )。
{{ select(3) }}
- 以上都不正确
4、下列关于C++语言中指针的叙述,不正确的是( )。
{{ select(4) }}
- 可以定义指向
int类型的指针。 - 可以定义指向自定义结构体类型的指针。
- 自定义结构体类型可以包含指针类型的元素。
- 不能定义指向
void类型的指针,那没有意义。
第 5 题 下列关于C++语言中数组的叙述,不正确的是( )。
{{ select(5) }}
- 一维数组可以用来表示数列。
- 二维数组可以用来表示矩阵。
- 三维数组可以用来表示空间中物体的形状。
- 世界是三维的,所以定义四维数组没有意义。
6、下列关于C++语言中函数的叙述,正确的是( )。
{{ select(6) }}
- 函数调用前必须定义。
- 函数调用时必须提供足够的实际参数。
- 函数定义前必须声明。
- 函数声明只能写在函数调用前。
7、下列关于C++语言中函数的叙述,不正确的是( )。
{{ select(7) }}
- 两个函数的声明可以相同。
- 两个函数的局部变量可以重名。
- 两个函数的参数可以重名。
- 两个函数可以重名。
8、一个二维数组定义为 char array[3][10]; ,则这个二维数组占用内存的大小为( )。
{{ select(8) }}
- 10
- 30
- 32
- 48
9、如果 n 为 int 类型的变量,一个指针变量定义为 int *p = &n; ,则下列说法正确的是( )。
{{ select(9) }}
- 指针变量
p的值与变量n是相同的。 - 指针变量
p的值与变量n的地址是相同的。 - 指针变量
p指向的值为'n'。 - 指针变量
p指向的值与变量n的地址是相同的。
10、一个三维数组定义为 long long array[6][6][6]; ,则 array[1][2][3] 和 array[3][2][1] 在内存中的位置相差多少字节?( )
{{ select(10) }}
- 70字节
- 198字节
- 560字节
- 无法确定
11、如果 a 为 int 类型的变量,且 a 的值为6,则执行 a = ~a; 之后, a 的值会是( )。
{{ select(11) }}
- -6
- 6
- -7
- 7
12、 一个数组定义为 int a[5] = {1, 2, 3, 4, 5}; ,一个指针定义为 int * p = &a[2]; ,则执行 *p = a[1]; 后,数组a中的值会变为( )。
{{ select(12) }}
{1, 2, 2, 4, 5}{1, 3, 3, 4, 5}{1, 2, 3, 3, 5}{1, 2, 4, 4, 5}
13、下列关于C++语言中异常处理的叙述,正确的是( )。
{{ select(13) }}
- 一个
try子句可以有多个catch子句与之对应。 - 如果
try子句在执行时发生异常,就一定会进入某一个catch子句执行。 - 如果
try子句中没有可能发生异常的语句,会产生编译错误。 catch子句处理异常后,会重新执行与之对应的try子句。
14、执行以下C++语言程序后,输出结果是( )。
#include<iostream>
using namespace std;
int main(){
int fib[10];
fib[0] = 0;
fib[1] = 1;
for(int i = 2; i < 10; i++)
fib[i] = fib[i - 1] + fib[i - 2];
cout << fib[10] << endl;
return 0;
}
{{ select(14) }}
0555- 无法确定。
15、在下列代码的横线处填写( ),完成对有 n 个 int 类型元素的数组 array 由小到大排序。
void BubleSort(int array[], int n) {
for(int i = n; i >= 2; i--)
for(__________) // 在此处填入代码
if(array[j] > array[j + 1]){
int t = array[j];
array[j] = array[j + 1];
array[j + 1] = t;
}
}
{{ select(15) }}
int j = 1; j < n; j++int j = 0; j < n; j++int j = 0; j < i - 1; j++int j = 0; j < i; j++
二、判断题(每题 2 分,共 20 分)
16、在C++语言中,指针变量在逻辑上指向另一个变量在内存中的位置,指针变量本身不占用内存。
{{ select(16) }}
- 对
- 错
17、对 个元素的数组执行插入排序算法,通常的时间复杂度是 。
{{ select(17) }}
- 对
- 错
18、在C++语言中,每个变量都有其作用域。
{{ select(18) }}
- 对
- 错
19、在C++语言中,在函数调用时,通过引用传递的参数不会复制实际参数,因此不会额外占用内存。
{{ select(19) }}
- 对
- 错
20、在C++语言中,所有
int类型的值,经过若干次左移操作(<<)后,它们的值总会变为0。
{{ select(20) }}
- 对
- 错
21、在C++语言中,数组下标的大小决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序无关。
{{ select(21) }}
- 对
- 错
22、在C++语言中,定义数组时, [] 中必须指定元素个数。
{{ select(22) }}
- 对
- 错
23、著名的哥德巴赫猜想:任一大于2的偶数都可写成两个素数之和。我们可以通过枚举法来证明它。
{{ select(23) }}
- 对
- 错
24、在C++语言中,表达式 (0xff == 255) 的值为 true。
{{ select(24) }}
- 对
- 错
25、如果 a 为 int 类型的变量,且表达式 ((a & 1) == 0) 的值为 true ,则说明 a 是偶数。
{{ select(25) }}
- 对
- 错