中小学生编程比赛模拟卷

第一部分:单项选择题,1.5*20=30分。
第二部分:程序阅读理解题,共3题,每大题分判断题和选择题,判断1.5分,选择4分。
第三部分:程序完善题,共2题,每题5个选择题,每个选择题3分。
一、单项选择题 (共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)
*
1.下列软件中,用于编辑视频文件的是( )。
会声会影
Windows附件中的“画图”程序
Scratch
Internet Explorer
*
2.关于信息安全与网络道德,下列做法正确的是( )。
在微信里转发会造成社会不良影响的信息
随意扫描网页中的二维码
未经许可,将他人的私人生活照片和视频上传到网上
确认环境安全后输入支付密码
*
3. 已知字符“a”的十进制ASCII编码值是97,则字符“h”的十六进制数的ASCII编码值是( )。
68
69
105
9E
*
4. 下列电子邮件地址格式正确的是( )。
sx.gov.cn
https://www.baidu.com/
162.105.111.22
shaoxing123@163.com
*
5. 某个问题的部分算法流程图如右图所示,执行这部分流程后变量x的值是( )。
1
3
0
2
*
6.下列计算机网络相关名词中文含义错误的是( )。
URL:统一资源定位系统
IP:因特网地址
VPN:虚拟专用网络
HTTP:超文本传输协议
*
7. 十进制算术表达式:5×128+3×64+7,运算结果用二进制表示为( )。
1111101101
11001000111
1101001111
1101000111
*
8. 最新发布的小米13手机内存容量是8G,这里的8G容量是指( )个字节。
8*1024*1024
8*1000*1000
8
8*1024*1024*1024
*
9. 在C++编程中定义一个数组:bool a[8][10],程序运行时占用( )内存空间。
63字节
160字节
80位
80字节
*
10. 已知一个栈的入栈顺序是1、2、3、…、n,其出栈顺序为A1、A2、A3、…、An,若A1是n,则Ai是( )。
n-1
I
不确定
n-i+1
*
11.一个高度为h 的二叉树最小节点数目是( )。
h
2h+1
2h
2h-1
*
12. 由2个a,3个b和4个c构成的所有字符串中,包含子串“abc”的共有( )个。
390
7
420
5040
*
13.在下列关于计算机算法的说法正确的是( )。
判断一个算法的好坏,主要依据理论上的算法时间复杂度
一个正确的计算机算法至少要有一个输入和一个输出
计算机算法与数学学科的算法是两个完全不同的概念
描述算法可以有不同的方式,如自然语言、流程图等
*
14. 要将数组{18,-23,114,16,77,5,13,110}中的元素从小到大排列,每次可以交换任意两个元素,最少需要交换( )次。
6
5
4
7
*
15. 已知变量day=202104,能得到其百位上数值1的表达式是( )。
day/1000%10
day%1000/100
day%100/100
day/100%100
*
16. 若变量a为int类型,变量x、y为float类型,且a=7,x=2.7,y=2.8,则执行“cout<<x+a/3*(int)(x+y)%2;”的结果是( )。
2.7
0
3.7
Runtime error
*
17. 对n个元素进行排序,下来排序算法中平均时间复杂度为O(n log n)是( )。
选择排序
归并排序
冒泡排序
插入排序
*
18. 绍兴市科技馆举办“创新之星”展示活动,有7个展示名额分配给报名参与活动的4所小学,每所小学至少可以获得一个名额,一共有( )种分配方案。
15
19
35
20
*
19. 小明收到了100枚1元硬币,其中有一枚是假币,其重量稍轻,如果使用不带砝码的天平称重,最少需要称( )次,确保一定可以找出假币。
5
99
4
50
*
20. 有13只皮卡丘,编号从1到13顺时针排成一圈,现在从编号为1的皮卡丘起1、2、3、…、18、19、…,一圈又一圈顺时针数下去。那么当数到2021时,对应的皮卡丘编号是( )。
2021
5
6
13
二、程序阅读理解题(共3大题,每大题分判断题和选择题,判断题1.5分,选择题4分,共计40分)
阅读理解第1题程序
*
如果输入的n为2000,则在访问数组时会越界。( )
*
如果输入的n为1,则输出结果只可能是a[1]或a[1]-23333的值。( )
*
该程序算法的时间复杂度为 O(n)。( )
*
如果输入的n为 1000,a[i]为 0 到 1000000 之间的整数(下同),那么输出可能的最大值是( )。
23332000
976667000
23332
23333
*
如果将第13行去掉,这时输出可能的最大值是( )。
976667000
23332000
23333
23332
阅读理解第2题程序

*
如果输入的n 是不超过100000的整数,输入的 a[i] 是不超过1000000000的整数(下同),那么输出的ans一定不会小于n。( )
*
如果将第7行的“pos=n”改为“pos=1”,将第9行的“for(i=n;i>=1;i--)”改为“for(i=1;i<=n;i++)”,将第10行的“a[i]>a[pos]”改为“a[i]<a[pos]”,将第11行的“pos-i+1”改为“i-pos+1”,那么输出不会发生变化。( )
*
如果输入的n为3,其他限制不变,那么输出的ans可能且仅可能为3、4、5、6中的任意一个数。( )
*
如果输入的n=6,输入的a[i]分别为3、6、2、5、4、1,那么输出的ans的值是( )。
21
16
10
8
*
如果输入的n确定,那么输出的ans可能的最大值是( )。
n^2
n(n-1)/2
n(n+1)/2
n
阅读理解第3题程序

*
如果输入的n是不超过1000的正整数,输入的a[i]、b[i]是不超过 1000000000的正整数(下同),那么输出的ans1与ans2一定相等。( )
*
如果将第16行的“a[i]>b[j]”改为“a[i]<b[j]”,将第22行的“ans2+=pos”改为“ans2+=n-pos”,输出的ans1与ans2一定相等。( )
*
当输入的n是 5,输入的a[i]分别为2、5、5、7、10,输入的b[i]分别为3、4、5、8、10时,输出的ans2为( )。
15
11
9
13
*
第20到第23行的时间复杂度为( )。
O(n!)
O(n)
O(n^2)
O(nlogn)
*
若输入的n确定,则输出的 ans2 可能的最大值为( )。
(n-1)^2
n(n-1)/2
n^2
n(n+1)/2
三、程序完善题(共2题,每题5个选择题,每个选择题3分,共计30分)
1.(七进制下不含5问题)给定一个整数 n(n<=100000),你需要求出1到n的所有整数中,7 进制下不含 5 的整数有多少个。

*
空①处应填( )。
ans=n-1
ans=1
ans=0
ans=n
*
空②处应填( )。
t=5*i
t=i
t=i+5
t=i+7
*
空③处应填( )。
flag=flag-1
flag=flag^1
flag=0
flag=1
*
空⑷处应填( )。
t%7==5
t%7==2
t%7==4
t%7==3
*
空⑤处应填( )。
t=t*7
t=t/7
t=t+7
t=t-7
2.(矩阵的乘法与旋转问题)一个x*y的矩阵A共有x行,每行有y个数,第i行第j个数是A[i,j]。定义一个x*y的矩阵A与一个y*z的矩阵B乘积是一个x*z的矩阵C,矩阵C中C[i,k]的值是将所有A[i,j]*B[j,k](1<=j<=y)求和的结果。给出三个整数x、y、z,两个大小分别为x*y、y*z的矩阵A、B,你需要求出A与B的乘积C顺时针旋转90度的结果。
       数据范围:1<=x,y,z<=100,输入矩阵中的非负整数大小不超过100。
       输入格式:第一行三个整数x、y、z,接下来x行,每行y个整数,表示矩阵A;接下来y行,每行z个整数,表示矩阵B。
       输出格式:z行,每行x个整数,表示矩阵C顺时针旋转90度的结果。

*
空①处应填( )。
scanf("%d",&b[j][i])
scanf("%d",&sum[j][i])
scanf("%d",&sum[i][j])
scanf("%d",&b[i][j])
*
空②处应填( )。
z
n
y
x
*
空③处应填( )。
sum[i][j]+=a[i][k]*b[k][j]
sum[i][k]+=a[i][j]*b[i][k]
sum[i][k]+=a[i][j]*b[j][k]
sum[i][k]+=a[i][k]*b[j][k]
*
空⑷处应填( )。
ans[z-k+1][i]=sum[i][k]
ans[k][x-i+1]=sum[i][k]
ans[k][i]=sum[i][k]
ans[z-k+1][x-i+1]=sum[i][k]
*
空⑤处应填( )。
j==1
i==1
j==x
i==z
问卷星提供技术支持
举报