全国信息素养大赛小学组C++算法应用主题赛初赛模拟试卷02
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
一、单项选择题(每题5分,共50分)
第 1 题
以下哪一个是合法的C++变量名? {{ select(1) }}
- 2score
- _count
- int
- my-name
第 2 题
表达式 17 % 5 + 3 * 2 的值是?
{{ select(2) }}
- 7
- 8
- 9
- 12
第 3 题
在"丝路算术"游戏中,商队携带的货物价值为变量 x。执行以下代码:
if (x >= 100) {
cout << "征税10两" << endl;
} else if (x >= 50) {
cout << "征税5两" << endl;
} else {
cout << "免税通行" << endl;
}
若 x = 60,输出结果是?
{{ select(3) }}
- 征税10两
- 征税5两
- 免税通行
- 编译错误
第 4 题
执行以下代码,输出结果是?
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) sum += i;
}
cout << sum;
{{ select(4) }}
- 25
- 30
- 55
- 20
第 5 题
"数字探秘"程序中,执行以下代码,输出结果是?
int n = 2026, cnt = 0;
while (n > 0) {
if (n % 10 % 2 == 0) cnt++;
n /= 10;
}
cout << cnt;
{{ select(5) }}
- 1
- 2
- 3
- 4
第 6 题
"锦绣中华"图案展示程序中,执行以下代码:
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) {
cout << "*";
}
cout << endl;
}
输出的图案是? {{ select(6) }}
- 一个4行4列的正方形星号图案
- 一个每行星号数等于行号的三角形图案,共4行
- 一个每行星号数递减的倒三角形图案,共4行
- 一个4列每列4个星号的图案
第 7 题
"敦煌壁画数字修复"项目中,需要筛选出指定范围内的质数(素数)。以下代码空白处应填入:
for (int i = 2; i <= 20; i++) {
bool flag = true;
for (int j = 2; j * j <= i; j++) {
if (______) {
flag = false;
break;
}
}
if (flag) cout << i << " ";
}
{{ select(7) }}
- i % j == 0
- i % j != 0
- j % i == 0
- i / j == 0
第 8 题
"二十四节气"物候温度记录程序中:
int temp[13] = {0, -5, 2, 10, 18, 25, 30, 33, 31, 24, 15, 6, -2};
int cnt = 0;
for (int i = 1; i <= 12; i++) {
if (temp[i] > 20) cnt++;
}
cout << cnt;
输出结果是? {{ select(8) }}
- 4
- 5
- 6
- 7
第 9 题
"活字印刷"排版程序中定义了如下函数:
int layout(int rows, int cols) {
int cnt = 0;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= cols; j++) {
if ((i + j) % 2 == 0) cnt++;
}
}
return cnt;
}
执行 cout << layout(3, 4); 的输出是?
{{ select(9) }}
- 12
- 6
- 7
- 5
第 10 题
"非遗工坊"订单管理程序定义了结构体:
struct Order {
string item;
int price;
int quantity;
};
Order list[4] = {
{"剪纸窗花", 15, 10},
{"泥人彩塑", 30, 3},
{"手工风筝", 20, 5},
{"竹编灯笼", 18, 5}
};
执行以下代码后,total 的值是?
int total = 0;
for (int i = 0; i < 4; i++) {
if (list[i].quantity >= 5) {
total += list[i].price * list[i].quantity;
}
}
{{ select(10) }}
- 250
- 340
- 430
- 520
二、多项选择题(每题5分,共25分)
注意:多选题输入,请按照顺序填入,不需要用空格隔开,如有ACD三个选项,则填入ACD即可!
第 11 题
以下关于C++变量和运算的说法中,正确的有?
A. int a = 5; 定义了一个整型变量a并初始化为5
B. 表达式 10 / 3 在C++中的值为 3.333...
C. double 类型可以存储小数
D. 取模运算符 % 可以用于浮点数
{{ input(11) }}
第 12 题
关于C++中字符串(string 类型)的说法,正确的有?
A. 字符串可以通过下标(如 s[0])访问其中的某个字符
B. 字符串的索引从1开始
C. 可以使用 + 运算符连接两个字符串
D. 字符串 "ABC" 的长度为3
{{ input(12) }}
第 13 题
执行以下代码,输出结果中包含的数字有?
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0 || i % 5 == 0) {
cout << i << " ";
}
}
A. 3 B. 5 C. 8 D. 10
{{ input(13) }}
第 14 题
在"红色记忆"寻宝游戏中,需要找出1~100中满足"既是3的倍数又是5的倍数"的所有数。以下说法正确的有?
A. 这类数一定是15的倍数
B. 在1~100范围内共有7个这样的数
C. 可以用 if (i % 15 == 0) 判断
D. 满足条件的最小数是15
{{ input(14) }}
第 15 题
"丝路驿站"配送路线规划中,数组 dist[5] = {12, 8, 15, 6, 10} 存储了相邻驿站间的距离(公里)。以下说法正确的有?
A. 所有驿站总距离为51公里
B. 最短的一段距离是6公里
C. dist[0] 的值是12
D. 最长的一段距离是10公里
{{ input(15) }}
三、判断题(每题5分,共25分)
第 16 题
cin >> a >> b; 可以从键盘连续读入两个变量的值。
{{ select(16) }}
- 正确
- 错误
第 17 题
以下代码执行后,循环体共执行了5次。
int i = 5;
while (i > 0) {
i--;
}
{{ select(17) }}
- 正确
- 错误
第 18 题
"红色密码"挑战中,判断一个数是否为回文数(正读反读相同,如121)时,利用 while 循环进行数位拆分和重组是可行的方法。
{{ select(18) }}
- 正确
- 错误
第 19 题
C++中,一个函数可以有多个参数,但只能返回一个值。 {{ select(19) }}
- 正确
- 错误
第 20 题
"活字印刷"排版系统中执行以下代码:
int board[5] = {3, 7, 2, 9, 4};
int ans = board[0];
for (int i = 1; i < 5; i++) {
if (board[i] > ans) ans = board[i];
}
cout << ans;
输出结果为9,代码的功能是求数组元素的总和。 {{ select(20) }}
- 正确
- 错误