#G2412C4A. [GESP202412 四级] 客观题

[GESP202412 四级] 客观题

一、单项选择题(共 15 题,每题 2 分,共计 30 分;每题有且仅有一个正确选项)

  1. 下⾯的语句中,( )正确定义了⼀个计算浮点数的平⽅ ( ) 的函数,并成功调⽤该函数: {{ select(1) }}
  • image
  • image
  • image
  • image
  1. 下⾯代码的描述中,正确的是:

image

{{ select(2) }}

  • 代码执⾏结束后,times 的值为 0
  • n 是形参,times 是实参
  • n 是实参,times 是形参
  • 代码最后⼀⾏换成 n_chars(times, my_char); 也可以
  1. 给定以下代码,执⾏后变量 a 的值为( ):

image

{{ select(3) }}

  • 5
  • 10
  • 15
  • 20
  1. 运⾏下⾯代码,屏幕上输出是( ):

image

{{ select(4) }}

  • 0.2
  • 0.5
  • 1.2
  • 1.5
  1. 运⾏下⾯代码⽚段后,x*p 的结果分别是( ):

image

{{ select(5) }}

  • 20 20
  • 20 22
  • 22 20
  • 22 22
  1. 下⾯的描述中,( )不能正确定义⼀个名为 Student 的结构体以及⼀个包含 20 个元素的结构数组: {{ select(6) }}
  • image
  • image
  • image
  • image
  1. 假定整型是 32 位,对2行3列的⼆维整数数组 array,若数组第⼀个元素地址为 0x7ffee4065820,则 &array[1][1] 为( ):

image

{{ select(7) }}

  • 0x7ffee4065824
  • 0x7ffee4065828
  • 0x7ffee406582c
  • 0x7ffee4065830
  1. 下⾯( )正确定义⼆维数组: {{ select(8) }}
  • int a[3][];
  • int a[][];
  • int a[][4];
  • int a[][2] = {{1,2},{1,2},{3,4}};
  1. 下⾯代码采⽤递推算法计算斐波那契数列,横线处应填写( ):

image {{ select(9) }}

  • image
  • image
  • image
  • image
  1. 关于冒泡、插⼊、选择排序的描述中,不正确的是( ): {{ select(10) }}
  • 冒泡排序基于元素交换实现,需借助临时变量,共涉及 3 个单元操作;插⼊排序基于元素赋值,仅需 1 个单元操作。
  • 选择排序在任何情况下的时间复杂度都为 O(n2)O(n^2)
  • 冒泡排序在任何情况下的时间复杂度都为 O(n2)O(n^2)
  • 如果数据部分有序,插⼊排序通常比选择排序效率更⾼。
  1. 给定数组 arr[]={4,1,3,1,5,2},执⾏第⼀轮冒泡排序后 arr 为( ): {{ select(11) }}
  • 1, 4, 3, 1, 5, 2
  • 1, 3, 1, 4, 2, 5
  • 1, 4, 3, 1, 2, 5
  • 4, 1, 3, 1, 5, 2
  1. 给定如下代码,其时间复杂度为( ):

image {{ select(12) }}

  • O(n2)O(n^2)
  • O(2n)O(2^n)
  • O(1)O(1)
  • O(n)O(n)
  1. 下⾯插⼊排序函数横线处应填写( ):

image

{{ select(13) }}

  • int base = nums[i], j = i - 1;
  • int base = nums[i], j = i;
  • int base = nums[0], j = i - 1;
  • int base = nums[0], j = i;
  1. 下列⽅式中,不能将字符串 “Welcome to GESP!” 输出重定向到文件 log.txt 的是( ): {{ select(14) }}
  • image
  • image
  • image
  • image
  1. 运⾏下⾯代码,将出现什么情况?( )

image

{{ select(15) }}

  • 屏幕上输出 “Caught: Runtime error occurred”
  • 屏幕上输出 “Caught an unknown exception”
  • 程序调⽤ std::terminate()
  • 编译错误

二、判断题(共 10 题,每题 2 分,共计 20 分)

  1. 在 C++ 中,下⾯代码可以正确定义指针并初始化指针。

image {{ select(16) }}

  • 正确
  • 错误
  1. ⼀个函数必须在调⽤之前既声明⼜定义。 {{ select(17) }}
  • 正确
  • 错误
  1. 函数参数可以通过值、引⽤和指针传递,因⽽函数内对参数的修改可以直接影响实参。 {{ select(18) }}
  • 正确
  • 错误
  1. int arr[3][] 是⼀个正确的⼆维数组声明。 {{ select(19) }}
  • 正确
  • 错误
  1. 递推是⼀种通过已知初始值和递推公式逐步求解目标值的算法。 {{ select(20) }}
  • 正确
  • 错误
  1. 某算法递推关系式为 T(n)=T(n1)+nT(n)=T(n-1)+nnn 为正整数)及T(0)=1T(0)=1时,其时间复杂度为 O(n2)O(n^2),。 {{ select(21) }}
  • 正确
  • 错误
  1. 冒泡排序的平均时间复杂度为 O(n2)O(n^2),但最优情况下为 O(n)O(n)。 {{ select(22) }}
  • 正确
  • 错误
  1. 冒泡排序和插⼊排序都是稳定的排序算法。 {{ select(23) }}
  • 正确
  • 错误
  1. 选择排序是稳定的排序算法。 {{ select(24) }}
  • 正确
  • 错误
  1. 在 C++ 中,如果⼀个函数可能抛出异常,那么必须在 try ⼦句里调⽤它。 {{ select(25) }}
  • 正确
  • 错误