考试时间:60 分钟 满分:100 分
适用:小学组|算法应用主题赛
版本:2026 初赛(星火征途)
内容:试题 + 答案 + 详细解析
用途:备考刷题、复习巩固、赛前训练
一、单项选择题(每题 5 分,共15题, 75 分)
第 1 题
在 “星火征途” 的星际导航系统中,工程师定义了存储星区坐标的二维数组:int coordinates[5][7];,该数组一共可存储多少个坐标点?()
A. 7
B. 12
C. 35
D. 43
✅ 正确答案:C
解析:二维数组元素总数 = 行数 × 列数,5 × 7 = 35。
第 2 题
飞船能量核心充能代码执行后,energy 最终值为多少?()
1 2 3 4 int energy = 0;for(int i = 1; i <= 10; i++) if(i % 3 == 0) energy += i;
A. 18
B. 20
C. 30
D. 55
✅ 正确答案:A
解析:1~10 中 3 的倍数:3、6、9,和为 3+6+9 = 18。
第 3 题
int temp[] = {20, 25, 30};,请问 temp[2] 的值是?()
A. 0
B. 30
C. 随机值
D. 编译错误
✅ 正确答案:B
解析:数组下标从 0 开始,temp[2] 是第三个元素 30。
第 4 题
以下嵌套循环输出多少个 *?()
1 2 3 for(int i = 0; i < 4; i++) for(int j = 0; j <= i; j++) cout << "*";
A. 6
B. 10
C. 16
D. 20
✅ 正确答案:B
解析:1+2+3+4 = 10。
第 5 题
求信号最大值,①处应填?()
1 2 3 4 5 6 int signal[5] = {10, 50, 30, 20, 40};int maxVal = signal[0];for(int i = 1; i < 5; i++){ if(①) maxVal = signal[i];}
A. signal[i] > maxVal
B. signal[i] < maxVal
C. signal[i] > signal[0]
D. i > maxVal
✅ 正确答案:A
解析:当前元素比最大值大时,更新最大值。
第 6 题
n=3 的回型方阵(同心圈层递增)正确输出是?()
A. B. C. D.
1 1 1 1 2 1 1 1 1 1 2 3
1 2 1 2 3 2 1 2 2 2 2 3
1 1 1 1 2 1 1 2 3 3 3 3
✅ 正确答案:B
解析:同心回型方阵从外到内逐层加 1,3×3 正确为 B。
第 7 题
细菌繁殖代码执行后,count 的值为?()
1 2 3 4 int count = 0;for(int i = 0; i < 3; i++) for(int j = 0; j < 2; j++) count++;
A. 5
B. 6
C. 9
D. 12
✅ 正确答案:B
解析:3 行 × 2 列 = 6 次。
第 8 题
int station[5][6];,station[2][3] 的行号、列号是?()
A. 第 2 行,第 3 列
B. 第 3 行,第 2 列
C. 第 2 行,第 4 列
D. 第 3 行,第 4 列
✅ 正确答案:D
解析:数组下标从 0 开始,[2][3] 对应第 3 行第 4 列。
第 9 题
九九乘法表中,i=3 时输出几个等式?()
1 2 3 for(int i=1;i<=9;i++) for(int j=1;j<=i;j++) cout<<j<<"*"<<i<<"="<<i*j<<" ";
A. 3
B. 6
C. 9
D. 1
✅ 正确答案:A
解析:j=1、2、3,共 3 个等式。
第 10 题
递推公式:a[1]=1,a[i]=a[i-1]*2+1,n=4 时 a[4] 为?()
A. 15
B. 31
C. 7
D. 63
✅ 正确答案:A
解析:a1=1 → a2=3 → a3=7 → a4=15。
第 11 题
5×5 空心正方形边框判断条件正确的是?()
A. i==1||i==5||j==1||j==5
B. i==1&&i==5&&j==1&&j==5
C. i==1||j==1
D. i==5||j==5
✅ 正确答案:A
解析:第一行、最后一行、第一列、最后一列都是边框。
第 12 题
关于数组与循环,错误的是?()
A. 数组越界可能崩溃
B. break 可跳出循环
C. 数组名是首地址
D. int a[n] 中 n 可为运行时变量
✅ 正确答案:D
解析:标准 C++ 数组长度必须是常量。
第 13 题
数组交换代码执行后结果为?()
1 2 3 4 5 6 int arr[4] = {1,2,3,4};for(int i=0;i<2;i++){ int temp = arr[i]; arr[i] = arr[3-i]; arr[3-i] = temp;}
A. {1,2,3,4}
B. {4,3,2,1}
C. {2,1,4,3}
D. {4,2,3,1}
✅ 正确答案:B
解析:首尾交换两次,数组变为 {4,3,2,1}。
第 14 题
5×5 空心正方形代码,说法正确的是?()
1 2 3 4 5 6 7 8 9 for(int i=1;i<=5;i++){ for(int j=1;j<=5;j++){ if(i==1||i==5||j==1||j==5) cout<<"*"; else cout<<" "; } cout<<endl;}
A. 逻辑正确
B. 输出实心
C. 只输出一行
D. 会报错
✅ 正确答案:A
解析:边框判断正确,可正常输出空心正方形。
第 15 题
以下代码时间复杂度为?()
1 2 for(int i=0;i<n;i++) for(int j=0;j<n;j++)
A. O(n)
B. O(n²)
C. O(2n)
D. O(1)
✅ 正确答案:B
解析:双层循环,复杂度 O(n²)。
二、判断题(对打√,错打 ×,每题 5 分,共5题, 25 分)
第 1 题
int data[5] = {1,2};,未赋值元素自动为 0。()
✅ 正确答案:√
解析:整型数组部分初始化,剩余默认为 0。
第 2 题
do-while 循环至少执行一次。()
✅ 正确答案:√
解析:先执行,后判断。
第 3 题
int map[3][4];,map[2][3] 是最后一个元素。()
✅ 正确答案:√
解析:行 0~2,列 0~3,是最后一个元素。
第 4 题
continue 立即终止整个循环。()
✅ 正确答案:×
解析:continue 只跳过本次,不结束循环。
第 5 题
char str[]="Star"; 占用 5 字节(含\0)。()
✅ 正确答案:√
解析:4 个字符 + 结束符 = 5 字节。
加入工作室
学习编程知识
锻炼逻辑思维
让自己变得更优秀
欢迎同学们组队
学习 C++
感受不一样的程序人生
成为新时代的领军人物
扫码关注
感谢您关注
信奥科创工作室
官方微信

互动支持
期待您的分享 点赞 在看