考试时间:60 分钟 满分:100 分
适用:小学组|算法应用主题赛
版本:2026 初赛(星火征途)
内容:试题 + 答案 + 详细解析
用途:备考刷题、复习巩固、赛前训练
(计算机基础) 在 “星火征途” 的计算机系统中,负责直接管理硬件并为软件提供运行环境的核心软件是()
A. 编译器
B. 操作系统
C. 数据库系统
D. 应用程序
✅ 正确答案:B
解析:操作系统是管理计算机硬件与软件资源的核心系统软件。
(进制转换) 在 C++ 中,如果需要表示十六进制的颜色值 “红色”(即十进制的 255),正确的写法是()
A. 0255
B. 255
C. 0xFF
D. #FF
✅ 正确答案:C
解析:C++ 中十六进制常量以0x开头,255 对应十六进制 0xFF。
(变量命名) 以下关于 C++ 变量命名规则的说法,错误的是()
A. 变量名只能由字母、数字和下划线组成
B. 变量名不能以数字开头
C. 变量名区分大小写
D. 变量名可以包含空格或标点符号
✅ 正确答案:D
解析:C++ 变量名不允许包含空格、标点等特殊符号。
(数据类型) 在 32 位系统中,定义 char ch = 'A'; int num = 65;,则 sizeof(ch) + sizeof(num) 的结果是()
A. 2
B. 5
C. 8
D. 1
✅ 正确答案:B
解析:32 位系统中,char 占 1 字节,int 占 4 字节,1+4=5。
(运算符优先级) 阅读以下代码,输出的结果是()
1 2 3 int a = 5, b = 3;int result = a > b ? a++ : b--;cout << result;
A. 3
B. 4
C. 5
D. 6
✅ 正确答案:C
解析:a>b 成立,取 a 的值5(后置 先取值再自增)。
(循环结构) 阅读以下程序片段,若输入 10,则循环体执行的次数是()
1 2 3 4 5 6 int n, sum = 0;cin >> n;for(int i = 1; i <= n; i++){ if(sum > 10) break; sum += i;}
A. 3 次
B. 4 次
C. 5 次
D. 10 次
✅ 正确答案:C
解析:i=1/2/3/4/5 共执行5 次,sum=15>10 触发 break。
(数组) 关于 C++ 中数组的描述,正确的是()
A. 数组的下标可以是负数
B. 数组在内存中是连续存储的
C. 数组的大小可以是变量且定义后可以动态改变
D. 数组名代表数组中第一个元素的值
✅ 正确答案:B
解析:C++ 数组在内存中占用连续存储空间。
(字符串) 假设
string s = "Spark Journey";,则 s.substr(6, 4) 的结果是()
A. "Jour"
B. "Journ"
C. "Jou"
D. "J"
✅ 正确答案:A
解析:substr (起始下标,长度),从下标 6 取 4 个字符,结果为Jour。
(函数) 关于函数重载(Overloading),以下说法错误的是()
A. 函数名必须相同
B. 参数的个数或类型必须不同
C. 返回值类型不同即可构成重载
D. 可以提高代码的可读性
✅ 正确答案:C
解析:函数重载只看参数,与返回值类型无关。
(指针基础) 阅读以下代码,输出的结果是()
1 2 3 4 int a = 10;int *p = &a;*p = 20;cout << a;
A. 10
B. 20
C. 变量 a 的地址
D. 编译错误
✅ 正确答案:B
解析:指针 p 指向 a,p=20 直接修改 a 的值为*20。
(数据结构) 在 “星火征途” 的任务调度系统中,如果需要遵循 “先进先出”(FIFO)的原则处理任务,应该使用哪种数据结构()
A. 栈 (Stack)
B. 队列 (Queue)
C. 链表 (List)
D. 数组 (Array)
✅ 正确答案:B
解析:队列的特性是先进先出(FIFO)。
(递归) 以下递归函数 f (n) 的功能是计算什么()
1 2 3 4 int f(int n) { if (n <= 1) return 1; return n * f(n-1);}
A. 斐波那契数列
B. 阶乘
C. 求最大公约数
D. 求幂
✅ 正确答案:B
解析:递归公式 n*f(n-1) 是阶乘标准实现。
(排序算法) 在平均时间复杂度最优的情况下,以下哪种排序算法的时间复杂度为 O (n log n)()
A. 冒泡排序
B. 选择排序
C. 快速排序
D. 插入排序
✅ 正确答案:C
解析:快速排序平均时间复杂度为O(n log n)。
(逻辑判断) 逻辑表达式 (A > B) || (C < D) && !(E == F) 中,运算符的优先级顺序正确的是()
A. ! > && > ||
B. || > && > !
C. && > || > !
D. ! > || > &&
✅ 正确答案:A
解析:优先级:非 (!) > 与 (&&) > 或 (||)。
(算法应用) 在一个长度为 n 的有序数组中查找特定元素,使用二分查找算法的时间复杂度是()
A. O (1)
B. O (n)
C. O (log n)
D. O (n²)
✅ 正确答案:C
解析:二分查找时间复杂度为O(log n)。
(变量作用域) 全局变量和局部变量可以重名,但在局部作用域内,局部变量会屏蔽全局变量。()
✅ 正确答案:√
解析:局部变量优先级高于同名全局变量,会屏蔽全局变量。
(引用) C++ 中的引用(Reference)是变量的别名,一旦初始化后,就不能再指向其他变量。()
✅ 正确答案:√
解析:引用初始化后不可更改指向,是变量的固定别名。
(内存管理) 使用 new 动态分配的内存,如果没有使用 delete 释放,在程序结束前会造成内存泄漏。()
✅ 正确答案:√
解析:new 与 delete 配对使用,未释放会造成内存泄漏。
(ASCII 码) 字符 '0' 的 ASCII 码值与整数 0 的数值是相等的。()
✅ 正确答案:×
解析:字符 '0' 的 ASCII 码是 48,与整数 0 不相等。
(图论) 深度优先搜索(DFS)通常使用队列(Queue)来实现。()
✅ 正确答案:×
解析:DFS 用栈实现,BFS(广搜) 用队列实现。
学习编程知识
锻炼逻辑思维
让自己变得更优秀
欢迎同学们组队
学习 C++
感受不一样的程序人生
成为新时代的领军人物
感谢您关注
信奥科创工作室
官方微信

期待您的分享 点赞 在看