#sy0001. 2026算法应用 C++ 小学组 初赛真题1
2026算法应用 C++ 小学组 初赛真题1
单选题(10题,共50分)
第1题(5分)
执行 for(int i=0;i<4;i++){ cout<<i*2; } 后,屏幕输出为?
{{ select(1) }}
- 246
- 0246
- 02468
- 2468
第2题(5分)
如果正整数 x 是 3 的倍数,同时也是 12 的约数,下列 C++ 表达式正确的?
{{ select(2) }}
x % 3 == 0 && x % 12 == 03 % x == 0 && 12 % x == 0x % 3 == 0 && 12 % x == 0x / 3 == 0 && 12 / x == 0
第3题(5分)
若 int a = 10, b = 5;,则表达式 a != b 的值为?
{{ select(3) }}
- true
- false
- 10
- 5
第4题(5分)
执行以下代码后,变量 b 的值为多少?
int b;
b = 30;
{{ select(4) }}
- "30"
- 30
- '3'
- 0
第5题(5分)
执行以下代码片段后,屏幕输出为?
int score = 85;
if (score >= 60) cout << "Pass";
cout << "End";
{{ select(5) }}
- Pass
- End
- PassEnd
- 无输出
第6题(5分)
若要存储一个学生的平均成绩(如 89.5 分),最合适的变量数据类型是?
{{ select(6) }}
- int
- double
- char
- bool
第7题(5分)
判断一个整数 n 是否为奇数的正确 C++ 表达式是?
{{ select(7) }}
n % 2 == 0n % 2 != 0n / 2 == 1n % 2 == 2
第8题(5分)
阅读以下代码,程序运行后的输出结果是?
int a[6] = {5, 12, 7, 20, 11, 18};
int cnt = 0;
for(int i=0; i<6; i++) {
if(a[i] > 10 && a[i] % 2 == 0) {
cnt++;
}
}
cout << cnt;
{{ select(8) }}
- 2
- 3
- 4
- 5
第9题(5分)
已知 int nums[6] = {2, 4, 6, 8, 10, 12};,执行 cout << nums[0] + nums[5]; 后,屏幕输出为?
{{ select(9) }}
- 2
- 12
- 14
- 24
第10题(5分)
在 C++ 中,表达式 20 % 6 的计算结果是?
{{ select(10) }}
- 3
- 3.33
- 2
- 0
多选题(5题,共25分)
第1题(5分)
阅读以下 C++ 代码片段,关于其执行逻辑与运行结果的描述,正确的有?
int a[5] = {10, 15, 8, 21, 6};
int cnt = 0;
for(int i = 0; i < 5; i++){
if(a[i] % 2 != 0) {
cnt++;
}
}
cout << cnt;
{{ multiselect(11) }}
- 若将数组初始值改为 {1, 2, 3, 4, 5},则输出结果仍为 2
- 程序运行后屏幕最终输出的结果为 2
- 表达式
a[i] % 2 != 0的作用是筛选出数组中的奇数 - for 循环体内部的 if 条件判断语句共执行了 5 次
第2题(5分)
关于 C++ 中的 while 循环,下列说法正确的有?
{{ multiselect(12) }}
- 不能用于循环次数已知的场景
- 循环体可能一次也不执行
- 循环体内通常需有改变条件的语句,否则可能造成死循环
- while 循环语法包含初始化、条件判断和变量更新三个表达式
第3题(5分)
关于 C++ 复合运算符,下列说法正确的有?
{{ multiselect(13) }}
a *= 3等价于a = a * 3a /= 4等价于a = a / 4a -= 5等价于a = a + 5- 使用复合运算符可以使代码更简洁
第4题(5分)
已知 bool x = true, y = false; 下列逻辑表达式结果为 true 的有?
{{ multiselect(14) }}
x && yx || y!y!x
第5题(5分)
关于 C++ 一维数组下标与元素访问,下列说法正确的有?
{{ multiselect(15) }}
- C++ 数组的第一个元素的下标是 0
- 定义
int arr[5];后,合法的下标访问范围是arr[0]到arr[4] - 定义
int arr[5];后,可以使用arr[5]访问第 5 个元素 - 可以通过循环和下标依次访问数组的每个元素
判断题(5题,共25分)
第1题(5分)
在 C++ 程序中,表达式 17 % 4 的计算结果为 1,说明 17 不能被 4 整除。
{{ select(16) }}
- 正确
- 错误
第2题(5分)
在 C++ 中,若要对一维数组中满足条件的元素求和,通常应将 if 条件判断嵌套在 for 循环内部。
{{ select(17) }}
- 正确
- 错误
第3题(5分)
在 for 循环嵌套中,内层循环变量每变化一次,外层循环都会从头到尾完整执行一遍。
{{ select(18) }}
- 正确
- 错误
第4题(5分)
C++ 的 while 循环每次执行循环体后,都会重新判断循环条件,若条件为 false 则继续循环。
{{ select(19) }}
- 正确
- 错误
第5题(5分)
在 C++ 中,cout << "Score:" << 100; 会在屏幕上输出 Score:100。
{{ select(20) }}
- 正确
- 错误