A. 全国信息素养大赛小学组C++算法应用主题赛初赛模拟试卷03
全国信息素养大赛小学组C++算法应用主题赛初赛模拟试卷03
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
一、单项选择题(每题5分,共50分)
第 1 题
在C++中,以下哪个选项中的变量类型与所赋初始值不匹配?
{{ select(1) }}
int age = 12;double pi = 3.14;char grade = 'A';int height = 1.75;
第 2 题
执行以下代码后,变量 x 的值是?
int x = 10;
x += 5;
x *= 2;
x -= 8;
{{ select(2) }}
- 22
- 20
- 28
- 30
第 3 题
"算盘口诀"检测程序中,执行以下代码:
int n = 15;
if (n % 3 == 0 && n % 5 == 0) {
cout << "A";
} else if (n % 3 == 0) {
cout << "B";
} else if (n % 5 == 0) {
cout << "C";
} else {
cout << "D";
}
输出结果是? {{ select(3) }}
- A
- B
- C
- D
第 4 题
执行以下代码,输出的第3个数字是?
for (int i = 10; i >= 1; i--) {
if (i % 3 == 0) cout << i << " ";
}
{{ select(4) }}
- 9
- 6
- 3
- 8
第 5 题
"数字传承"程序中,执行以下代码:
int n = 1357, s = 0;
while (n > 0) {
s += n % 10;
n /= 10;
}
cout << s;
输出结果是? {{ select(5) }}
- 15
- 16
- 14
- 17
第 6 题
"编钟音律"排列计算中,执行以下代码:
int cnt = 0;
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
if (i + j == 6) cnt++;
}
}
cout << cnt;
输出结果是? {{ select(6) }}
- 4
- 5
- 6
- 7
第 7 题
"榫卯结构"设计中,需要统计1~30中所有既是2的倍数又是3的倍数的数并求和:
int sum = 0;
for (int i = 1; i <= 30; i++) {
if (i % 2 == 0 && i % 3 == 0) {
sum += i;
}
}
cout << sum;
输出结果是? {{ select(7) }}
- 90
- 72
- 180
- 108
第 8 题
"丝绸之路"驼队运载统计中,数组记录了各驼队的货物重量:
int weight[5] = {18, 7, 22, 5, 13};
int ans = weight[0];
for (int i = 1; i < 5; i++) {
if (weight[i] < ans) ans = weight[i];
}
cout << ans;
输出结果是? {{ select(8) }}
- 22
- 5
- 18
- 13
第 9 题
"度量衡转换"程序中定义了如下函数:
int convert(int x) {
int res = 0;
while (x > 0) {
res = res * 10 + x % 10;
x /= 10;
}
return res;
}
执行 cout << convert(1234); 的输出是?
{{ select(9) }}
- 1234
- 10
- 4321
- 0
第 10 题
"非遗作品"评分系统中定义了结构体:
struct Work {
string name;
int score;
};
Work list[4] = {
{"苏绣", 92},
{"竹编", 85},
{"陶艺", 96},
{"剪纸", 88}
};
执行以下代码:
int maxScore = list[0].score;
int idx = 0;
for (int i = 1; i < 4; i++) {
if (list[i].score > maxScore) {
maxScore = list[i].score;
idx = i;
}
}
cout << list[idx].name;
输出结果是? {{ select(10) }}
- 苏绣
- 竹编
- 陶艺
- 剪纸
二、多项选择题(每题5分,共25分)
第 11 题
以下关于C++变量、数据类型和运算的说法,正确的有?
A. int 类型变量可以存储整数
B. 变量名 3abc 是合法的
C. double 类型变量可以存储小数
D. 表达式 8 % 3 的结果是 2
{{ input(11) }}
第 12 题
执行以下代码:
string s = "CHINA";
for (int i = 0; i < s.length(); i++) {
cout << s[i];
}
cout << endl;
以下说法正确的有?
A. 输出结果为 "CHINA"
B. s.length() 的值是 5
C. s[0] 的值是字符 'C'
D. s[5] 可以正确访问到字符 'A'
{{ input(12) }}
第 13 题
执行以下代码:
int a = 0, b = 0;
for (int i = 1; i <= 8; i++) {
if (i % 2 == 0) a++;
else b++;
}
以下说法正确的有?
A. 变量 a 的值为 4
B. 变量 b 的值为 4
C. 变量 a 的值等于变量 b 的值
D. a + b 的值为 8
{{ input(13) }}
第 14 题
小华想用枚举法找出所有满足 a + b = 10 且 a、b 均为正整数(规定 a <= b)的数对。以下说法正确的有?
A. 可以用一重 for 循环枚举 a 的值,然后计算 b = 10 - a
B. 满足条件的数对有 (1,9)、(2,8)、(3,7)、(4,6)、(5,5)
C. 共有 4 种不同的数对
D. 枚举时 a 的最大取值为 5
{{ input(14) }}
第 15 题
"长城烽火"信号传递中,数组存储了一段信号强度值:
int signal[6] = {3, 8, 2, 9, 5, 7};
执行以下代码后:
int pos = 0;
for (int i = 1; i < 6; i++) {
if (signal[i] > signal[pos]) pos = i;
}
以下说法正确的有?
A. 循环结束后 pos 的值为 3
B. signal[pos] 的值为 9
C. 此代码的功能是找出数组中最大值的位置
D. 若将 > 改为 <,则找出的是最小值的位置
{{ input(15) }}
三、判断题(每题5分,共25分)
第 16 题
C++中,变量必须先定义后使用。 {{ select(16) }}
- 正确
- 错误
第 17 题
以下代码执行后,输出结果为 "0 1 2 3 4"。
for (int i = 0; i < 10; i++) {
if (i == 5) break;
cout << i << " ";
}
{{ select(17) }}
- 正确
- 错误
第 18 题
"九章算术"方田问题中,执行以下代码后,变量 ans 的值为 25。
int ans = 0;
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
if (i == j) ans += i;
}
}
{{ select(18) }}
- 正确
- 错误
第 19 题
C++中,函数的返回值类型必须与函数定义时声明的返回类型一致。 {{ select(19) }}
- 正确
- 错误
第 20 题
执行以下代码后,输出结果为 5。
string words[4] = {"red", "heritage", "silk", "china"};
int cnt = 0;
for (int i = 0; i < 4; i++) {
if (words[i].length() > 4) cnt++;
}
cout << cnt;
{{ select(20) }}
- 正确
- 错误
2026年05月22日小学组全国信息素养大赛C++算法应用主题赛第三场初赛模拟
- 状态
- 已结束
- 规则
- OI
- 题目
- 1
- 开始于
- 2026-5-22 20:00
- 结束于
- 2026-5-22 21:00
- 持续时间
- 1 小时
- 主持人
- 参赛人数
- 9