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

     

  • 相关阅读:
    状压DP
    string
    hdu3068
    HDU Stealing Harry Potter's Precious(状压BFS)
    状压BFS
    BFS+打印路径
    poj Meteor Shower
    C语言-无符号数与有符号数不为人知的秘密
    keras_实现cnn_手写数字识别
    python_plot画图参数设置
  • 原文地址:https://www.cnblogs.com/geek-007/p/4822233.html
Copyright © 2011-2022 走看看