#63. GESP C++ 四级 2023年09月 客观题
GESP C++ 四级 2023年09月 客观题
1 单选题(每题2分,共30分)
- 人们所使用的手机上安装的App通常指的是()
{{ select(1) }}
- 一款操作系统
- 一款应用软件
- 一种通话设备
- 以上都不对
- 下列流程图的输出结果是?()

{{ select(2) }}
- 9
- 7
- 5
- 11
- 对包含n个元素的数组进行冒泡排序,平均时间复杂度一般为()
{{ select(3) }}
- 以上都不正确
- 下列关于C++语言中指针的叙述,不正确的是()
{{ select(4) }}
- 可以定义指向int类型的指针
- 可以定义指向自定义结构体类型的指针
- 自定义结构体类型可以包含指针类型的元素
- 不能定义指向void类型的指针,那没有意义
- 下列关于C++语言中数组的叙述,不正确的是()
{{ select(5) }}
- 一维数组可以用来表示数列
- 二维数组可以用来表示矩阵
- 三维数组可以用来表示空间中物体的形状
- 世界是三维的,所以定义四维数组没有意义
- 下列关于C++语言中函数的叙述,正确的是()
{{ select(6) }}
- 函数调用前必须定义
- 函数调用时必须提供足够的实际参数
- 函数定义前必须声明
- 函数声明只能写在函数调用前
- 下列关于C++语言中函数的叙述,不正确的是()
{{ select(7) }}
- 两个函数的声明可以相同
- 两个函数的局部变量可以重名
- 两个函数的参数可以重名
- 两个函数可以重名
- 一个二维数组定义为
char array[3][10];,则这个二维数组占用内存的大小为()字节
{{ select(8) }}
- 10
- 30
- 32
- 48
- 如果n为int类型的变量,一个指针变量定义为
int *p = &n;,则下列说法正确的是()
{{ select(9) }}
- 指针变量p的值与变量n是相同的
- 指针变量p的值与变量n的地址是相同的
- 指针变量p指向的值为'n'
- 指针变量p指向的值与变量n的地址是相同的
- 一个三维数组定义为
long long array[6][6][6];,则array[1][2][3]和array[3][2][1]在内存中的位置相差多少字节?()
{{ select(10) }}
- 70字节
- 198字节
- 560字节
- 无法确定
- 如果a为int类型的变量,且a的值为6,则执行
a = ~a之后,a的值会是()
{{ select(11) }}
- -6
- 6
- -7
- 7
- 一个数组定义为
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}
- 下列关于C++语言中异常处理的叙述,正确的是()
{{ select(13) }}
- 一个try子句可以有多个catch子句与之对应
- 如果try子句在执行时发生异常,就一定会进入某一个catch子句执行
- 如果try子句中没有可能发生异常的语句,会产生编译错误
- catch子句处理异常后,会重新执行与之对应的try子句
- 执行以下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[1] = fib[i - 1] + fib[i - 2];
cout << fib[10] << endl;
return 0;
}
{{ select(14) }}
- 0
- 5
- 55
- 无法确定
- 在下列代码的横线处填写(),完成对有n个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++
2 判断题(每题2分,共20分)
- 在C++语言中,指针变量在逻辑上指向另一个变量在内存中的位置,指针变量本身不占用内存。()
{{ select(16) }}
- 正确
- 错误
- 对N个元素的数组执行插入排序算法,通常的时间复杂度是。()
{{ select(17) }}
- 正确
- 错误
- 在C++语言中,每个变量都有其作用域。()
{{ select(18) }}
- 正确
- 错误
- 在C++语言中,在函数调用时,通过引用传递的参数不会复制实际参数,因此不会额外占用内存。()
{{ select(19) }}
- 正确
- 错误
- 在C++语言中,可以通过定义结构体,定义一个新的数据类型。()
{{ select(20) }}
- 正确
- 错误
- 在C++语言中,可以定义结构体类型的数组变量,定义结构体时也可以包含数组成员。()
{{ select(21) }}
- 正确
- 错误
- 如果希望记录10个最长为99字节的字符串,可以将字符串数组定义为
char s[10][100];。()
{{ select(22) }}
- 正确
- 错误
- 一个可能抛出异常的函数,调用它的位置没有在try子句中,会引起编译错误。()
{{ select(23) }}
- 正确
- 错误
==和:=都是C++语言的运算符。()
{{ select(24) }}
- 正确
- 错误
- 通过使用文件重定向操作,可以将程序中输出到cout的内容输出到文件中,这是常用的记录程序运行日志的方法之一。()
{{ select(25) }}
- 正确
- 错误