#sy0005. 2026算法应用 C++ 初中组 初赛真题2

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

单选题(10题,共50分)

第1题(5分)
小乐定义了一个整型变量用于表示学校的班级数目:int nums; 现在小乐要根据实际情况给 nums 赋值,以下选项中正确的是()。

{{ select(1) }}

  • true
  • 12
  • 'A'
  • 12.5

第2题(5分)
在定义变量时,我们需要指定变量的数据类型,现在需要定义一个小数变量,可以使用以下哪种数据类型()。

{{ select(2) }}

  • char
  • long
  • int
  • float

第3题(5分)
小乐要去买早饭,肉包每个 a 元,面包每个 b 元,他要两个肉包和两个面包,则总价可用以下哪个表达式?

{{ select(3) }}

  • a+b*2
  • (a+b)*2
  • 2*a+b
  • (a+b)/2

第4题(5分)
校园会要选拔护旗队,要求身高超过 160 厘米,体重不超过 60 千克,以下哪个逻辑表达式可以用于选拔要求()。(备注:shenGao 表示身高,tiZhong 表示体重)

{{ select(4) }}

  • (shenGao>160)||(tiZhong<60)
  • (shenGao>160)&&(tiZhong<60)
  • (shenGao>160)&&(tiZhong<=60)
  • (shenGao>160)||(tiZhong<=60)

第5题(5分)
阅读以下代码,以下哪种说法是错误的()。

for (int i = 1; i <= 5; i++) {
  for (int j = 1; j <= 5; j++) {
    cout << "*";
  }
  cout << endl;
}

{{ select(5) }}

  • 第 2 行代码代表的是内循环。
  • 当第 5 行代码运行完以后,程序就会将 i 的值加上 1。
  • 第 1 行代码代表的是外循环。
  • 在每一轮内循环中,第 3 行代码的运行次数都是不一样的。

第6题(5分)
阅读以下代码,程序运行结束后,count 的值为()。

int count = 0;
for (int i = 1; i <= 20; i++) {
  if (i % 2 == 0) count++;
}

{{ select(6) }}

  • 5
  • 9
  • 10
  • 20

第7题(5分)
以下 C++ 数组定义中,正确的是()。

{{ select(7) }}

  • int d[] = {1, 2, 3};
  • int a[2] = {0, 1, 2, 3};
  • int b[4.0] = {1, 2, 3, 4};
  • int c[-2];

第8题(5分)
执行以下代码后,a[2] 的值为()。

int a[5] = {10, 20, 30, 40, 50};
a[2] = 99;

{{ select(8) }}

  • 50
  • 30
  • 20
  • 99

第9题(5分)
定义数组 int nums[6] = {5, 15, 25, 35, 45, 55}; 以下哪行代码能输出数值 45()?

{{ select(9) }}

  • cout << nums[6];
  • cout << nums[3];
  • cout << nums[4];
  • cout << nums[5];

第10题(5分)
阅读以下代码,最后输出结果为?

char t[6] = {'A', 'b', 'C', 'd', 'E', 'f'};
int cnt = 0;
for (int i = 0; i < 6; i++) {
  if ((t[i] >= 'A') && (t[i] <= 'Z')) cnt++;
}
cout << cnt;

{{ select(10) }}

  • 1
  • 2
  • 3
  • 6

多选题(5题,共25分)

第1题(5分)
跳 7 游戏是一个报数字游戏,数字范围为 10 到 100。如果要报的数字是 7 的倍数或者这个数字含有 7,就喊跳过,否则就正常报出数字。补充代码填空选项为?

{{ multiselect(11) }}

  • n/10==7
  • n%10==7
  • n%7==0
  • n/7==0

第2题(5分)
以下关于整数 m=36 的描述,正确的有( )。

{{ multiselect(12) }}

  • 36 是 4 的倍数
  • 36 是 5 的倍数
  • 6 是 36 的约数
  • 36 是 9 的倍数

第3题(5分)

int a[8] = {1, 2, 3, 4, 5, 6, 7, 8};
a[1] = 15;
a[4] = 25;
a[7] = 35;

以上代码运行后,以下说法正确的有()。

{{ multiselect(13) }}

  • 数组 a 中第七个元素的值为 35
  • 数组 a 中第二个元素的值为 2
  • 数组 a 中第四个元素的值为 4
  • 数组 a 中第五个元素的值为 25

第4题(5分)

int e[5] = {};
for (int i = 0; i < 5; i++) cin >> e[i];
int cnt = 0;
for (int i = 0; i < 5; i++) {
  if (e[i] % 2 == 0) cnt++;
}
cout << cnt << endl;

以下输入和输出符合程序执行结果的有()。

{{ multiselect(14) }}

  • 输入:2 4 6 8 10 输出:5
  • 输入:1 3 5 7 9 输出:3
  • 输入:1 2 3 4 5 输出:2
  • 输入:6 7 8 9 10 输出:3

第5题(5分)
在 C++ 中,以下关于 cout 输出语句的写法,正确的有()。

{{ multiselect(15) }}

  • cout>>x>>endl;
  • print(x);
  • cout<<x<<endl;
  • cout<<"Hello";

判断题(5题,共25分)

第1题(5分)
在 C++ 中,表达式 10 % 3 的结果是 1。

{{ select(16) }}

  • 正确
  • 错误

第2题(5分)
在 C++ 中,定义数组 int b[] = {4, 8, 12}; 时,编译器会自动将数组长度设为 3。

{{ select(17) }}

  • 正确
  • 错误

第3题(5分)
在 C++ 中,表达式 a+=2;a=a+2; 的运算效果是不一样的。

{{ select(18) }}

  • 正确
  • 错误

第4题(5分)
阅读以下 C++ 代码:若 score 的值为 60,则程序输出“及格”。(备注:score 表示成绩)

if (score >= 60)
  cout << "及格";
else
  cout << "不及格";

{{ select(19) }}

  • 正确
  • 错误

第5题(5分)
在 C++ 中,while 循环只要循环条件为真,就会一直执行循环体,永远无法退出。

{{ select(20) }}

  • 正确
  • 错误