不是VIP会员,不能显示答案,请在后台“我的信息” 在线升级 VIP

一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)

1. 下列软件中,用于编辑视频文件的是( )。

  • A.Scratch
  • B.Internet Explorer
  • C.会声会影
  • D.Windows附件中的“画图”程序

2. 关于信息安全与网络道德,下列做法正确的是( )。

  • A.确认环境安全后输入支付密码
  • B.随意扫描网页中的二维码
  • C.未经许可,将他人的私人生活照片和视频上传到网上
  • D.在微信里转发会造成社会不良影响的信息

3. 已知字符“a”的十进制ASCII 编码值是97,则字符“h”的十六进制数的ASCII 编码值是( )。

  • A.105
  • B.68
  • C.69
  • D.9E

4. 下列电子邮件地址格式正确的是( )。

  • A.shaoxing1230163.com
  • B.162.105.111.22
  • C.sx.gov.cn
  • D.https://iwww.baidu.com/

5. 某个问题的部分算法流程图如右图所示,执行这部分流程后变量x的值是( )。

  • A.0
  • B.1
  • C.2
  • D.3

6. 下列计算机网络相关名词中文含义错误的是( )。

  • A.VPN:虚拟专用网络
  • B.URL:统一资源定位系统
  • C.HTTP:超文本传输协议
  • D.IP:因特网地址

7. 十进制算术表达式:5×128+3×64+7,运算结果用二进制表示为( )。

  • A.1101000111
  • B.1101001111
  • C.11001000111
  • D.1111101101

8. 最新发布的小米11 Pro手机内存容量是8G,这里的8G容量是指( )个字节。

  • A.8
  • B.8*1000*1000
  • C.8*1024*1024*1024
  • D.8*1024*1024

9. 在C++编程中定义一个数组:bool a[8][10],程序运行时占用( )内存空间。

  • A.80字节
  • B.63字节
  • C.80位
  • D.160字节

10. 已知一个栈的入栈顺序是1、2、3、…、n,其出栈顺序为A1、A2、A3、…、An,若A1是n,则Ai是( )。

  • A.I
  • B.n-i+1
  • C.n-1
  • D.不确定

11. 一个高度为h的二叉树最小节点数目是( )。

  • A.2h+1
  • B.h
  • C.2h-1
  • D.2h

12. 由2个a,3个b和4个c构成的所有字符串中,包含子串“abc”的共有( )个。

  • A.420
  • B.5040
  • C.7
  • D.390

13. 在下列关于计算机算法的说法正确的是( )。

  • A.一个正确的计算机算法至少要有一个输入和一个输出
  • B.计算机算法与数学学科的算法是两个完全不同的概含
  • C.判断一个算法的好坏,主要依据理论上的算法时间复杂度
  • D.描述算法可以有不同的方式,如自然语言、流程图等

14. 要将数组{18,-23,114, 16,77,5,13,110}中的元素从小到大排列,每次可以交换任意两个元素,最少雷要交换( )次。

  • A.4
  • B.5
  • C.6
  • D.7

15. 已如变量day=202104,能得到其百位上值1的表达式是( )。

  • A.day/1000%10
  • B.day/100%100
  • C.day%1000/100
  • D.day%100/100

16. 若变量a为int类型,变量x、y为f1oat类型,且a=7, x=2.7, y=2.8,则执行“cout<

  • A.2.7
  • B.3.7
  • C.0
  • D.Runtime error

17. 对n个元素进行排序,下来排序算法中平均时间复炔度为0(n log n)是( )。

  • A.选择排序
  • B.插入排序
  • C.冒泡排序
  • D.归并排序

18. 绍兴市科技馆举办“创新之星”展示活动,有7个展示名额分配给报名参与活动的4所小学,每所小学至少可以获得一个名额,一共有( )种分配方案。

  • A.20
  • B.35
  • C.19
  • D.15

19. 小明收到了100枚1元硬币,其中有一枚是假币,其重量稍轻,如果使用不带砝码的天平称重,最少需要称( )次,确保一定可以找出假币。

  • A.99
  • B.4
  • C.5
  • D.50

20. 有13只皮卡丘,编号从1到13顺时针排成一圈,现在从编号为1的皮卡丘起1,2,3、…,18、19、…,一圈又一圈顺时针数下去。那么当数到2021时,对应的皮卡丘编号是( )。

  • A.13
  • B.2021
  • C.6
  • D.5

二、程序阅读理解题(共3大题,每大题分判断题和选择题,判断题1.5分,选择题4分,共计40分)

1.

#include <cstdio>
const int mod=23333;
int n,i,ans,a[1010];
int main(){
scanf("%d", &n);
for(i=1; i<=n; i++) {
scanf("%d", &a[i]);
a[i]=a[i]%mod;
}
ans=0;
for(i=1; i<=n; i++) {
ans=ans+a[i];
if(ans>=mod) ans=ans-mod;
}
printf("%d\n", ans);
return 0;
}


判断题

1) 如果输入的n为2000,则在访问数组时会越界。( )
2) 如果输入的n为1,则输出结果只可能是 a[1或a[1]-23333的值。( )
3) 该程序算法的时间复杂度为0(n)。( )


选择题

4) 如果输入的n为 1000,a[i]为0到1000000之间的整数(下同),那么输出可能的最大值是( )。
5) 如果将第13行去掉,这时输出可能的最大值是( )。

2.

#include <cstdio>
int n,i,a[100010], pos;
long long ans;
int main() {
scanf("%d", &n);
for(i=1; i<=n; i++) scanf("%d",a+i) ;
pos=n;
ans=0;
for(i=n; i>=1; i--) {
if(a[i]>a[pos]) pos=i;
ans+=pos-i+1;
}
printf("%lld\n", ans);
return 0;
}



判断题

1) 如果输入的n是不超过100000的整数,输入的a[i]是不超过1000000000的整数(下同),那么输出的ans 一定不会小于n。()
2) 如果将第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+l”改为“i-pos+1",那么输出不会发生变化。( )
3) 如果输入的n为3,其他限制不变,那么输出的ans 可能且仅可能为3、4、5、6中的任意一个数。( )


选择题

4) 如果输入的n=6,输入的a[日]分别为3、6、2、5、4、1,那么输出的ans的值是( )。
5) 如果输入的n确定,那么输出的ans 可能的最大值是( )。

3.

#include <cstdio>
int n,i,j,flag=1,ans1, ans2, pos,a[1010], b[1010];
int main() {
scanf("%d",&n);
for(i=1; i<=n;i++) scanf("%d",&a[i]);
for(i=1; i<=n;i++) scanf("%d",&b[i]);
for(i=1; i<n; i++) if(a[i]>a[i+1]) flag=0;
for(i=1; i<n; i++) if(b[i]>b[i+1]) flag=0;
if(!flag) {
puts("invalid data");
return 0;
}
ans1=0;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
if(a[i]>b[j])ans1++;
printf("%d\n", ans1);
ans2=0;
pos=0;
for(int i=1; i<=n; i++) {
while(pos<n&&b[pos+1]<a[i]) pos++;
ans2+=pos;
}
printf("%d\n", ans2);
return 0;
}


判断题

1) 如果输入的n是不超过1000的正整数,输入的a[i]、b[i]是不超过1000000000的正整数(下同),那么输出的ans1与ans2一定相等。()
2) 如果将第16行的“a[i]>b[j]”改为“a[i]<b[j]”,将第2行的“ans2+=pos”改为“ans2+=n-pos”输出的ans1 与ans2一定相等( )

选择题

3) 当输入的n是5,输入的a[i]分别为2、5、5、7、10,输入的b[i]分别为3、4、5、8、10时,输出的ans2为 ( )。
4) 第20到第23行的时间复杂度为( )。
5) 若输入的n确定,则输出的 ans2 可能的最大值为( )。

三、程序完善题(共2题,每题5个选择题,每个选择题3分,共计30分)

1. (七进制下不含5问题)给定一个整数n(n<=100000),你需要求出1到n的所有整数中,7进制下不含5的整数有多少个。

#include<cstdio>
int n,i,t,flag,ans;
int main() {
scanf("%d",&n) ;
(1);
for(i=1; i<=n; i++) {
(2);
(3);
while(t>0) {
if((4)) {
flag=0;
break;
}
(5);
}
if(flag) ans++;
}
printf("%d\n", ans);
return 0;
}


选择题

1) 空①处应填( )。
2) 空②处应填( )。
3) 空③处应填( )。
4) 空④处应填( )。
5) 空 ⑤ 处应填( )。

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度的结果。

#include <cstdio>
int x,y,z,i,j,k;
int a[105][105],b[105][105],sun[105][105],ans[105][105];
int main() {
scanf("%d%d%d",&x,&y,&z);
for(i=1; i<=x; i++)
for(j=1; j<=y; j++)
scanf("%d",&a[i][j]);
for(i=1; i<=y; i++)
for(j=1; j<=z; j++)
(1);
for(i=1; i<=(2); i++)
for(j=1; j<=y; j++)
for (k=1; k<=z; k++)
(3);
for(i=1; i<=x; i++)
for (k=1; k<=z; k++)
(4);
for(i=1; i<=z; i++)
for(j=1; j<=x; j++) {
printf("%d",ans[i][j]);
if((5)) putchar('\n');
else putchar (' ');
}
return 0;
}


选择题

1) 空①处应填( )。
2) 空②处应填( )。
3) 空③处应填( )。
4) 空④处应填( )。
5) 空 ⑤ 处应填( )。