2025年GESP9月C++-四级

*
姓名:
1.选择题
*
第 1 题运行下面程序后变量 a 的值是( )。
A. 42
B. 43
C. 编译错误
D. 不确定
*
第 2 题以下关于数组的描述中,( )是错误的。
A. 数组名是一个指针常量
B. 随机访问数组的元素方便快捷
C. 数组可以像指针一样进行自增操作
D. sizeof(arr) 返回的是整个数组 arr 占用的字节数
*
第 3 题给定如下定义的数组 arr,则 *(*(arr + 1) + 2) 的值是( )。
A. 2
B. 5
C. 4
D. 6
*
第 4 题下面这段代码会输出( )。
A. 3 5
B. 编译失败:定义处少了默认参数
C. 运行错误
D. 链接失败:未定义引用
*
第 5 题下面这段代码会输出( )。
A. 5 5
B. 10 10
C. 5 10
D. 10 5
*
第 6 题下面程序运行的结果是( )。
A. 6 7
B. 6 6
C. 5 6
D. 5 5
*
第 7 题关于结构体初始化,以下哪个选项中正确的是( )。
A. Point p = (1, 2);
B. Point p = {1, 2};
C. Point p = new {1, 2};
D. Point p = <1, 2>;
*
第 8 题运行如下代码会输出()。
A. Mimi 2
B. Mimi 3
C. kitty 3
D. kitty 2
*
第 9 题关于排序算法的稳定性,以下说法错误的是( )。
A. 稳定的排序算法不改变相等元素的相对位置
B. 冒泡排序是稳定的排序算法
C. 选择排序是稳定的排序算法
D. 插入排序是稳定的排序算法
*
第 10 题下面代码试图实现选择排序,使其能对数组 nums 排序为升序,则横线上应分别填写( )。
A.
B.
C.
D.
*
第 11 题下面程序实现插入排序(升序排序),则横线上应分别填写( )。
A.
B.
C.
D.
*
第 12 题关于插入排序的时间复杂度,下列说法正确的是( )。
A. 最好情况和最坏情况的时间复杂度都是 O(n²)
B. 最好情况是 O(n),最坏情况是 O(n²)
C. 最好情况是 O(n),最坏情况是 O(2ⁿ)
D. 最好情况是 O(n²),最坏情况是 O(2ⁿ)
*
第 13 题小杨正在爬楼梯,需要 n 阶才能到达楼顶,每次可以爬 1 阶或 2 阶,求小杨有多少种不同的方法可以爬到楼顶,横线上应填写()。
A.
B.
C.
D.
*
第 14 题假设有一个班级的成绩单,存储在一个长度为 n 的数组 scores 中,每个元素是一个学生的分数。老师想要找出所有满足 scores[i] + scores[j] + scores[k] == 300 的三元组,其中 i < j < k。下面代码实现该功能,请问其时间复杂度是( )。
A. O(n)
B. O(n²)
C. O(n³)
D. O(2ⁿ)
*
第 15 题关于异常处理,以下说法错误的是( )。
A. try 块中的代码可能会抛出异常
B. catch 块可以有多个,处理不同类型的异常
C. throw 语句用于抛出异常
D. 所有异常都必须被捕获,否则程序会崩溃
2.判断题
*
第 1 题以下代码能正确初始化指针。
正确
错误
*
第 2 题执行下面 C++代码将输出 11。
正确
错误
*
第 3 题以下 C++代码合法。
正确
错误
*
第 4 题执行下面 C++代码将输出 10。
正确
错误
*
第 5 题下面代码将二维数组 arr 传递给函数 f,函数内部用 arr[i][j] 访问元素,函数参数声明为 int arr[][4] 是错误的。
正确
错误
*
第 6 题递推是在给定初始条件下,已知前一项(或前几项)求后一项的过程。
正确
错误
*
第 7 题虽然插入排序的时间复杂度为 O(n²),但由于单元操作相对较少,因此在小数据量的排序任务中非常受欢迎。
正确
错误
*
第 8 题对整数数组 {4, 1, 3, 1, 5, 2} 进行冒泡排序(将最大元素放到最后),执行一轮之后是 {4, 1, 3, 1, 2, 5}。
正确
错误
*
第 9 题以下代码只能捕获 int 类型异常。
正确
错误
*
第 10 题以下代码将 Hello 写入文件 data.txt。
正确
错误
Powered By www.wjx.cn
Report