NOIP2016提高组C++初赛试题.doc

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

提高组 C++语言试题

竞赛时间:2016 年 10 月 22 日 14:30~16:30

选手注意:

● 试题纸共有 13 页,答题纸共有 2 页,满分 100 分。请在答题纸上作答,写

?在试题纸上的一律无效。?

● 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

?

一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确 选项)

1. 以下不是微软公司出品的软件是( )。

A. Powerpoint B. Word C. Excel D. Acrobat Reader

2. 如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照 CapsLock、

字母键 A、字母键 S 和字母键 D 的顺序来回按键,即 CapsLock、A、S、D、S、A、CapsLock、A、S、D、S、A、CapsLock、A、S、D、S、A、……,屏幕上输出的第 81 个字符是字母( )。

A. A B. S C. D D. A

3. 二进制数 00101100 和 01010101 异或的结果是( )。

A. 00101000 B. 01111001 C. 01000100 D. 00111000

4. 与二进制小数 0.1 相等的八进进制数是( )。

A. 0.8 B. 0.4 C. 0.2 D. 0.1

5. 以比较作为基本运算,在 N 个数中找最小数的最少运算次数为( )。

2

A. N B. N-1 C. ND. log N

6. 表达式 a*(b+c)-d 的后缀表达形式为( )。

A. abcd*+- B. abc+*d- C. abc*+d- D. -+*abcd

7. 一棵二叉树如右图所示,若采用二叉树链表存储该二叉

树(各个结点包括结点的数据、左孩子指针、右孩子指

针)。如果没有左孩子或者右孩子,则对应的为空指针。 那么该链表中空指针的数目为( )。

A. 6 B. 7 C. 12 D. 14

8. G 是一个非连通简单无向图,共有 28 条边,则该图至少有( )个顶点。 A. 10 B. 9 C.8 D.7

CCF NOIP2016 初赛提高组 C++语言试题

第 1 页,共 13 页

9. 某计算机的 CPU 和内存之间的地址总线宽度是 32 位(bit),这台计算机

最 多可以使用( )的内存。

A. 2GB B. 4GB C. 8GB D. 16GB

10. 有以下程序:

#include using namespace std;

int main() {

int k = 4, n = 0; while (n < k) {

n++;

if (n % 3 != 0)

continue;

k--;

}

cout << k << \return 0;

}

程序运行后的输出结果是( )。 A. 2,2 B. 2,3 C. 3,2 D. 3,3

11. 有 7 个一模一样的苹果,放到 3 个一样的盘子中,一共有( )种放法。

A. 7 B. 8 C. 21 D. 37

12. Lucia 和她的朋友以及朋友的朋友都在某社交网站上注册了账号。下图是他们

之间的关系图,两个人之间有边相连代表这两个人是朋友,没有边相连代表

不是朋友。这个社交网站的规则是:如果某人 A 向他(她)的朋友 B 分享了 某张照片,那么 B 就可以对该照片进行评论;如果 B 评论了该照片,那么他 (她)的所有朋友都可以看见这个评论以及被评论的照片,但是不能对该照

CCF NOIP2016 初赛提高组 C++语言试题

第 2 页,共 13 页

片进行评论(除非 A 也向他(她)分享了该照片)。现在 Lucia 已经上传了 一张照片,但是她不想让 Jacob 看见这张照片,那么她可以向以下朋友( )分享该照片。

A. Dana, Michael, Eve B. Dana, Eve, Monica C. Michael, Eve, Jacob D. Micheal, Peter, Monica

13. 周末小明和爸爸妈妈三个人一起想动手做三道菜。小明负责洗菜、爸爸负责 切

菜、妈妈负责炒菜。假设做每道菜的顺序都是:先洗菜 10 分钟,然后切 菜 10 分钟,最后炒菜 10 分钟。那么做一道菜需要 30 分钟。注意:两道不 同的菜的相同步骤不可以同时进行。例如第一道菜和第二道的菜不能同时洗,

也不能同时切。那么做完三道菜的最短时间需要( )分钟。

A. 90 B. 60 C. 50 D. 40

14. 假设某算法的计算时间表示为递推关系式

nT(n) = 2T()+n

4T(1) = 1

则算法的时间复杂度为( )。

A.O(n) B. O(n) C. O(n logn)

D. O(n2)

1. 给定含有 n 个不同的数的数组 L=。如果 L 中存在 x i(1 < i < n) 使

得 x1 < x2 < ... < xi-1 < xi > xi+1 > ... > xn, 则称 L 是单峰的,并称 xi 是 L 的

“峰顶”。现在已知 L 是单峰的,请把 a-c 三行代码补全到算法中使得算法 正确找到 L 的峰顶。 a. Search(k+1, n) b. Search(1, k-1) c. return L[k]

Search(1, n) 1. k← [n/2]

2. if L[k] > L[k-1] and L[k] > L[k+1] 3. then __________

4. else if L[k] > L[k-1] and L[k] < L[k+1] 5. then __________

6. else __________

正确的填空顺序是( )。

A. c, a, b B. c, b, a C. a, b, c D. b, a, c

二、不定项选择题(共 5 题,每题 1.5 分,共计 7.5 分;每题有一个或多个正确 选项,多选或少选均不得分)

CCF NOIP2016 初赛提高组 C++语言试题

第 3 页,共 13 页

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4