#1387. GESP-C++ 综合模拟测(HJXXT)

GESP-C++ 综合模拟测(HJXXT)

CCF GESP C++ 综合模拟测 (2025 年 03 月 5号)

一、单选题(每题 2 分,共 30 分)

(1)定义一个包含 5 个整数的一维数组,正确的是( )

{{ select(1) }}

  • int a[5];
  • int a(5);
  • int a{5};
  • int a = [5];

(2)已知int arr[4] = {10, 20, 30, 40};,访问数组中第 3 个元素的正确方式是( )####

{{ select(2) }}

  • arr[2]
  • arr[3]
  • arr(2)
  • arr{2}

(3)以下对冒泡排序算法的描述,正确的是( )####

{{ select(3) }}

  • 冒泡排序是一种不稳定的排序算法
  • 冒泡排序在最好情况下的时间复杂度为 (O(n))
  • 冒泡排序不需要额外的存储空间
  • 冒泡排序每次比较相邻的两个元素,将较小的元素往后移

(4)选择排序在每次选择元素时,是从( )选择。####

{{ select(4) }}

  • 已排序部分
  • 未排序部分
  • 整个数组
  • 数组的前半部分

(5)定义一个 3 行 4 列的二维数组,正确的是( )

{{ select(5) }}

  • int a[3, 4];
  • int a[3][4];
  • int a(3, 4);
  • int a[][4] = {{1, 2, 3}, {4, 5, 6}};

(6)字符数组char str[10] = "Hello";,该字符数组的实际长度是( )

{{ select(6) }}

  • 5
  • 6
  • 10
  • 不确定

(7)关于函数定义和调用,以下说法正确的是( )

{{ select(7) }}

  • 函数定义可以嵌套,但函数调用不能嵌套
  • 函数必须有返回值
  • 函数定义时的参数是实参,函数调用时的参数是形参
  • 函数可以提高代码的复用性

(8)以下递归函数的功能是计算( )

int func(int n) {
		if (n == 0) return 1;
		return n * func(n - 1);
}

{{ select(8) }}

  • n的阶乘
  • n的平方
  • n的立方
  • 2n

(9)若有结构体定义struct Point { int x; int y; };,定义一个结构体变量并初始化,正确的是( )

{{ select(9) }}

  • Point p = {1, 2};
  • struct Point p = [1, 2];
  • Point p(1, 2);
  • struct Point p = {x: 1, y: 2};

(10)十进制数 25 转换为二进制数是( )

{{ select(10) }}

  • 11001
  • 10101
  • 11101
  • 10011

(11)以下位运算符中,按位与运算符是( )

{{ select(11) }}

  • |
  • &
  • ^
  • ~

(12)已知int a = 5, b = 3;,则a & b的结果是( )

{{ select(12) }}

  • 1
  • 3
  • 5
  • 7

(13)枚举算法的核心思想是( )

{{ select(13) }}

  • 分而治之
  • 穷举所有可能情况
  • 贪心选择
  • 动态规划

(14)对于一个需要频繁插入和删除元素的场景,以下哪种数据结构更合适( )

{{ select(14) }}

  • 数组
  • 链表
  • 队列

(15)以下关于递推算法的描述,错误的是( )

{{ select(15) }}

  • 递推算法需要有初始条件
  • 递推算法分为正序递推和倒序递推
  • 递推算法一定比递归算法效率高
  • 斐波那契数列的计算可以使用递推算法

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

1.数组名在很多情况下会被转换为指向数组首元素的指针。( )

{{ select(16) }}

2.插入排序是一种稳定的排序算法。( )

{{ select(17) }}

3.计数排序的时间复杂度始终为 (O(n))。( )

{{ select(18) }}

4.二维数组在内存中按列存储时,先存储第一列元素,再存储第二列元素。( )

{{ select(19) }}

5.字符串可以用字符数组存储,也可以使用string类型存储,二者没有区别。( )

{{ select(20) }}

6.函数的形参在函数调用时才分配内存空间。( )

{{ select(21) }}

7.递归函数调用自身时,每次调用的参数必须不同,否则会导致无限递归。( )

{{ select(22) }}

8.结构体中的成员不能是结构体类型。( )

{{ select(23) }}

9.二进制数 1010 转换为十六进制数是 A。( )

{{ select(24) }}

10.位运算中的左移操作相当于对操作数乘以 2 的移动位数次方。( )

{{ select(25) }}