NOIP复习资料——往年习题精选

一、计算机系统  

1.在以下各项中,()不是CPU的组成部分。(NOIP2007) 

 A.控制器B.运算器C.寄存器D.主板 

【答案】D。CPU由控制器、运算器和寄存器组成。  

2.在下列各项中,只有()不是计算机存储容量的常用单位。(NOIP2007)  

 A.ByteB.KBC.UBD.TB  

【答案】C。存储容量:Byte=8 bit(位)、1KB=1024B、1MB=1024KB、1GB=1024MB、1TB=1024GB。  

3.与十进制数1770对应的八进制数是()。(NOIP2007) 

A.3350B.3351C.3352D.3540  

【答案】C。考查进制转换,掌握十进制、二进制、八进制和十六进制互换,以及多个不同进制数的运算(转换为同一进制数进行计算)。 

4.与十进制数28.5625相等的四进制数是()。(NOIP2008) 

A.123.21B.131.22C.130.22D.130.21 

【答案】D。熟练掌握进制转换的知识。  

5.计算机在工作过程中,若突然停电,()中的信息不会丢失。(NOIP2008)  

A.ROM 和 RAMB.CPUC.ROM D.RAM  

【答案】C。ROM(只读存储器)断电后信息不丢失,RAM(随机存储器,内存)断电后信息全部丢失。  

6.在32*32点阵的“字库”中,汉字“北”与“京”的字模占用字节数之和是()。 (NOIP2008)   

 A.512B.256 C.384D.128  

【答案】B。32*32点阵的字库,每个字占字节数为32*32/8=128字节(1个字节等于8个二进制位,1Byte=8bits,而1位对应点阵中的1个点)。所以2个汉字共要256个字节。

7.在下面各世界顶级的奖项中,为计算机科学与技术领域做出杰出贡献的科学家设立的奖项是()。(NOIP2006)  

A. 沃尔夫奖B. 诺贝尔奖C. 菲尔兹奖D. 图灵奖  

【答案】D。沃尔夫奖主要是奖励对推动人类科学与艺术文明做出杰出贡献的人士;诺贝尔奖有生理或医学奖、文学奖、物理学奖、化学奖、经济学奖和和平奖;菲尔兹奖-数学界的诺贝尔奖;图灵奖-计算机界的诺贝尔奖,2000年姚期智获得“图灵奖”,也是迄今为止获得此项殊荣的唯一华裔计算机科学家。 

二、网络和数据库  

1.在关系数据库中,存放在数据库中的数据的逻辑结构以()为主。(NOIP2007) 

A.二叉树B.多叉树C.哈希表D.二维表  

【答案】D。关系数据库是用二维表表示逻辑结构,类似于Excel。 

2.LAN的含义是()。(NOIP2007)

 A.因特网B.局域网C.广域网D.城域网  

【答案】B。Internet(因特网)、LAN(局域网)、WAN(广域网)、MAN(城域网)  

3.Web2.0 是近年来互联网的热门概念之一,其核心思想是互动与分享。下列网 站中,()是典型的Web 2.0应用。(NOIP2008)   

A.SinaB.FlickerC.YahooD.Google  

【答案】B。Web2.0最大的特点就是任何人可以参与、发布网页信息,如博客、播客(土豆、优酷等)、维基百科等。  

4.常见的邮件传输服务器使用( )协议接收邮件。(NOIP2005) 

A. HTTP B. SMTP C. TCP D. FTP E. POP3  

【答案】E。SMTP-发送邮件协议;POP3-接收邮件协议;HTTP-超文本传输协议;FTP-文件传输协议;TCP/IP-传输控制协议/因特网互联协议,它是Internet最基本的协议。

  5.下列网络中常用的名字缩写对应的中文解释错误的是( )。(NOIP2004) 

A、WWW(World Wide Web):万维网  B、URL(Uinform Resource Locator):统一资源定位器C、HTTP(Hypertext Transfer Protocol):超文本传输协议 D、FTP(File Transfer Protocol):快速传输协议 E、TCP (Transfer Control Protocol):传输控制协议  

【答案】D。FTP:文件传输协议。URL:统一资源定位器(网址)。

 6.下列哪个不是数据库软件的名称( ) 

A、MYSQL B、SQL Sever C、Oracle D、金山影霸  

【答案】D。数据库软件常用的有:MYSQL、SQLServer、Access、Foxpro、Oracle、Sybase等。

 三、编程语言  

1.一个无法靠自身的控制终止的循环成为“死循环”,例如,在C语言程序中, 语句“while(1) printf(“*”);”就是一个死循环,运行时它将无休止地打印*号。下面关于死循环的说法中,只有()是正确的。(NOIP2007) 

A.不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环,因而,任何编译系统都不做死循环检查 B.有些编译系统可以检测出死循环  C.死循环属于语法错误,既然编译系统能检查各种语法错误,当然也应该能检查出死循环  D.死循环与多进程中出现的“死锁”差不多,而死锁是可以检测的,因而,死循环也可以检测的 

【答案】A。  

2.在Pascal语言中,表达式 (23 or 2 xor 5)的值是()。(NOIP2007) 

A.18B.1C.23D.32  

【答案】A。本题考查进制转换和逻辑运算(and、or、not和xor)。对于本题首先将十进制整数转换二进制数,然后再按位进行逻辑运算。 

7.(2070)16 + (34)8 的结果是()。(NOIP2007)  

A.(8332)10B.(208A)16 C.(100000000110)2D.(20212)8  

【答案】A。本题两个数分别是十六进制和八进制,故先将它们转换为二进制,然后再进行计算和转换。  

① (2070)16=(0010,0000,0111,0000)(每位展开为4位二进制数)

② (34)8= (11,100)2 ((每位展开为3位二进制数)  

③ 利用二进制数的运算法则,得到两者相加为(0010,0000,0001)2=(8332) 10   

8.(2008)10+(5B)16的结果是()。(NOIP2008) 

 A.(833)16B.(2089)10 C.(4163)8D.(100001100011)2 

【答案】A。  

9.设A=B=True,C=D=False,下面逻辑运算表达式值为假的有()。(NOIP2007) 

A.(﹁A∧B)∨(C∧D∨A)B.﹁(((A∧B)∨C)∧D) C.A∧(B∨C∨D)∨DD.(A∧(D∨C))∧B  

【答案】D。“﹁”表示not,“∧”表示and(与,并且),“∨”表示or(或者)。  

10.在下列关于计算机语言的说法中,不正确的是()。(NOIP2006)  

 A. Pascal和C都是编译执行的高级语言    B. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上    C. C++是历史上的第一个支持面向对象的计算机语言   D. 与汇编语言相比,高级语言程序更容易阅读  

【答案】C。第一个支持面向对象的计算机语言是Smalltalk。 

四、数据结构  

1.地面上有标号为A、B、C的三根柱,在A柱上放有10个直径相同中间有孔的 圆盘,从上到下依次编号为1,2,3„„,将A柱上的部分盘子经过B柱移入C柱,也可以在B柱上暂存。如果B柱上的操作记录为“进、进、出、进、进、出、出、进、进、出、进、出、出”。那么,在C柱上,从下到上的编号为()。(NOIP2007)    

A.2 4 3 6 5 7B.2 4 1 2 5 7C.2 4 3 1 7 6D.2 4 3 6 7 5 

【答案】D。栈,后进先出。  

2.某个车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时刻该车站状态为空,从 这一时刻开始的出入记录为:“进,出,进,进,进,出,出,进,进,进,出,出”。假设车辆入站的 顺序为 1,2,3,„„,则车辆出站的顺序为( )。(NOIP2006)   

A. 1, 2, 3, 4, 5 B. 1, 2, 4, 5, 7  C. 1, 4, 3, 7, 6 D. 1, 4, 3, 7, 2  

【答案】C。栈操作。  

3.完全二叉树共有2*N-1个结点,则它的叶节点数是()。(NOIP2008) 

A.N-1B.NC.2*ND.2N-1 

【答案】B。    在二叉树中,结点的度数有0、1、2三种情况,其中度为0的结点就是叶子结点。设D0表示度为0的结点个数,D1表示度为1的结点个数,D2表示度为2的结点个数,则有二叉树结点=D0+D1+D2。  在完全二叉树中,若除去最下面一层的结点,则此时的二叉树构成一个满二叉树,其结点个数为 (奇数),而题目中的二叉树共有2*N-1(奇数)个结点,所以可以知道完全二叉树最下面一层的结点个数为偶数个,得知D1=0。这样我们只要求出D2,就可以得到D0的值了。  接下来,我们来看二叉树边的个数,由于“边数=结点数-1”(除去根结点,因为只有它的上面没有边),D0结点(叶节点)无发出的边,D1结点个数为0,D2发出的边数为D2*2,所以得到:   边数=结点数-1=D2*2 → 结点数=D2*2+1 →   D2=(结点数-1)÷2= (2*N-2)÷2=N-1 ∵ D0+D2=2*N-1 ∴ D0=2*N-1-(N-1)=N  

4.完全二叉树的结点个数为11,则它的叶结点个数为( )。(NOIP2005)  

 A. 4   B.3   C.5   D. 2   E. 6 

【答案】E。用上题的结论。  

5.高度为 n 的均衡的二叉树是指:如果去掉叶结点及相应的树枝,它应该是高度为 n-1 的满二叉树。 在这里,树高等于叶结点的最大深度,根结点的深度为 0,如果某个均衡的二叉树共有 2381 个结点, 则该树的树高为()。 

 A. 10  B. 11 C. 12 D. 13  

【答案】B。满二叉树的结点个数为 (根结点的深度为1),而这棵二叉树共有2381个结点,可以算出上面满二叉树的结点个数是 =2048-1=2047,故这棵树有11+1(最下面1层)=12。由于题目中根结点的深度是从0(一般从1)开始的,所以该树高12-1=11。  

6.递归过程或函数调用时,处理参数和返回地址,通常使用一种称为()的数据 结构。(NOIP2008)    

A.队列B.多维数组C.线性表D.栈 

【答案】D。  

7.设T是一棵有n个顶点的树,下列说法不正确的是()。(NOIP2008) 

A.T有n条边B.T是连通的C.T是无环的D.T有n-1条边  

【答案】A。n个顶点的树,除了根结点以外,其余每个结点上方都连接一条边,所以一共有n-1条边。  

8.已知7个节点的二叉树的先根遍历是1 2 4 5 6 3 7(数字为节点的编号,以 下同),中根遍历是4 2 6 5 1 7 3,则该二叉树的后根遍历是()。(NOIP2007)

 A.4 6 5 2 7 3 1B.4 6 5 2 1 3 7C.4 2 3 1 5 4 7D.4 6 5 3 1 7 2 

【答案】A。先根遍历=先序遍历(根→左→右),中根遍历=中序遍历(左→根→右),后根遍历=后序遍历(左→右→根)。中序遍历保证了左子树的所有结点在它左边,右子树的结点在它右边。  过程如下:后用先序遍历结果,找到父结点,然后按照中序遍历结果将其左右子树分开;然后再从先序遍历结果中再找到左子树的根结点,再重复以上操作„„直到所有结点归位。  先序:1 2 4 5 6 3 7 中序:4 2 6 5 1 7 3 

 ① 先序第1个数字是1(二叉树根),将中序中1的左半段与右半段分开,即得到1的左子树是4 2 6 5,右子树是7 3,表示为(4 2 6 5)1(7 3)。

② 再看1的左子树4 2 6 5,其对应的先序2 4 5 6,此时先序第1个数字是2(左子树的根),将中序以2再次划分为左子树4,右子树6 5,表示为(4)2(6 5),如图2所示。  图2    图3   图4 
③ 2的右子树中序为6 5,先序为5 6,则2的右子树的根是5,再看中序,得到(6)5,到这里完成结点1左子树的结构,如图3所示。 ④ 同样方法构建1右子树,得到(7)3,如图4所示。  

⑤ 依照后序遍历的特点(左→右→根),得到结果:4 6 5 2 7 3 1,故答案为A。 

【思考】  

(1)已知中序和后序,如何求先序?  

(2)已知二叉树的先序、中序和后序序列分别如下,但其中有一些已模糊不清,试构造出该二叉树。  先序序列: _BC_EF__ 中序序列: BDE_AG_H 后序序列: _DC_GH_A

  9.二叉树T,已知其先根遍历是1 2 4 3 5 7 6(数字为节点的编号,下同), 中根遍历2 4 1 5 7 3 6,则该二叉树的后根遍历是()。(NOIP2008)   

A.4 2 5 7 6 3 1B.4 2 7 5 6 3 1 C.7 4 2 5 6 3 1D.4 2 7 6 5 3 1 

【答案】B。  

10.已知 6 个结点的二叉树的先根遍历是 1 2 3 4 5 6(数字为结点的编号,以下同),后根遍历是 3 2 5 6 4 1,则该二叉树的可能的中根遍历是()。(NOIP2006)   

A. 3 2 1 4 6 5B. 3 2 1 5 4 6   C. 2 1 3 5 4 6D. 2 3 1 4 6 5 

【答案】B。先序遍历和后序遍历不能确定唯一中序遍历,对于本题的结果可以是:2 3 1 5 4 6或者3 2 1 5 4 6。   

11.二叉树T的宽度优先遍历序列为A B C D E F G H I,已知A是C的父结点,D 是G 的父结点,F 是I 的父结点,树中所有结点的最大深度为3(根结点深度设为0),可知F的父结点是( )。(NOIP2005) 

A. 无法确定B. BC. CD. DE. E

【答案】C。  

12.设栈S的初始状态为空,元素a, b, c, d, e 依次入栈,以下出栈序列不可 能出现的有()。(NOIP2006)     

A. a, b, c, e, dB. b, c, a, e, d  C. a, e, c, b, dD. d, c, e, b, a  

【答案】C。选项C中的出栈序列:a,e,c,b,d,a,e出栈,则栈中必是b,c,d(从下往上),出栈序列只能是d,c,b,而不是c,b,d。  

13.满二叉树的叶节点为N,则它的节点总数为( )(NOIP2004) 

A、N  B、2N C、2N-1 D、2N+1 E、2^N-1  

【答案】C。满二叉树的结点个数为 (根结点的深度为1),其叶子节点的个数为 ,所以“结点个数”=“叶子节点”*2-1=2N-1。

 五、算法  

1.近20年来,许多计算机专家都大力推崇递归算法,认为它是解决较复杂问题的强有力的工具。在下列关于递归算法的说法中,正确的是()。(NOIP2007)   

A.在1977年前后形成标准的计算机高级语言“FORTRAN77”禁止在程序使用递归,原因之一是该方法可能会占用更多的内存空间    B.和非递归算法相比,解决同一个问题,递归算法一般运行得更快一些   C.对于较复杂的问题,用递归方式编程一般比非递归方式更难一些   D.对于已经定义好的标准数学函数 sin(x),应用程序中的语句“y=sin(sin(x));”就是一种递归调用。 

【答案】A。  

2.在下列各种排序算法中,不是以“比较”作为主要操作的算法是()。(NOIP2006)   

A. 选择排序B. 冒泡排序C. 插入排序D. 基数排序  

【答案】D。基于“比较”的排序:冒泡、选择、插入、快速、归并、堆、希尔等;而“非比较”的排序:计数排序、桶排序、基数排序等。

 3.设字符串S="Olympic",S的非空子串的数目是()。(NOIP2008)   

A.28B.29C.16D.17

【答案】A。串长为1的子串有7个,串长为2的子串有6个,„„,串长为7的子串有1个,共7+6+5+„2+1=28。 

 4.将数组{8,23,4,16,77,-5,53,100}中的元素按从小到大的顺序排列,每次可以交换任意两个元素,最少需要交换()次。(NOIP2008)  

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

【答案】B。选择排序,第1次是将第1个元素与右边7个元素中最小的一个交换,第2次是将第2个元素与右边6个元素中最小的一个交换,„„。若当前元素已是其余元素中最小的,则不需要交换。  

5.对有序数组{ 5,13,19,21,37,56,64,75,88,92,100}进行二分查找,成功查找元素19的查找长度(比较次数)是( )。(NOIP2008)   

A.1B.2C.3D.4  

【答案】B。首先与中间元素56比较,比56小,则继续在56左侧的5个元素中查找;与这5个元素的中间元素19比较,相等,则找到,所以只需要比较2次。 

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

A、20B、8C、16D、12E、24  

【答案】D。把“abc”看成一个整体,记为d。本题转换为2个a、1个c、1个d进行全排列,由于有2个a,所以要除以a的全排列个数,即  。

(持续更新!!!)

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值