#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)*22*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==7n%10==7n%7==0n/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) }}
- 正确
- 错误