#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 == 0
  • 3 % x == 0 && 12 % x == 0
  • x % 3 == 0 && 12 % x == 0
  • x / 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 == 0
  • n % 2 != 0
  • n / 2 == 1
  • n % 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 * 3
  • a /= 4 等价于 a = a / 4
  • a -= 5 等价于 a = a + 5
  • 使用复合运算符可以使代码更简洁

第4题(5分)
已知 bool x = true, y = false; 下列逻辑表达式结果为 true 的有?

{{ multiselect(14) }}

  • x && y
  • x || 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) }}

  • 正确
  • 错误