第十六届全国青少年信息学奥林匹克联赛初赛试题
一、单项选择题 (共20题,每题1.5分,共计30分。每题有且仅有一个正确选项。)
1.2E+03表示( D )。
A.2.03 B.5 C.8 D.2000
参考:这个式子可以在计算器中看到,“E”表示10的乘方,则“2E+03”表示2³=2000,故选D
/============================================================================================/
2.一个字节(byte)由( A )个二进制位组成。
A.8 B.16 C.32 D.以上皆有可能
参考:字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制,故选A
/============================================================================================/
3.以下逻辑表达式的值恒为真的是( A )。
A.PV(¬PΛQ)V(¬PΛQ) B.QV(¬PΛQ)V(PΛ¬Q)
C.PVQV(PΛ¬Q)V(¬PΛQ) D. PV¬QV(PΛ¬Q)V(¬PΛ¬Q)
/============================================================================================/
4.Linux下可执行文件的扩展名为( D )。
A.exe B.com C. dll D.以上都不是
参考:exe是windows系统下的文件,com是dos命令,dll是动态链接库不是可执行文件,所以都不是,故选D
/============================================================================================/
5.如果树根算第1层,那么一棵n层的二叉树最多有( A )个结点。
A.2ⁿ-1 B.2ⁿ C.2ⁿ+1 D.2ⁿ+1
参考:子节点是根节点的平方,第n层有2ⁿ-1个节点,画一个图便知,故选A
/============================================================================================/
6.提出“存储程序”的计算机原理的是( D )。
A.克劳德·香农 B.戈登·摩尔 C.查尔斯·巴比奇 D.冯·诺依曼
参考:现代计算机系统工作原理的核心之一是“存储程序”,最早提出这一设计思想的是冯·诺依曼,故选D
7.设X、Y、Z分别代表三进制下的一位数字,若等式XY+ZX=XYX在三进制下成立,那么同样在三进制下,等式XY*ZX=( B )也成立。
/============================================================================================/
A.YXZ B.ZXY C.XYZ D.XZY
8.Pascal语言、C语言和C++语言都属于( D )。
A.面向对象语言 B.脚本语言 C.解释性语言 D.编译性语言
参考:这些语言都是现代的高级语言,属于编译性语言,A答案面向对象语言,是计算机基础的语言,现在的语言大有进步,故选D
/============================================================================================/
9.前缀表达式“+3*2+5 12”的值是( C )。
A.23 B.25 C.37 D.65
参考:前缀表达式(波兰式)就是不含括号的算术表达式,而且它是将运算符写在前面,操作数写在后面的表达式,例如:- 1 + 2 3,它等价于1-(2+3),所以这题“+3*2+5 12”等价于“3+2*(5+12)”=37,故选C
/============================================================================================/
10.主存储器的存取速度比中央处理器(CPU)的工作速度慢得多,从而使得后者的效率受到影响。而根据局部性原理,CPU所访问的存储单元通常都趋于聚集在一个较小的连续区域中。于是,为了提高系统的整体执行效率,在CPU中引入( B )。
A.寄存器 B.高速缓存 C.闪存 D.外存
参考:
A选项:寄存器是中央处理器(CPU)内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,存器有累加器(ACC)。B选项:高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多(属于高速缓存), 接近于CPU的速度。
C选项:闪存是技术人员保存安装BIOS等计算机基础设置的地方,也可以是数码相机内的数据存储卡,不属于CPU的范畴
D选项:外存是是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据。常见的外存储器有硬盘、软盘、光盘、U盘等,故这题选B
/============================================================================================/
11.一个字长为8位的整数的补码是1111 1001,则它的原码是( D )。
A.0000 0111 B.0111 1001 C.1111 1001 D.1000 0111
参考:一个正数的原码=反码=补码,一个负数的原码=补码取反加1,本题“1111 1001”首位数是“1”,则这个数是负数,则原码=补码取反码加一=1000 0110=1000 0111,故选D
/============================================================================================/
12.基于比较的排序时间复杂度的下限是( B ),其中n表示待排序的元素个数。
A.Θ(n)
B.Θ(n log n)
C.θ( log n)
D.Θ(n²)
参考:这题我真不知道,百度上都说是n log n,故选B
/============================================================================================/
13.一个自然数在十进制下有n位,则它在二进制下的位数与( B )最接近。
A.5n B.n*log₂ 10 C.10* log₂ n D.10ⁿlog₂ n
参考:这题可以举例,例如53,53的二进制数为110101,可以看出与n*log₂ 10接近,故选B
/============================================================================================/
14.在下列HTML语句中,可以正确产生一个指向NOI官方网站的超链接的是( B )。
A.<a url="http://www.noi.cn">欢迎访问NOI网站</a>
B.<a href="http://www.noi.cn">欢迎访问NOI网站</a>
C.<a >http://www.noi.cn</a>
D.<a name="http://www.noi.cn">欢迎访问NOI网站</a>
参考:HTML语句中,a href指的是这个标签a指向的链接,故选B
/============================================================================================/
15.元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。如果第一个出栈的是R3,那么第五个出栈的不可能是( B )。
A.R1 B.R2 C.R4 D.R5
参考:R2是在R1上面,则第五个出栈的绝对不可能是R1,最坏的情况是R1最后一个出栈,故选B
/============================================================================================/
16.双向链表中有两个指针域llink和rlink,分别指向该结点的前驱和后继。设P指向链表中的一个结点,它的左右结点均非空。现要求删除结点P,则下面语句序列中错误的是( A )。
A.P→rlink→llink = p→rlink;
P→llink→rlink = p→llink; dispose(p)
B.P→llink→rlink = p→rlink;
P→rlink→llink = p→llink; dispose(p)
C.P→rlink→llink = p→llink;
P→rlink→llink→rlink= p→rlink; dispose(p)
D.P→llink→rlink = p→rlink;
P→llink→rlink→llink = p→llink; dispose(p)
参考:P指向的是一个地址,那么P的值即为最后赋值的那个地址,A选项中“P→rlink→llink = p→rlink”最后的是llink,而不等于rlink,故选A
/============================================================================================/
17.一棵二叉树的前序遍历序列是ABCDEFG,后序遍历序列是CBFEGDA,则根结点的左子树的结点个数可能是( A )。
A.2 B.3 C.4 D.5
参考:有七个节点,则最基本的是三层。首先知A是根节点 又由后序遍历知D必然是右子树的根节点D前面的ABC中A是根节点 剩下的B、C俩个节点必然是左子树的,故选A
/============================================================================================/
18.关于拓扑排序,下面说法正确的是( D )。
A.所有连通的有向图都可以实现拓扑排序
B.对同一个图而言,拓扑排序的结果是唯一的
C.拓扑排序中入度为0的结点总会排在入度大于0的结点前面
D.拓扑排序结果序列中的第一个结点一定是入度为0的点
/============================================================================================/
19.完全二叉树的顺序存储方案,是指将完全二叉树的结点从上至下、从左至右依次存放到一个顺序结构的数组中。假定根结点存放在数组的1号位置,则第K号结点的父结点如果存在的话,应当存放在数组的( C )号位置。
A.2k B.2k+1 C.k/2 下取整 D.(k+1)/2 下取整
参考:
对于k=1,则k为根结点,无父母结点。
对于k>1,可分两种情况讨论。
1.设完全二叉树第j层的第一个结点的编号为i,则i=2的j-1次方。其左孩子必为第j+1层的第一个结点。其编号为2的j次方,这和2*i相等。右孩子为j+1层的第二
个结点,结点编号为2*i+1。所以,在这种情况下,左孩子编号为2*i,右孩子编号为2*i+1,父母结点编号为i,2*i/2,(i*2+1)/2取
整均为i。
2.设完全二叉树第j层上的某个结点编号为i,编号为i+1的结点为编号为i的结点的右兄弟或者堂兄弟,若它有左孩子,编号为
2i+2=2(i+1),或它有右孩子,编号为2i+3=2(i+1)+1。在这种情况下,2(i+1)/2,[2(i+1)+1]/2取整均为i+1
故选C
/============================================================================================/
20.全国青少年信息学奥林匹克系列活动的主办单位是( D )。
A.教育部 B.科技部
C.共青团中央 D.中国计算机协会
参考:这题为常识题,举办单位是中国计算机协会,故选D
/============================================================================================/
二.问题求解(共2题,每空5分,共计10分)
1.LZW编码是一种自适应词典编码。在编码的过程中,开始时只有一部基础构造元素的编码词典,如果在编码的过程中遇到一个新的词条,则该词条及一个新的编码会被追加到词典中,并用于后继信息的编码。
举例说明,考虑一个待编码的信息串:“xyx yy yy xyx”。初始词典只有3个条目,第一个为x,编码为1;第二个为y,编码为2;第三个为空格,编码为3;于是串“xyx”的编码为1-2-1(其中-为编码分隔符),加上后面的一个空格就是1-2-1-3。但由于有了一个空格,我们就知道前面的“xyx”是一个单词,而由于该单词没有在词典中,我们就可以自适应的把这个词条添加到词典里,编码为4,然后按照新的词典对后继信息进行编码,以此类推。于是,最后得到编码:1-2-1-3-2-2-3-5-3-4。
现在已知初始词典的3个条目如上述,则信息串“yyxy xx yyxy xyx xx xyx”的编码是
三.阅读程序写结果(共4题,每题8分,共计32分)