#G1094. 2023年09月 GESP C++ 四级
2023年09月 GESP C++ 四级
GESP 202309 C++ 四级
第 1 题
人们所使用的手机上安装的 App 通常指的是({{ select(1) }})。
- 一款操作系统
- 一款应用软件
- 一种通话设备
- 以上都不对
第 2 题
下列流程图的输出结果是?( )
({{ select(2) }})
- 9
- 7
- 5
- 11
第 3 题
对包含 个元素的数组进行冒泡排序,平均时间复杂度一般为({{ 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) }}
- 0
- 5
- 55
- 无法确定。
第 15 题
在下列代码的横线处填写( ),完成对有 个 int 类型元素的数组 array 由小到大排序。
void BubbleSort(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++
第 16 题
在 C++ 语言中,指针变量在逻辑上指向另一个变量在内存中的位置,指针变量本身不占用内存({{ select(16) }})。
- 正确
- 错误
第 17 题
对 个元素的数组执行插入排序算法,通常的时间复杂度是 ({{ select(17) }})。
- 正确
- 错误
第 18 题
在 C++ 语言中,每个变量都有其作用域({{ select(18) }})。
- 正确
- 错误
第 19 题
在 C++ 语言中,在函数调用时,通过引用传递的参数不会复制实际参数,因此不会额外占用内存({{ select(19) }})。
- 正确
- 错误
第 20 题
在 C++ 语言中,可以通过定义结构体,定义一个新的数据类型({{ select(20) }})。
- 正确
- 错误
第 21 题
在 C++ 语言中,可以定义结构体类型的数组变量,定义结构体时也可以包含数组成员({{ select(21) }})。
- 正确
- 错误
第 22 题
如果希望记录 10 个最长为 99 字节的字符串,可以将字符串数组定义为 char s[10][100];({{ select(22) }})。
- 正确
- 错误
第 23 题
一个可能抛出异常的函数,调用它的位置没有在 try 子句中,会引起编译错误({{ select(23) }})。
- 正确
- 错误
第 24 题
== 和 := 都是 C++ 语言的运算符({{ select(24) }})。
- 正确
- 错误
第 25 题
通过使用文件重定向操作,可以将程序中输出到 cout 的内容输出到文件中,这是常用的记录程序运行日志的方法之一({{ select(25) }})。
- 正确
- 错误