#sy0002. 2026算法应用 C++ 小学组 初赛真题2

2026算法应用 C++ 小学组 初赛真题2

单选题(10题,共50分)

第1题(5分)
执行 for(int k=5; k>=1; k--) { cout << k; } 后,屏幕输出为?

{{ select(1) }}

  • 5432
  • 01234
  • 54321
  • 12345

第2题(5分)
如果一个正整数数 a,既是 8 的倍数,又是 24 的约数,它的 C++ 表达式应该如何表示?

{{ select(2) }}

  • 8 % a == 0 && 24 % a == 0;
  • a % 8 == 0 && 24 % a == 0;
  • 8 % a == 0 && a % 24 == 0;
  • a / 8 == 0 && 24 / 8 == 0;

第3题(5分)
在 C++ 中,变量 char grade = 'A'; 中,grade 存储的数据类型是?

{{ select(3) }}

  • int
  • double
  • char
  • bool

第4题(5分)
执行代码 int a; cin >> a; 时,若从键盘输入 50 后按回车,变量 a 的值为?

{{ select(4) }}

  • "50"
  • 50
  • 0
  • '5'

第5题(5分)
阅读以下代码,屏幕最终输出为?

int n = 40;
if (n >= 60) cout << "Pass";
cout << "Over";

{{ select(5) }}

  • PassOver
  • Over
  • Pass
  • 无输出

第6题(5分)
若要存储一个班的有多少学生(如 48 人),最合适的变量数据类型是?

{{ select(6) }}

  • char
  • int
  • bool
  • double

第7题(5分)
判断一个整数 n 是否为偶数的正确 C++ 表达式是?

{{ select(7) }}

  • n % 2 == 1
  • n % 2 == 0
  • n != 2
  • n / 2 == 0

第8题(5分)
表达式 17 / 5 在 C++ 中的计算结果是?

{{ select(8) }}

  • 3.4
  • 2
  • 3.0
  • 3

第9题(5分)
阅读以下代码,程序运行后的输出结果是?

int b[5] = {3, 8, 15, 6, 10};
int total = 0;
for(int i=0; i<5; i++){
  if(b[i] > 5 && b[i] % 2 != 0) {
    total++;
  }
}
cout << total;

{{ select(9) }}

  • 3
  • 0
  • 2
  • 1

第10题(5分)
已知 int data[5] = {3, 6, 9, 12, 15};,执行 cout << data[2]; 后,屏幕输出为?

{{ select(10) }}

  • 9
  • 12
  • 3
  • 6

多选题(5题,共25分)

第1题(5分)
阅读以下 C++ 代码片段,下列说法正确的有?

int d[5] = {10, 20, 30, 40, 50};
int s = 0;
for(int i=0; i<5; i++) {
  if(d[i] % 4 == 0) {
    s += d[i];
  }
}
cout << s;

{{ multiselect(11) }}

  • 表达式 d[i] % 4 == 0 用于判断 d[i] 是否为 4 的约数
  • 循环结束后,变量 s 的值为 60
  • 代码的功能是计算数组中所有 4 的倍数元素之和
  • 数组 d 中下标为 2 的元素值是 30

第2题(5分)
关于 C++ 中 while 循环的特点,下列说法正确的有?

{{ multiselect(12) }}

  • while 循环特别适合处理不知道循环次数的场景
  • 若 while 条件始终为 true 且循环体不改变条件,将导致死循环
  • while 循环语法中包含初始化、条件、更新三个表达式
  • while 循环属于先判断条件再执行循环体的结构

第3题(5分)
int n = 10;,执行下列语句后,n 的值变为 15 的有?

{{ multiselect(13) }}

  • n = n + 5;
  • n -= 5;
  • n *= 2;
  • n += 5;

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

{{ multiselect(14) }}

  • p && q
  • p || q
  • !p
  • !q

第5题(5分)
在遍历或查询一维数组时,下列操作可能导致程序运行错误或逻辑异常的有(数组长度为 n)?

{{ multiselect(15) }}

  • 按照 0 到 n-1 的顺序依次访问元素
  • 循环条件写为 i <= n
  • 在循环体外一次性打印整个数组名
  • 使用 0 作为数组下标进行访问

判断题(5题,共25分)

第1题(5分)
在 C++ 程序中,若表达式 a % b 的结果为 0,则说明 a 是 b 的倍数。

{{ select(16) }}

  • 正确
  • 错误

第2题(5分)
若要统计一维数组中满足特定条件的元素个数,通常需要将 for 循环体嵌套在 if 分支语句内部。

{{ select(17) }}

  • 正确
  • 错误

第3题(5分)
在 for 循环嵌套中,外层循环变量每变化一次,内层循环都会重新从初始值开始,完整执行一遍。

{{ select(18) }}

  • 正确
  • 错误

第4题(5分)
while 循环在执行循环体之前,不需要先判断循环条件是否成立。

{{ select(19) }}

  • 正确
  • 错误

第5题(5分)
在 C++ 中,cout << "Hello" << 2024; 会在屏幕上输出 Hello2024

{{ select(20) }}

  • 正确
  • 错误