1. C++是一种面向对象的程序设计语言。在 C++中,下面哪个关键字用于声明一个类,其缺省继承方式为 private 继承?( )

A. union

B. struct

C. class

D. enum

题解思路

private是指私有的变量、函数,而struct全部都是公有的。


  1. C++语言中,以 0b 开头的数为( )进制数。

A. 二进制

B. 八进制

C. 十进制

D. 十六进制

题解思路

基本常识,积累不够多。


  1. 根结点的高度为 1,高度为 5 的完全二叉树至少有( )个结点。

A. 15

B. 16

C. 31

D. 32

题解思路

44层一定有2512^5-1个节点,第55层最少一个节点凑数,所以高度为 5 的完全二叉树至少有251+1=162^5-1+1=16个结点。


  1. 假设有一组字符{g,h,i,j,k,l}\{g,h,i,j,k,l\},它们对应的频率分别为 {8%,14%,17%,20%,23%,18%}\{8\%,14\%,17\%,20\%,23\%,18\%\},请问以下哪个选项是字符 g,h,i,j,k,l 分别对应的一组哈夫曼编码?( )

A. g: 1100, h: 1101, i: 111, l: 10, k: 00, j: 01

B. g: 0000, h: 001, i: 010, l: 011, k: 10, j: 11

C. g: 111, h: 110, i: 101, l: 100, k: 01, j: 00

D. g: 110, h: 111, i: 101, l: 100, k: 0, j: 01

题解思路

先将814构成22的两子树,其次将1718构成35的两子树,再将2022构成48的两子树,然后将3523构成58的两子树,最后将4258构成100的两子树,根据哈夫曼编码方式可得长度为g:3, h: 3, i: 13, l: 3, k: 2, j: 2,符合条件的只有C,故选C。


  1. 奇偶校验编码是常见的校验编码方式。对于二进制编码 An,An1A2,A1A_n,A_{n-1}…A_2,A_1,奇偶校验编码在编码的最后增加一位校验位 G,并将原编码与校验位作为整体发送。校验位分为奇校验位与偶校验位,奇校验位保证AnxorAn1xorxorA2xorA1xorG=1A_nxorA_{n-1}xor…xorA_2xorA_1xorG=1,偶校验位保证AnxorAn1xorxorA2xorA1xorG=0A_nxorA_{n-1}xor…xorA_2xorA_1xorG=0。下列编码与校验位对应正确的是( )。

A. 编码 11100111 奇校验位 0

B. 编码 01100010 偶校验位 0

C. 编码 00010010 奇校验位 1

D. 编码 11100010 偶校验位 1

题解思路

xorxor等价于异或,所以这道题就是在求异或和是否满足要求,这里有一个小技巧,求异或和,把初始值设为0,从第一个开始遍历,遇1取反,遇0不变,故选A。


  1. 下列关于 NOI 系列活动的有关说法,错误的是( )。

A. NOI 考试对 C++语言的使用没有限制。

B. 选手不可以携带草稿纸、手机、U 盘等进入考场。

C. 主办单位 CCF 的全称为中国计算机学会。

D. 在 CSP 第一轮考试中舞弊,可能会被给予取消考试资格、禁赛等处罚。

题解思路

基本常识,NOI中c++不能调用开头为_的函数。