#1128. GESP C++ 八 级 2023年12月真题 · 单选题

GESP C++ 八 级 2023年12月真题 · 单选题

GESP C++ 八 级 2023年12月真题(180 分钟,总分 100 分)

单选题(共 15 题,每题 2 分,共 30 分)

1. 小杨要从A城到B城,又想顺路游览一番。他有两个选项:1、坐高铁路到C城游览,再坐高铁或飞机到B城;2、坐船到D城游览,再坐船、高铁或飞机到B城。请问小杨从A城到B城共有几种交通方案可以选择?

{{ select(1) }}

  • 2
  • 3
  • 5
  • 6

2. 以下哪个函数声明是符合语法的,且在调用时可以将二维数组的名字作为实际参数传递给形式参数a?

{{ select(2) }}

  • void QuickSort(int a[][10], int n);
  • void QuickSort(int a[5][], int m);
  • void QuickSort(int a[][], int n, int m);
  • void QuickSort(int **a, int n, int m);

3. 下面有关C++类和对象的说法,错误的是()。

{{ select(3) }}

  • 对象的生命周期开始时,会执行构造函数。
  • 对象的生命周期结束时,会执行析构函数。
  • 类的析构函数可以为虚函数。
  • 类的构造函数可以为虚函数。

4. 使用邻接矩阵表达n个顶点的有向图,则该矩阵的大小为()。

{{ select(4) }}

  • n×(n + 1)
  • n×n
  • n×(n - 1)
  • n×(n - 1)/2

5. 5位同学排队,其中一位同学不能排在第一,则共有多少种可能的排队方式?

{{ select(5) }}

  • 5
  • 24
  • 96
  • 120

6. 一个无向图包含n个顶点,则其最小生成树包含多少条边?

{{ select(6) }}

  • n - 1
  • n
  • n + 1
  • 最小生成树可能不存在。

7. 已知三个double类型的变量a、b和theta分别表示一个三角形的两条边长及二者的夹角(弧度),则下列哪个表达式可以计算这个三角形的面积?

{{ select(7) }}

  • a*b*sin(theta)/2
  • (a + b)*sin(theta)/20
  • a*b*cos(theta)/2
  • sqrt(a*a + b*b - 2*a*b*cos(theta))

8. 对有n个元素的二叉排序树进行中序遍历,其时间复杂度是()。

{{ select(8) }}

  • O(1)
  • O(log(n))
  • O(n)
  • O(n2)

9. 假设输入参数m和n满足m≤n,则下面程序的最差情况的时间复杂度为()。

{{ select(9) }}

  • O(log(n))
  • O(n)
  • O(n×m)
  • O(m×log(n))

10. 下面程序的时间复杂度为()。

{{ select(10) }}

  • O(n)
  • O(an)
  • O(log(n))
  • O(log(n)×a)

11. 下面程序的时间复杂度为()。

{{ select(11) }}

  • O(2n)
  • O(2m×(n - m))
  • O(c(n,m))
  • O(m×(n - m))

12. 下面的程序使用出边的邻接表表达有向图,则下列选项中哪个是它表达的图?

{{ select(12) }}

13. 下面程序的输出为()。

{{ select(13) }}

  • 12
  • 18
  • 36
  • 42

14. 下面程序的输出为()。

{{ select(14) }}

  • 3
  • 6
  • 11
  • 22

15. 下面的程序中,二维数组h和v分别代表如下图所示的网格中的水平边的时间消耗和垂直边的时间消耗。程序使用动态规划计算从左下角到右上角的最小时间消耗,则横线处应该填写下列哪个选项的代码?

{{ select(15) }}

  • dis[i][j]=min(dis[i - 1][j]+v[i - 1][j],dis[i][j - 1]+h[i][j - 1]);
  • dis[i][j]=min(dis[i - 1][j]+h[i - 1][j],dis[i][j - 1]+v[i][j - 1]);
  • dis[i + 1][j + 1]=min(dis[i][j + 1]+v[i][j + 1],dis[i + 1][j]+h[i + 1][j]);
  • dis[i + 1][j + 1]=min(dis[i][j + 1]+h[i][j + 1],dis[i + 1][j]+v[i + 1][j]);