湖南省岳阳市汨罗市2022-2023学年八年级上学期学习能力检测竞赛信息技术试题
汨罗市2022年下学期学习能力检测试题卷
八年级信息学
一、单选题(本题共20小题,每小题2分,共40分)
1. 25和30的最小公倍数是( )
A. 55 B. 750 C. 5 D. 150
2. 布尔变量占用( )比特位。
A. 1 B. 2 C. 4 D. 8
3. 8位二进制数中去掉符号位,最大能表示( )个字符
A. 128 B. 256 C. 127 D. 255
4. 6颗子弹,编号为1,2,3,4,5,6,从编号1开始按序嵌入弹夹。以下不是正常的打出子弹的次序是( )
A. 123456 B. 654321 C. 321654 D. 312654
5. 2KB的内存能存储( )个汉字的机内码。
A. 512 B. 256 C. 1024 D. 2048
6. 十六进制数10AD转换为十进制数是( )
A. 101013 B. 4269 C. 32000 D. 1256
7. 将7朵不同花排成一圈,一共有( )不同的排法。
A. 1440 B. 5040 C. 720 D. 120
8. 一颗完全二叉树,共有1234个节点,其中子节点的个数为( )
A. 617 B. 512 C. 210 D. 2048
9. 科学家( )的研究,基本上完成了量子计算机的理论基础。
A. 图灵 B. 杨振宁 C. 姚期智 D. 冯诺依曼
10. 字符串“zhangnahz”,本质不同的子串个数为( )
A. 42 B. 24 C. 43 D. 34
11. 八进制数234中2的权值是( )
A. 82 B. 80 C. 102 D. 101
12. 设栈S初始状态为空,若干个元素{a,b,c,d,e,f}依次入栈S,出栈序列为{b,d,c,f,e,a},根据出栈的序列求栈S的最小容量为( )
A. 4 B. 3 C. 2 D. 5
13. TCP协议属于( )协议。
第1页/共9页
学科网(北京)股份有限公司
A. 应用层 B. 网络层
C. 数据链路层 D. 传输层
14. 计算机中( )的存取速度最快
A. 内存储器 B. 寄存器 C. 外存储器 D. 高速缓存
15. 算法具有有穷性、可行性、确定性、( )个或多个输入等特征。
A 1 B. 无限 C. 有限 D. 0
16. 假设用四核CPU运行我们平常编写的信息学竞赛程序,相对于同等规格的八核CPU而言,运行时间( )
A. 会缩短为原来的1/4 B. 会缩短为原来的1/2 C. 基本没有差别 D. 会缩短为原来的1/3
17. 计算机病毒是一种( )
A. 细菌 B. 文本 C. 大数据 D. 程序
18. IPv4地址是由( )位二进制数码表示的
A. 8 B. 32 C. 48 D. 64
19. 一个向量第一个元素的存储地址是100,每个元素的长度是3,则第5个元素的地址是( )
A. 105 B. 112 C. 120 D. 100
20. 64KB的存储器用十六进制表示,它的最大的地址码是( )
A. FFFF B. 1FFFF C. EFFFF D. 10000
二、阅读程序。(本题共两个程序需要阅读,程序输入不超过数组或字符串定义的范围;判断题正确填“√”,错误填“×”;选择题为单选题;判断题每小题2分,选择题每小题4分,共30分)
21. 程序1:
01 #include<iostream>
02 #include<cstdio>
03 #include<cmath>
04 using namespace std;
05 int s,x;
06 int a[11];
07 int main( )
08 {
09 for(int i=1; i<=10; ++i) cin>>a[i];
第1页/共9页
学科网(北京)股份有限公司
10 x=a[1]; s=a[1];
11 for(int i=2; i<=10; ++i)
12 {
13 if(s<0)s=0;
14 s=s+a[i];
15 if(s>x)x=s;
16 }
17 printf("%d",x);
18 }
(1)将03行删除,程序也能得到正确的结果。( )
(2)将13行“<”改为“<=”程序也能得到正确的结果。( )
(3)将06行“int a[11]”改为“int a[9]”程序也能得到正确的结果。( )
(4)输入“-100 10 20 30 -70 1 2 10 -10 100”时,输出为( )
A、103 B、60 C、3 D、13
(5)将13行删除,输入为“-100 10 20 30 -70 1 2 10 -10 100”时,输出为( )
A、3 B、-7 C、-100 D、120
22. 程序2:
01 #include<iostream>
02 #include<cstring>
03 using namespace std;
04 int gcd(int m,int n){
05 if(m==n)return m;
06 if(m<n)return gcd(n,m);
07 if(m%2==0){
08 if(n%2==0)return 2*gcd(m/2,n/2);
09 else return gcd(m/2,n);
10 } else {
11 if(n%2==0)return gcd(m,n/2);
12 else return gcd(n,m-n);
13 }
14 }
第1页/共9页
学科网(北京)股份有限公司