选择题 共15道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15


判断题 共10道

16 17 18 19 20 21 22 23 24 25


编程题 共2道

26 27

471 202503GESP C++四级试卷-练习
选择题 共15道
01

关于下述代码,说法错误的是( )。

2分
登录后查看选项
02

执行下述代码将输出( )。

2.png

2分
登录后查看选项
03

执行下述代码后,变量 a 的值为( )

3.png

2分
登录后查看选项
04 以下哪种参数传递方式可以避免拷贝大型对象? 2分
登录后查看选项
05

执行下述代码,将输出( )。

2分
登录后查看选项
06 下面的描述中,( )正确定义一个名为 Person 的结构体并正确初始化了一个 Person 结构体的变量 p 2分
登录后查看选项
07

给定如下代码

7.png

下面描述错误的是( )。

2分
登录后查看选项
08 假设 int arr[2][3] = {{1,2,3},{4,5,6}}; ,则 arr[1][2] 的值是( )。 2分
登录后查看选项
09 下面( )正确定义了二维数组 2分
登录后查看选项
10

小杨正在爬楼梯,需要爬 阶才能到达楼顶。如果每次可以爬 个或 个台阶,下面代码采用递推算法来计算一共有多少种不同的方法可以爬到楼顶,则横线上应填写( )。

2分
登录后查看选项
11

给定如下算法,其时间复杂度为( )。

11.png

2分
登录后查看选项
12 下面关于排序稳定性的描述,正确的是( )。 2分
登录后查看选项
13 对数组 arr[]={5, 3, 8, 1} 进行升序排序,执行第一轮冒泡排序后数组 arr 中的内容为( )。 2分
登录后查看选项
14

运行下面的代码,将出现( )。

2分
登录后查看选项
15 下面哪种方式不能实现将字符串 "Happy Spring!" 输出重定向到文件 log.txt ( ) 2分
登录后查看选项
判断题 共10道
16 函数是C++中的核心概念,用于封装可重用的代码块。 2分
登录后查看选项
17 在C++中,函数的返回类型可以省略,默认为 int 。 2分
登录后查看选项
18 结构体的成员默认是 public 访问权限。 2分
登录后查看选项
19 假设整数数组 arr[4]= {0, 1, 2, 3}; 的第一个元素在内存中的地址为 0x7ffee4065820 , 经过 int* p= arr; p += 1; 后,指针 p 的值是1。 2分
登录后查看选项
20 二维数组作为函数参数时,必须显式指定所有维度的大小。 2分
登录后查看选项
21 递推是一种通过已知的初始值和递推公式,逐步求解目标值的算法 2分
登录后查看选项
22

考虑最坏情况下冒泡排序算法的时间复杂度,

为待排序数字的数目为 的复杂度,则其递推关系式为

2分
登录后查看选项
23 插入排序在最好情况(已有序)下的时间复杂度是O(n²) 2分
登录后查看选项
24 对数组 arr[]={4, 3, 1, 5, 2} 进行升序排序,执行第一轮选择排序后数组arr中的内容是 {1, 4, 3, 5, 2} 。 2分
登录后查看选项
25 未捕获异常会调用std::terminate终止程序。 2分
登录后查看选项
编程题 共2道
26
荒地开垦


时间限制: 10 s

内存限制: 512.0 MB



题面描述


小杨有一大片荒地,可以表示为一个 n 行 m 列的网格图。

小杨想要开垦这块荒地,但荒地中一些位置存在杂物。对于一块不存在杂物的荒地,该荒地可以开垦当且仅当其上左右四个方向相邻的格子均不存在杂物。

小杨可以选择至多一个位置,清除该位置的杂物,移除杂物后该位置变为荒地。小杨想知道在清除至多一个位置的杂物的情况下,最多能够开垦多少块荒地。


输入格式


第一行包含两个正整数 n, m,含义如题面所示。

之后 n 行,每行包含一个长度为 m 且仅包含字符 . 和 # 的字符串。如果为 . ,代表该位置为荒地,如果为 # ,代表该位置为杂物。


输出格式


输出一个整数,代表在清除至多一个位置的杂物的情况下,最多能够开垦的荒地块数。

样例


输入样例1

3 5
.....
.#..#
.....

输出样例1

11

样例解释

移除第二行从左数第二块空地的杂物后

.....
....#
.....

第一行从左数前4块荒地,第二行从左数前3块荒地,第三行从左数前4块荒地,均可开垦,4+3+4=11

数据范围

对于全部数据,保证有1<=n,m<=1000

25分
登录后作答
27
二阶矩阵


题目描述


小A有一个 n 行 m 列的矩阵 A。

小A认为一个 2×2 的矩阵 D 是好的,当且仅当 D1,1 × D2,2 = D1,2 × D2,1其中 Di,j 表示矩阵 D 的第 i 行第 j 列的元素。

小A想知道 A 中有多少个好的子矩阵。


输入格式


第一行,两个正整数 n, m。

接下来 n 行,每行 m 个整数 Ai,1, Ai,2, ..., Ai,m


输出格式


一行,一个整数,表示 A 中好的子矩阵的数量。


样例


输入样例 1

3 4
1 2 1 0
2 4 2 1
0 3 3 0

输出样例 1

2

25分
登录后作答