#A. 2025粤港澳信息学创新大赛市选拔赛模拟题小学组
2025粤港澳信息学创新大赛市选拔赛模拟题小学组
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
2025粤港澳信息学创新大赛市选拔赛模拟题小学组
(满分:100 分 考试时间:120 分钟)
一、单项选择题(共 15 题,每题 2 分,共计 30 分;每题有且仅有一个正确选项)
- 二进制数 1101.101 转换为十进制后等于
{{ select(1) }}
13.625
12.75
11.875
14.5
- 若 A = True,B = False,C = True,则表达式 (A AND B) OR (NOT C) 的结果是( )。
{{ select(2) }}
- True
- False
- 无法确定
- 语法错误
- 以下哪个选项是C++中正确的变量声明和赋值方式?
{{ select(3) }}
int x = 5.5;
double y = 10;
string s = 'hello'; (单引号)
bool flag = "true"; (双引号)
- 以下C++代码的输出结果是什么?
#include <iostream>
using namespace std;
int main() {
int score = 85;
if (score >= 90) {
cout << "优秀";
} else if (score >= 80) {
cout << "良好";
} else if (score >= 60) {
cout << "及格";
} else {
cout << "不及格";
}
return 0;
}
{{ select(4) }}
- 优秀
- 良好
- 及格
- 不及格
- 以下代码用于计算 1 + 2 + 3 + ... + 10 的和,请选择正确的选项填入空白处,使程序正确运行。
#include <iostream>using namespace std;
int main() {
int sum = 0;
for (________) { // 填入正确的循环头
sum += i;
}
cout << sum << endl;
return 0;
}
{{ select(5) }}
int i = 0; i < 10; i++
int i = 1; i <= 10; i++
int i = 1; i < 10; i += 2
int i = 10; i > 1; i--
- 在计算机系统中,以下哪个部件的主要功能是执行算术运算和逻辑运算?
{{ select(6) }}
- 硬盘(Hard Disk)
- 内存(RAM)
- 中央处理器(CPU)
- 显卡(GPU)
- 哪位科学家被称为“现代计算机之父”,并提出了“图灵机”的理论模型?()
{{ select(7) }}
- 比尔·盖茨(Bill Gates)
- 艾伦·图灵(Alan Turing)
- 冯·诺依曼(John von Neumann)
- 史蒂夫·乔布斯(Steve Jobs)
- 以下哪位华人科学家是图灵奖获得者,在计算理论领域做出重大贡献,并创办了清华大学理论计算机科学研究中心?
{{ select(8) }}
- 姚期智
- 吴恩达
- 李飞飞
- 张亚勤
- 一个标称容量为64GB的U盘,实际可用空间约为59.6GB。如果要存储大小为3.2MB的照片,最多可以存放多少张?(忽略文件系统开销) ( )
{{ select(9) }}
- 约15,000张
- 约19,100张
- 约22,000张
- 约23,000张
- 在C++中,执行以下代码后,变量 result 的值是多少?
int a = 17, b = 5;
int result = (a / b) + (a % b);
{{ select(10) }}
- 3
- 4
- 5
- 7
- 在C++中,设有以下代码:
int x = 10;
int *p = &x;
请问 *p + 1 的值是多少?
{{ select(11) }}
10
11
- x的内存地址加1
12
- 在一个单向链表中,每个节点包含数据域
data
和指针域next
。已知头节点指针为head
,以下哪个操作可以正确遍历链表并输出所有节点的值? (点击图片观看全部代码)()
{{ select(12) }}
- 在C++中,以下代码
#include<iostream>
using namespace std;
int a[5] = {1, 2, 3};
int main( ){
}
请问 a[4] 的值是多少?
{{ select(13) }}
- 0
- 3
- 随机值
- 程序报错
- 在C++中,以下哪个选项可以正确输入两个整数,并输出它们的和?(点击图片观看全部代码)
{{ select(14) }}
- 在C++中,以下哪个变量名是不合法的?()
{{ select(15) }}
sd3br_uh5il6zs_sfth5____
2nd_place
_count
totalScore
二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填 √,错误填 ⨉ ;除特殊说明外,判断题 1.5 分,选择题 3 分,共计 40 分)
1.程序一(13.5分)
根据上述程序,完成下面的判断题和单选题:
- 请判断对错:程序会输出字符
1
( )
{{ select(16) }}
- 对
- 错
- 请判断对错:程序会输出字符串
HloS22
( )
{{ select(17) }}
- 对
- 错
- 请判断对错:程序会输出字符
Y
( )
{{ select(18) }}
- 对
- 错
- s.length()` 的返回值是( )
{{ select(19) }}
10
11
12
13
- 若将
s.find("CSP")
改为s.find("2024")
,程序会输出( )
{{ select(20) }}
Y
N
8
- 编译错误
- 程序输出的第3个字符是( 不包括第一个输出的数字)()
{{ select(21) }}
e
l
o
C
2.程序二(13.5分)
- 请判断对错:程序会输出数字
8
()
{{ select(22) }}
- 对
- 错
- 请判断对错:程序会在第二行首先输出字符
1
()
{{ select(23) }}
- 对
- 错
- 请判断对错:程序会输出字符串
011
()。
{{ select(24) }}
- 对
- 错
fun(3)
的返回值是。
{{ select(25) }}
1
2
3
4
- 程序第21行输出的是()。
{{ select(26) }}
- Y
- N
- YY
- NN
- 将
fun(5)
改为fun(6)
,x
的值会变为( )
{{ select(27) }}
- 5
- 8
- 13
- 21
3.程序三:(13分)
完成下面的判断题和单选题。
- (2分)请判断对错:第一次输出的字符是'T'。( )
{{ select(28) }}
- 对
- 错
- (2分)请判断对错:程序最终会输出字符'D'。( )
{{ select(29) }}
- 对
- 错
- 程序输出的第二个数字(即a[2]的值)是( )
{{ select(30) }}
- 2
- 3
- 8
- 5
- 程序最后会输出哪些索引位置( )
{{ select(31) }}
0 2 4 5
0 1 2 4
1 2 3 4
0 2 3 4
- 经过所有处理后,数组a中的最大值是( )
{{ select(32) }}
- 5
- 6
- 7
- 10
三、完善程序(单选题,每小题 3 分,共计 30 分)
1.程序一
以下程序模拟"数字黑洞"现象(如:卡普雷卡尔常数6174),请补全缺失代码。程序对四位数进行重组,计算最大排列与最小排列的差,直到出现循环。
数字黑洞(又称数学黑洞)是指一类特殊的数学现象:对于某些特定的数字和固定运算规则,经过有限次重复操作后,最终会陷入一个或几个固定数值的循环,就像宇宙中的黑洞一样"吸引"所有数字。最著名的例子是**卡普雷卡尔常数(6174),其规则如下:
卡普雷卡尔常数(6174)的规则
- 输入:任意一个四位数(至少有两个不同数字,如1234、2005,但1111不行)。
- 操作:
- 将数字的各位数字从大到小排列,得到最大数(如2019→9210)。
- 将数字的各位数字从小到大排列,得到最小数(如2019→0129,即129)。
- 计算 最大数 - 最小数(9210 - 129 = 9081)。
- 重复:对结果继续执行上述操作,最终必定在最多7步内收敛到6174。
示例演示(以2019为例)
- 9210 - 0129 = 9081
- 9810 - 0189 = 9621
- 9621 - 1269 = 8352
- 8532 - 2358 = 6174(达到黑洞)
为减低难度,已经加入关键注释
- 1处应填( )
{{ select(33) }}
num % 10
num / 10
num * 10
num + i
- 2处应填( )
{{ select(34) }}
min_num * 10 + digits[i]
min_num + digits[i]
digits[i] * 10 + min_num
digits[i] - min_num
- 3处应填( )
{{ select(35) }}
max_num * 10 + digits[3-i]
max_num + digits[i]
digits[i] * 1000 + max_num
digits[3-i] - max_num
- 4处应填( )
{{ select(36) }}
count < 10
n!= 0
n!= 6174
true
- 5处应填( )
{{ select(37) }}
next == n
next== 1000
count > 20
next == 0
2、程序二
以下程序使用递推算法计算斐波那契数列的第n项(从1开始计数),请选择正确的选项补全代码。
- ①处应填( )
{{ select(38) }}
0
1
n
n-1
- ②处应填( )
{{ select(39) }}
n-1
n
n+1
10
- ③处应填( )
{{ select(40) }}
a + b
a * b
b - a
a / b
- ④处应填( )
{{ select(41) }}
b
c
a + b
i
- ⑤处应填( )
{{ select(42) }}
a
c
a + c
b + 1