考试时间:60 分钟 满分:100 分
适用:小学组|算法应用主题赛
版本:2026 初赛(智传民韵)
内容:试题 + 答案 + 详细解析
用途:备考刷题、复习巩固、赛前训练
一、单项选择题(每题 5 分,共 15 题,75 分)
第 1 题
运行以下程序,输出结果是()
int func(int &y) { y -= 5; return 1;}int main() { int x = 10, y = 5; if (x > y || func(y)) cout << y; return 0;}
A. 0
B. 5
C. 10
D. 1
✅ 正确答案:B
解析:x>y 为真,|| 短路,func 不执行,y 保持 5。
短路:条件A || 条件B 如果 条件 A 已经是真(成立)条件 B 根本不会执行!这就叫 短路。
第 2 题
运行以下程序,输出结果是()
int i = 3, t = 0;while (i * i <= 40) { t++; i += 3;}cout << t;
A. 2
B. 3
C. 4
D. 5
✅ 正确答案:B
解析:i=3、6、9 三次循环,t=3。
第 3 题
执行 cout << (char)('Z' - 3); 输出为()
A. W
B. X
C. V
D. U
✅ 正确答案:A
解析:'Z'-3 对应字符 'W'。
第 4 题
下列运算符优先级最高的是()
A. +
B. %
C. <=
D. &&
✅ 正确答案:B
解析:%(算术)优先级 > + > 关系 > 逻辑。
第 5 题
运行以下程序,输出结果是()
int main() { int x = 10, y = 3; if(x > y) cout << "民"; else cout << "族"; return 0;}
A. 民
B. 族
C. 民族
D. 无输出
✅ 正确答案:A
解析:10>3 成立,输出 “民”。
第 6 题
运行以下递归程序,fun(5) 的结果是()
int fun(int x) { if (x <= 1) return 2; return x + fun(x - 2);}
A. 10
B. 12
C. 13
D. 14
✅ 正确答案:A
解析:5+3+2=10。
第 7 题
运行以下程序,输出结果是()
int a[] = {12,5,8,22,9};int m = a[0];for(int i=1;i<5;i++) if(a[i]%2==0) m = a[i];cout << m;
A. 12
B. 8
C. 22
D. 9
✅ 正确答案:C
解析:遍历偶数,最后一个偶数为 22。
第 8 题
运行以下程序,输出结果是()
int f(int a,int b){ if(b==0) return a; return f(b,a%b);}int main() { cout<<f(24,18); return 0;}
A. 3
B. 6
C. 9
D. 12
✅ 正确答案:B
解析:求最大公约数 gcd (24,18)=6。
第 9 题
运行以下程序,输出结果是()
int s=0;for(int i=1;i<=10;i++) if(i%3==0) continue; else s+=i;cout<<s;
A. 37
B. 40
C. 28
D. 55
✅ 正确答案:A
解析:跳过 3、6、9,1+2+4+5+7+8+10= 37。
第 10 题
运行以下程序,输出结果是()
int x=7;do { x--;} while(x%3!=0);cout<<x;
A. 3
B. 6
C. 0
D. 4
✅ 正确答案:B
解析:循环到 x=6 退出。
第 11 题
运行以下程序,输出结果是()
int main(){ string s="MINYUN56"; int c=0; for(int i=0;i<s.size();i++) if(isdigit(s[i])) c++; cout<<c; return 0;}
A. 0
B. 1
C. 2
D. 3
✅ 正确答案:C
解析:数字为 '5'、'6',共 2 个。
第 12 题
运行以下程序,输出结果是()
int a=3,b=4;bool p=(a>b)||(a+b>6);cout<<p;
A. 0
B. 1
C. 3
D. 4
✅ 正确答案:B
解析:3+4>6 成立,输出 1。
第 13 题
运行以下程序,输出结果是()
int x=1;for(int i=1;i<=5;i++) x*=i;cout<<x;
A. 120
B. 60
C. 24
D. 5
✅ 正确答案:A
解析:1×2×3×4×5=120。
第 14 题
运行以下程序,输出结果是()
int main(){ int a=10; int *p=&a; (*p)++; cout<<a; return 0;}
A. 9
B. 10
C. 11
D. 随机数
✅ 正确答案:C
解析:指针自增,a=10+1=11。
第 15 题
运行以下程序,输出结果是()
int main(){ int a=20; cout<<(a/3)<<" "<<(a%3); return 0;}
A. 6 2
B. 7 1
C. 5 5
D. 6 1
✅ 正确答案:A
解析:20/3=6,20%3=2。
二、判断题(对打√,错打 ×,每题 5 分,共 5 题,25 分)
第 1 题
C++ 中 string 可以正确存储中文民族名称、节日等字符串。()
✅ 正确答案:√
解析:string 支持存储中文字符串。
第 2 题
变量名可以使用中文,如 int 民族=56; 是合法定义。()
✅ 正确答案:×
解析:标准 C++ 变量名不支持中文。
第 3 题
数组下标从 0 开始,越界访问会导致程序崩溃或未知行为。()
✅ 正确答案:√
解析:数组越界属于未定义行为。
第 4 题
while 循环可用于遍历民族文化数据列表,直到遍历结束。()
✅ 正确答案:√
解析:while 循环可实现列表遍历。
第 5 题
递归函数必须有出口,否则会无限递归导致栈溢出。()
✅ 正确答案:√
解析:递归必须设置终止条件。
加入工作室
学习编程知识
锻炼逻辑思维
让自己变得更优秀
欢迎同学们组队
学习 C++
感受不一样的程序人生
成为新时代的领军人物
扫码关注
感谢您关注
信奥科创工作室
官方微信
互动支持
期待您的分享 点赞 在看