zoukankan      html  css  js  c++  java
  • NOIP2010-普及组初赛C语言解析

    第十六届全国青少年信息学奥林匹克联赛初赛试题

    一、单项选择题 (共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++语言都属于(  )。 

      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,则它的原码是( )。

      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位,则它在二进制下的位数与( )最接近。

      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.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分)

     

  • 相关阅读:
    use paramiko to connect remote server and execute command
    protect golang source code
    adjust jedi vim to python2 and python3
    install vim plugin local file offline
    add swap file if you only have 1G RAM
    datatables hyperlink in td
    django rest framework custom json format
    【JAVA基础】网络编程
    【JAVA基础】多线程
    【JAVA基础】String类的概述和使用
  • 原文地址:https://www.cnblogs.com/geek-007/p/4822233.html
Copyright © 2011-2022 走看看