试卷 2024年广西中小学生程序设计挑战赛(入门组)初赛试题
2024年广西中小学生程序设计挑战赛(入门组)初赛试题
选择题
第 1 题    单选题
编辑器是用来编写代码的软件,一个好的编辑器可以帮助开发人员快速、方便地完成代码编写工作。如图所示,以下编辑器中不能用来编写C++语言程序的是(    )。
A.

B.

C.

D.

第 2 题    单选题

使用高级语言编写的程序,需要通过如下图的过程后才能被计算机直接识别、执行,这个过程被称为(   )。

A.
编译
B.

翻译

C.

解释

D.

介绍

第 3 题    单选题
线性表是指由n个具有相同特性的数据元素组成的有限序列,以下不是线性表特点的是(   )。
A.
非空线性表中必定存在第一个元素和最后一个元素。
B.
非空线性表中最大的数据元素n定义为线性表的长度。
C.
非空线性表中的元素,除了最后一个元素之外,均有唯一的后继。
D.
非空线性表中的元素,除了第一个元素之外,均有唯一的前驱。
第 4 题    单选题
算法是问题的解决方案,但一个问题会有很多种算法,以下(   )不是一个好的算法需要具备目标。
A.

正确性

B.

可读性

C.

高效性

D.

复杂性

第 5 题    单选题
计算机具有谈话互动的能力,即输出话音,属于(   )技术。
A.
语音合成
B.
机器学习
C.
语音识别
D.
虚拟现实
第 6 题    单选题
十进制小数 13.375 对应的二进制数是(   )。
A.
1010.01
B.
1101.101
C.
1011.011
D.
1101.011
第 7 题    单选题
小明为C++社团招新活动设计海报,老师要求海报图像分辨率为 900x500、8 位色,存储该海报设计图信息所需的空间为(   )。
A.
439.45KB
B.
7831KB
C.
3515.625KB
D.
28125KB
第 8 题    单选题

某算法代码如下:

#include <iostream>  
using namespace std;  
int main(){  
    int a, b;  
    cin >> a >> b;  
    a = a ^ b;  
    b = a ^ b;
    a = a ^ b;
    cout << a << " " << b << endl; 
    return 0;  
}

输入a和b,请问该算法输出的是(   )

A.
a和b交换的结果
B.
a除以b得到的商与余数
C.
a和b的最小公倍数和最大公约数
D.
a右移b位,b右移a位的结果
第 9 题    单选题
若串S=“algorithm”,其子串的个数是(   )。
A.

36

B.

45

C.

46

D.

72

第 10 题    单选题
阳光小学三(1)班有学生 45 人,每人都参加课后服务活动,其中参加篮球社团的有 25 人,参加合唱社团的有 22 人,参加绘画社团的有 24 人,篮球、合唱社团都参加的有 12 人,篮球、绘画社团都参加的有9人,合唱、绘画社团都参加的有8人,三项都参加的有(   )人。
A.

1

B.

2

C.

3

D.

4

第 11 题    单选题
以下排序算法中,属于非比较类算法的是(   )。
A.
冒泡排序
B.
桶排序
C.
插入排序
D.
选择排序
第 12 题    单选题
设有定义 :int a=64,b=8;则表达式(a&b)||(a&&b)和(a|b)&&(a||b)的值分别为(   )。

A.
1和1
B.
1和0
C.
0和1
D.
8和0
第 13 题    单选题
表达式 a*d-b*c 的前缀形式是(    )。
A.
ad*bc*-
B.

-*ad*bc

C.
a*d-b*c
D.
-**adbc
第 14 题    单选题
天气冷了,社区志愿者给住在A楼的3位孤老送手套,5种颜色的手套各15 只混装在箱子里,试问无论如何取,从箱子中至少取(   )只手套,就能保证有3副手套(手套无左右之分)。
A.

6

B.

9

C.

10

D.

12

第 15 题    单选题

G是一个非连通无向图(没有重边和自环),共有 28条边,则该图至少有(   )个顶点。

A.

10

B.

9

C.

11

D.

8

阅读程序(判断题1.5分,选择题3分)
第 16-21 题    组合题

广西中小学生程序设计挑战赛2024年初赛入门组试题:阅读程序题


第16题 判断
当a大于b时,程序输出为0。
A.
正确
B.
错误
第17题 判断
将第8行改为 if(!(i %u)),程序输出结果不变。
A.
正确
B.
错误
第18题 判断
若删除第6行,程序输出结果一定不变。
A.
正确
B.
错误
第19题 单选
若输入1 10 3,程序输出结果为(   )
A.

2

B.

3

C.

4

D.

5

第20题 单选
若输入1 1008 26,程序输出结果为(   )
A.

36

B.

37

C.

38

D.

39

第21题 单选
该程序的时间复杂度为(   )
A.
O(1ogN)
B.
O(N)
C.
O(NlogN)
D.
O(N^2)
第 22-27 题    组合题

广西中小学生程序设计挑战赛2024年初赛入门组试题:阅读程序题2


第22题 判断
将第8行程序改为 cin>>s,程序输出结果一定不变。
A.
正确
B.
错误
第23题 判断
将第 11 行中的 s.length()改为s.size(),程序输出结果一定不变。
A.
正确
B.
错误
第24题 判断
将第 13 行与第 14 行代码交换位置,程序输出结果一定不变。
A.
正确
B.
错误
第25题 单选
若输入”DEAEXYZ”,第 17 行m2=s[i]执行的次数为 ( )
A.

0

B.

1

C.

2

D.

3

第26题 单选
若输入Guangxi 2024,程序输出结果为(   )
A.
0 2
B.
x u
C.
48 50
D.
120 117
第27题 单选
若输入ZwYY 2824 uwv,程序输出结果为(   )
A.
119 119
B.
119 118
C.
122 119
D.
Z w
第 28-33 题    组合题

题目保证输入的n与m均为不超过 1008 的正整数。

#include <iostream>
using namespace std;
int n,m,a[1000000],b[1000000];
int main() {
    cin>>n>>m;
    for(int i=0;i<n*m;++i) 
        cin>>a[i];
    for(int i=0;i<n*m;++i) 
        b[i%m*n+n-i/m-1]=a[i];
    for(int i=0;i<n*m;++i) {
        cout<<b[i]<<" ";
        if((i+1)%n==0)
            cout<<endl;
    }
    return 0;
}
第28题 判断
该程序的时间复杂度为0(nm)。
A.
正确
B.
错误
第29题 判断
注意到第6行、第8行、第 10行的 for 循环控制部分完全一样,所以这三个循环可以合并为一个 for 循环。
A.
正确
B.
错误
第30题 判断
当n和m为某些特定值时,会发生数组越界的情况。
A.
正确
B.
错误
第31题 判断
第9行的代码有可能导致数组b的同一个下标被赋值多次。
A.
正确
B.
错误
第32题 单选
如果输入为:3 4 1 7 2 4 3 6 1 8 5 3 2 9,则b[8]的值为
A.

1

B.

2

C.

9

D.

8

第33题 单选
第 13 行的代码会执行(   )次
A.

m

B.

n

C.
n-1
D.
m-1
完善程序(每小题3分)
第 34-38 题    组合题

小明开了一家餐厅,共有n张四人桌(1≤n≤100),如果来的客人超过四人则不予接待。
拼桌是不好的,所以如果客人到店时没有空桌就要等位。一旦有客人离开,空桌马上就能接待下一批客人。
共来了m批客人(1≤m≤100)第i批客人在第 𝑎𝑖  分钟到店,共有  𝑏𝑖 人,将会用餐 𝑐𝑖 分钟。
请你计算:会有几批客人需要等位;总共等位时间为多少分钟;以及,从第一批客人到店到最后一批客人离开,期间所有的桌子一共闲置的总时间是多少分钟。
输入说明:第一行为两个整数:n、m;接下来为 m行,每行为三个整数 a、b、c。
对于任意 1≤i<j≤m ,有 1≤𝑎𝑖<𝑎𝑗≤1000 ,所有客人用餐时间不超过 30 分钟。
输出说明:三个整数,分别表示:有几批客人需要等位、总共等位时间为多少分钟、所有的桌子一共闲置的总分钟数。相邻两个整数由一个空格分隔。

样例输入:

2 5
1 4 5
3 3 4
4 2 2
5 5 7
9 1 6

样例输出:

1 2 11 

第34题 单选
①处的代码为( )
A.
c-a>4
B.
b>4
C.
b<4
D.
c>30
第35题 单选
②处的代码为 ()
A.
p<a
B.
p==0
C.
p>=a
D.
a==1
第36题 单选
③处的代码为(   )
A.
s[j]>n
B.
s[j]>=4
C.
s[j]>=n
D.
s[j]>4
第37题 单选
④处的代码为(    )
A.
k<c
B.
k-j<=c
C.
k<=c
D.
k<j+c
第38题 单选
⑤处的代码为(   )
A.
n-4
B.

s[i]-4

C.

n-s[i]

D.

n-s[i]-4

第 39-43 题    组合题
给定一个只包合加法和乘法的算术表达式,请计算其结果。
输入说明:一个长度不超过 20000 的字符串,仅包含数字、加法运算符“+”和乘法运算符“*”,没有括号。题目保证字符串中所有参与运算的数字均为 0
到 2^31-1 之间的整数。
输出说明:一个整数,表示这个表达式的值。注意:当答案长度多于4位时,请只输出最后4位,前导0不输出。
样例输入: 1+2*3+45 

样例输出: 52

第39题 单选
①处的代码为 ( )
A.
r+=(s[i]-'0' )%N
B.
r=r*10+(s[i]-'0')%N
C.
r=r+(s[i]-'0')*10%N
D.
r=(s[i]-'0')%N
第40题 单选
②处的代码为(   )
A.
r=0
B.
p=r=0
C.
flag=NO_MUL
D.
q%=N
第41题 单选
③处的代码为(   )
A.
r=0
B.
q=r=0
C.
++i
D.
p=p*r%N
第42题 单选
④处的代码为(    )
A.
break
B.
flag=NO_MUL
C.
q=r=0
D.
p=(p+q)%N
第43题 单选
⑤处的代码为(   )
A.
p=(p+q+r)%N
B.
p=p*r%N
C.
p=(p+q*r)%N
D.
p=(p+q)%N
答题卡
选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
阅读程序(判断题1.5分,选择题3分)
完善程序(每小题3分)
题目总数:20
总分数:100
时间:120分钟