考试时间:60 分钟 满分:100 分
适用:初中组|算法创意主题赛
版本:2026 初赛真题三
内容:试题 + 答案 + 详细解析
用途:备考刷题、复习巩固、赛前训练
一、单项选择题(每题 5 分,共 15 题,75 分)
第 1 题
在 C++ 中,表示逻辑运算符 “或” 的是?()
A. ||
B. &
C. ==
D. @
✅ 正确答案:A
解析:|| 是逻辑或,&& 是逻辑与,== 是相等判断。
第 2 题
执行下列代码,输入 3,输出结果为?()
1 2 3 4 5 6 7 8 #include<iostream>using namespace std;int main(){ int n; cin >> n; cout << n - 3; return 0;}
A. -n
B. 0
C. 9
D. 81
✅ 正确答案:B
解析:输入 3,计算 3-3=0。
第 3 题
下列选项中,输出结果为 0 的是?()
A. cout << "5 - 5";
B. cout << 5 - 5;
C. cout << 2 * 3;
D. cout << 7 / 2;
✅ 正确答案:B
解析:5-5=0;A 输出字符串,C 输出 6,D 输出 3。
第 4 题
执行下列代码段,输出结果为?()
1 cout << 10 % 3;
A. 1
B. 2
C. 5
D. 10
✅ 正确答案:A
解析:10 除以 3 商 3 余 1。
第 5 题
下列不属于 C++ 基本程序框架的是?()
A. 头文件
B. 命名空间
C. 主函数
D. 程序开发时间
✅ 正确答案:D
解析:C++ 框架包含头文件、命名空间、main 函数,开发时间不属于语法框架。
第 6 题
阅读以下程序,输入 1 5,输出的结果是?()
1 2 3 4 5 int a,b;cin >> a >> b;a += b;b *= a;cout << a << " " << b << endl;
A. 1 5
B. 6 5
C. 5 6
D. 6 30
✅ 正确答案:D
解析:a=1+5=6;b=5×6=30,输出 6 30。
第 7 题
在 C++ 程序中,可以得到一个四位整数的十位上的数字的表达式是?()
A. number / 1000
B. number / 100 % 10
C. number / 10 % 10
D. number % 10
✅ 正确答案:C
解析:先除以 10 去掉个位,再对 10 取余得到十位。
第 8 题
以下程序的功能是对一个正整数 n 进行数位分离,并按逆序打印每一位,① 处应该填写?()
1 2 3 4 5 6 cin >> n;while (__){ int d = n % 10; n /= 10; cout << d;}
A. n > 0
B. n >= 0
C. n < 0
D. n <= 0
✅ 正确答案:A
解析:当 n 大于 0 时继续循环,逐位拆分。
第 9 题
下面程序输出的结果是 “1 4 7 10”,补全 ① 处的代码?()
1 2 3 for(int i=1;i<=10;__){ cout << i << " ";}
A. i++
B. i *= 2
C. i += 3
D. i * 2
✅ 正确答案:C
解析:每次加 3,依次得到 1、4、7、10。
第 10 题
执行下列代码,输出结果为?()
1 2 3 4 5 6 for (int i=1;i<=5; i++){ if (i%2==0){ continue; } cout << i << " ";}
A. 1
B. 2 4
C. 1 3 5
D. 1 2 3 4
✅ 正确答案:C
解析:continue 跳过偶数,只输出1 3 5。
第 11 题
下图为 n = 5 时输出的图案,输入一个正整数 n,输出一个 n+1 行特殊的直角三角形,则①处应补充的代码为?( )
1 2 3 4 5 6 7 8 9 int n;cin >> n;cout << "*" << endl;for (int i = 1; i <= n; i++){ for (int j = 1; __①__; j++){ cout << "*"; } cout << endl;}
A. j <= 2 * i
B. j <= i
C. j <= 2 * i - 1
D. j <= 2 * i + 1
✅ 正确答案:C
解析:第 i 行输出 2*i-1 个星号,构成直角三角形图案。
第 12 题
以下程序段输出的结果为?()
1 2 3 4 5 6 7 8 9 int cnt=0;for (int i=0;i<5;i++){ for (int j=0;j<4;j++){ for (int k=0;k<2;k++){ cnt++; } }}cout << cnt;
A. 40
B. 60
C. 90
D. 120
✅ 正确答案:A
解析:5×4×2=40。
第 13 题
阅读以下代码,输出的内容是?()
1 2 3 4 5 6 for(int i=1;i<=4; i++){ for(int j=5;j>=1;j--) { cout <<j<<" "; } cout << endl;}
A. 1 2 3 4 5
B. 5 4 3 2 1
C. 1 2 3 4
D. 5 4 3 2 1 重复 4 行
✅ 正确答案:D
解析:外层循环 4 次,每行倒序输出 5 4 3 2 1。
第 14 题
执行以下程序,输入 5,输出的结果是?()
1 2 3 4 5 6 cin >>n;int ans=0;for (int i=1;i<=n; i++){ ans = ans + i*i;}cout << ans;
A. 5
B. 30
C. 55
D. 85
✅ 正确答案:C
解析:1+4+9+16+25=55。
第 15 题
运行以下程序,输入 6,输出的结果是?()
1 2 3 4 5 6 7 8 cin >> n;if (n%2==0){ cout << "QWER";}else if (n%3==0){ cout << "WERQ";}else{ cout << "RQWE";}
A. QWER
B. WERQ
C. ERQW
D. RQWE
✅ 正确答案:A
解析:6 是偶数,进入第一个分支,输出QWER。
二、判断题(对打√,错打 ×,每题 5 分,共 5 题,25 分)
第 16 题
在 C++ 中,&& 表示逻辑运算符 “或”。()
✅ 正确答案:×
解析:&& 是逻辑与,|| 才是逻辑或。
第 17 题
在 C++ 中可以定义数组并初始化 int c[3]={1,2,3,4,5}。()
✅ 正确答案:×
解析:数组长度为 3,不能初始化 5 个元素,越界报错。
第 18 题
在 C++ 语言中一维数组的下标是从 0 开始的。()
✅ 正确答案:√
解析:C++ 数组下标默认从 0 开始。
第 19 题
代码段最终 i 的值是 -1。()
1 2 3 4 int i=5;while(i>0){ i-=2;}
✅ 正确答案:√
解析:i 依次为 5→3→1→-1,退出循环。
第 20 题
定义 int arr[5]; 后,执行 arr[5]=5 不会导致数组越界。()
✅ 正确答案:×
解析:数组下标范围 0~4,arr [5] 越界。
加入工作室
学习编程知识
锻炼逻辑思维
让自己变得更优秀
欢迎同学们组队
学习 C++
感受不一样的程序人生
成为新时代的领军人物
扫码关注
感谢您关注
信奥科创工作室
官方微信

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