A. 小高组复赛模拟题3:C++基础综合客观题

    客观题

小高组复赛模拟题3:C++基础综合客观题

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

小高组复赛模拟题 3:C++ 基础综合客观题

本题包含判断题、多选题和单选题。请按题目要求作答。


一、判断题


  1. 计算两个超长整数(如 200 位)的乘积,可以使用双重循环模拟手算乘法的过程来实现。()

{{ select(1) }}

  • 正确
  • 错误

  1. 递归函数中,如果漏掉了终止条件,程序编译时会报错。()

{{ select(2) }}

  • 正确
  • 错误

  1. 归并排序的时间复杂度在平均和最坏情况下都是 O(NlogN)。()

{{ select(3) }}

  • 正确
  • 错误

  1. 结构体和类在 C++ 中完全一样,没有任何区别。()

{{ select(4) }}

  • 正确
  • 错误

  1. 表达式 (10 >> 1) 的值是 5。()

{{ select(5) }}

  • 正确
  • 错误

二、多选题


  1. 关于“模拟法”编程,下列说法合理的有?

{{ multiselect(6) }}

  • 模拟法适用于题目过程清晰、逻辑规则明确的问题
  • 编写模拟程序时,不需要考虑优化,只要逻辑对即可
  • 模拟“时钟走动”时,要注意秒、分、时之间的进位关系
  • 模拟“掷骰子”统计概率时,可能需要用到随机数函数 rand()

  1. 在解决高精度减法问题时(假设大数减小数),我们需要注意的关键点包括?

{{ multiselect(7) }}

  • 对齐数位
  • 处理借位操作
  • 处理前导零
  • 直接使用 cin >> 读入两个 int 变量进行减法

  1. 想要将十进制数 20 转换为二进制,下列计算过程或结果正确的有?

{{ multiselect(8) }}

  • 结果为 10100
  • 结果为 10101
  • 计算过程包含短除法,不断除以 2 取余
  • 计算过程包含不断乘以 2 取整

  1. 下列属于不稳定排序算法的有?

{{ multiselect(9) }}

  • 冒泡排序
  • 快速排序
  • 选择排序
  • 归并排序

  1. 下列关于指针和引用的描述,正确的有?

{{ multiselect(10) }}

  • 指针可以不初始化,但引用定义时必须初始化
  • 指针存放的是地址,引用是变量的别名
  • 指针可以改变指向,引用一旦绑定就不能改变指向
  • 空指针 NULL 可以赋值给引用

三、单选题


  1. 定义一个类 class Box { public: int width; };,若要创建一个对象并将其成员 width 初始化为 5,下列代码正确的是?

{{ select(11) }}

  • Box.width = 5;
  • Box b; b.width = 5;
  • Box b; Box::width = 5;
  • b.width = 5;

  1. 下列关于“枚举法”的描述,最准确的是?

{{ select(12) }}

  • 枚举法是一种根据数学公式直接求解的算法
  • 枚举法通过尝试所有可能的情况,来验证哪一种情况符合问题的条件
  • 枚举法的时间复杂度永远是 O(1)
  • 枚举法只能用于解决几何问题

  1. 进行高精度加法运算时(例如两个 1000 位的正整数相加),通常采用的存储方式是?

{{ select(13) }}

  • 使用 long long 类型直接存储
  • 使用 double 类型直接存储
  • 使用数组或字符串,逆序存储每一位数字
  • 使用队列存储每一位数字

  1. 关于函数的递归调用,下列说法正确的是?

{{ select(14) }}

  • 递归必须要有明确的终止条件,否则会无限循环
  • 递归函数的执行效率通常比非递归函数高
  • 所有的循环都可以用递归实现,但递归不能替代所有的循环
  • 递归层数过深会导致堆溢出

  1. 下列字符数组操作中,能够正确计算字符串实际长度(不包括结束符)的是?

{{ select(15) }}

  • sizeof(str)
  • strlen(str)
  • str.length()
  • str.size()

  1. 在 C++ 中,表达式 5 & 3 的结果是?

{{ select(16) }}

  • 8
  • 2
  • 1
  • 7

  1. 定义结构体 struct Student { string name; int score; }; 后,若有 Student s;,下列操作正确的是?

{{ select(17) }}

  • Student.name = "Tom";
  • s.name = "Tom";
  • s->name = "Tom";
  • s *name = "Tom";

  1. 下列关于排序算法的描述中,错误的是?

{{ select(18) }}

  • 冒泡排序是通过相邻元素的比较和交换来实现的
  • 选择排序每一趟都能将一个未排序部分的最小元素放到最终位置
  • 快速排序是一种稳定的排序算法
  • 归并排序需要消耗额外的内存空间

  1. 已知二进制数 1011,将其转换为十进制数,结果是?

{{ select(19) }}

  • 9
  • 10
  • 11
  • 12

  1. 在 C++ 中,若定义 int a = 10; int *p = &a;,则下列表达式中,值不为 10 的是?

{{ select(20) }}

  • a
  • *p
  • P
  • *&a

智汇少年模拟赛

未参加
状态
已结束
规则
OI
题目
4
开始于
2026-7-24 8:00
结束于
2026-7-24 20:00
持续时间
1.5 小时
主持人
参赛人数
5