试卷 2024年北京市中小学信息学能力测评活动BCSP-X小高组真题
2024年北京市中小学信息学能力测评活动BCSP-X小高组真题
选择题
第 1 题    单选题

计算机在工作过程中突然停电,( )中的信息不会丢失。

A.

显存

B.

寄存器

C.

RAM

D.

ROM

第 2 题    单选题

中缀表达式a*(b+c)-d的后缀形式是( )。

A.

abcd*+-

B.

abc+*d

C.

abc*+d

D.

-+*abcd

第 3 题    单选题

设栈S的初始状态为空,元素a,b,c,d,e依次入栈,以下出栈序列不可能出现的有( )。

A.

a,b,c,e,d

B.

b,c,a,e,d

C.

a,e,c,b,d

D.

d,c,e,b,a

第 4 题    单选题

已知7个结点的⼆叉树的先根遍历是1245637(数字为结点编号),中根遍历是4265173,则该⼆叉树的后根遍历是( )。

A.

4652731

B.

4652137

C.

4231547

D.

4653172

第 5 题    单选题

在C++中,若变量x为int类型且已被赋值为40,则x&(x-1)的值为()。

A.

79

B.

47

C.

32

D.

0

第 6 题    单选题

有⼀个等比数列,共有奇数项,其中第⼀项和最后⼀项分别是2和118098,中间⼀项是486,请问以下那个数是可能的公比()。

A.

2

B.

3

C.

4

D.

5

第 7 题    单选题

设变量x 为float 类型且⼰赋值,则以下语句能将x中的数值四舍五入到小数点后第2位的是()。

A.

x = (x * 100 + 0.5) / 100.0

B.

x = x * 100 + 0.5 / 100.0

C.

x = (x / 100 + 0.5) * 100. 0

D.

x = (int) (x * 100 + 0.5) / 100. 0

第 8 题    单选题

十六进制下,7*7 的运算结果为()。

A.

31

B.

38

C.

41

D.

48

第 9 题    单选题

()是⼀种选优搜索法,按选优条件向前搜索, 以达到⽬标。当搜索到某一步时,发现原先选择并不优或达不到目标,就退回⼀步重新选择。

A.

回溯法

B.

枚举法

C.

动态规划

D.

贪心

第 10 题    单选题

1TB代表的字节数是()。

A.

2的10次方

B.

2的20次方

C.

2的30次方

D.

2的40次方

第 11 题    单选题

原字符串中任意一段连续的字符所组成的新字符串称为子串。则字符“AAABBBCCC”共有()个不同的非空子串。

A.

3

B.

12

C.

36

D.

45

第 12 题    单选题

1958年以前的第⼀代计算机主要⽤于科学计算、军事研究。这些计算机以()为主要的逻辑元件。

A.

晶体管

B.

电子管

C.

集成电路

D.

⼤规模集成电路

第 13 题    单选题

链表不具备的特点是()。

A.

可用O(1)时间随机访问任何⼀个元素。

B.

插入 、删除操作不需要移动元素。

C.

存储单元在内存中的地址可以不连续。

D.

无需事先估计存储空间大小。

第 14 题    单选题

以下排序算法中,()属于稳定排序算法。

A.

堆排序

B.

选择排序

C.

冒泡排序

D.

快速排序

第 15 题    单选题

完全⼆叉树的顺序存储⽅案, 是指将完全⼆叉树的结点从上到下 、从左到右依次存放 到⼀个顺序结构的数组中 。假定根结点存放在数组的1号位置上,则第k号结点的⽗结点  如果存在的话, 应当在放在数组中的() 号位置。

A.

2k

B.

2k+1

C.

⌊k/2⌋

D.

⌈k/2⌉

阅读程序
第 16-22 题    组合题

假设输入的所有数是不超过100的正整数, 完成下面的判断题和单选题:

第16题 判断

判断題16.该程序的算法时间复杂度为0(n) 。( )

A.
正确
B.
错误
第17题 判断

若将第004⾏的代码改为“int n, a[105],avg, ans;”(声明变量时不赋值),程序仍可以被正常执行,且对于相同的输入数据,输出结果不变。( )

A.
正确
B.
错误
第18题 判断

若将第004⾏的代码改⼒“int n, a[100], avg = 0, ans = 0:”(更改数组a 的⼤⼩),程序仍可以被正常执⾏,且对于相同的输入数据,输出结果不变。()

A.
正确
B.
错误
第19题 判断

若将第011⾏的for 循环执⾏条件改为“i<=n”,程序仍可以被正常执行,且对于相同的输⼊数据,输出结果不变。( )

A.
正确
B.
错误
第20题 判断

若将第016⾏的代码改“else{”(去掉else 之后的条件判断),程序仍可以被正常执行,且对于相同的输入数据,输出结果不变。( )

A.
正确
B.
错误
第21题 判断

该程序的输出结果不可能为负数。( )

A.
正确
B.
错误
第22题 单选

若输入数据第一行为“7”,第二行为“1 9 2 8 12 2 8”,则程序将输出()。

A.

2

B.

16

C.

21

D.

26

第 23-28 题    组合题

假设输入的所有数是正整数, 其中n以及数组元素h[1], h[2],…, h[n均不超过1000000, m不超过 h[1], h[2],…, h[n]之和, 完成下面的判断题和单选题: 


第23题 判断

若将第 011⾏的 while循环执⾏条件改为“L<=R”,程序仍可以被正常执行,且对于相同的输入数据,输出结果不变。( )

A.
正确
B.
错误
第24题 判断

若将变量m和变量 tmp 的数据类型都改为int,程序仍可以被正常执行,且对于相同的输入数据输出结果不变 。( )

A.
正确
B.
错误
第25题 判断

程序的输出结果有可能是0。( )

A.
正确
B.
错误
第26题 单选

将第 012⾏代码改为( ),程序执行的效果不变。

A.

int mid = (L+R) / 2;

B.

int mid = (L+R) * 2;

C.

int mid = L + R + 1 << 2:

D.

 int mid = L + R + 1 >> 2;

第27题 单选

若输⼊数据第⼀⾏为“5 20”,第⼆⾏为“4 42 40 26 46”,则程序将输出( )。

A.

35

B.

36

C.

37

D.

38

第28题 单选

若输⼊的n为 10000,程序输出结果的最大可能值是( )。

A.

9999

B.

10000

C.

999999

第 29-35 题    组合题

假设输入的n是不超过 5000的正整数, 数组元素a[1], a[2],…, a[nl均是不超过1的非负整数, 完成下面的判断题和单选题判断题

第29题 判断

若将第 009 ⾏的 for 循环执⾏条件改为“i + k - 1<= n ”,程序仍可以被正常执行,且对于相同的输⼊数据, 输出结果不变。( )

A.
正确
B.
错误
第30题 判断

若将第 015 ⾏的代码改为“s++, res++;”(去掉 d[i]++),程序仍可以被正常执行,且对于相同的输⼊数据, 输出结果不变。( )

A.
正确
B.
错误
第31题 判断

若将第 015 ⾏的代码改为“s++, res++;”(去掉 d[i]++),程序仍可以被正常执行,且对于相同的输⼊数据, 输出结果不变。( )

A.
正确
B.
错误
第32题 判断

程序的输出结果有可能为0 。( )

A.
正确
B.
错误
第33题 判断

程序的输出结果必然小于输入的 n。( )

A.
正确
B.
错误
第34题 单选

该程序的算法时间复杂度为()。

A.

O(n)

B.

O(n log n)

C.

O(n2)

D.

O(n2 log n)

第35题 单选

若输⼊数据第⼀⾏为“7”, 第⼆⾏为“0 0 1 0 1 0 0”,则程序将输出()。

A.

3

B.

4

C.

5

D.

6

完善程序
第 36-40 题    组合题

给定⻓度n的整数序列a1,a2, …,an,以及q个询问 。每个询问将指定两个整数l,r,请判断下标在l与r之间的序列元素包括al与ar是否互不相同。输入数据保证1≤n,q≤100000,1≤ai≤n,1≤l≤r≤n。

第36题 单选

①处应填(       )。

A.

 last[tmp[i]] = a[i]

B.

last[i]= tmp[a[i]]

C.

tmp[last[i]]= i

D.

tmp[a[i]]=i

第37题 单选

②处应填(        )。

A.

last[tmp[i]]= a[i]

B.

last[i]= tmp[a[i]]

C.

tmp[last[i]]=i

D.

tmp[a[i]]=i

第38题 单选

③处应填(       )。

A.

mxlast[i]= MAXN

B.

mxlast[i]= tmp[i]

C.

mxlast[i]=0

D.

mxlast[i]=mxlast[ i -1 ]

第39题 单选

④处应填(       )。

A.

q--

B.

--q

C.

!(q--)

D.

!(--q)

第40题 单选

⑤处应填() 。

A.

mxlast[1]<= r

B.

mxlast[r]<= 1

C.

mxlast[1]>=r

D.

mxlast[r]>=1

第 41-45 题    组合题

给定正整数n, 请编写程序计算它的全部正约数之和 。输⼊数据保证 n ≤ 10000000。⽤最优选项补全程序:

第41题 单选

①处应填(       )。

A.

ans/(x-1)

B.

ans*(x-1)

C.

(ans-1)*(x-1)

D.

(ans-1)/(x-1)

第42题 单选

②处应填(       )。

A.

int i=1;i< MAXN; i++

B.

inti=1;i<= MAXN; i+

C.

int i=2;i< MAXN; i++ 

D.

int i=2;i<= MAXN; i++

第43题 单选

③处应填(    )。

A.

d[j]= i

B.

d[i]=j

C.

d[i]=i

D.

d[j]=j

第44题 单选

④处应填(       )。

A.

n -= d[n]

B.

n-= last

C.

n /= d[n]

D.

n--

第45题 单选

⑤处应填()

A.

last =d[n],t=0

B.

last =d[n],t=1

C.

last = d[n],t--

D.

last=-1,t=0

答题卡
选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
阅读程序
完善程序
题目总数:20
总分数:100
时间:120分钟
QQ
微信