NOIP2016第二十二届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题选择题讲解
一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)
1. 题目
以下不是微软公司出品的软件是()。
A. Powerpoint
B. Word
C. Excel
D. AcrobatReader
答案:D
知识点:常见软件的出品公司。
解析
- A选项:Powerpoint是微软公司开发的演示文稿软件,属于Microsoft Office办公软件套装的一部分,所以A选项错误。
- B选项:Word是微软公司开发的文字处理软件,也是Microsoft Office办公软件套装中的重要组成部分,所以B选项错误。
- C选项:Excel是微软公司开发的电子表格软件,同样是Microsoft Office办公软件套装的成员之一,所以C选项错误。
- D选项:AcrobatReader是Adobe公司开发的用于阅读PDF文件的软件,不是微软公司出品的,所以D选项正确。
2. 题目
如果256种颜色用二进制编码来表示,至少需要()位。
A. 6
B. 7
C. 8
D. 9
答案:C
知识点:二进制编码与颜色数量的关系。
解析
- 因为(2n\geq256)((n)为二进制位数),(28 = 256),所以至少需要8位二进制编码来表示256种颜色。
- A选项:(2^6 = 64),小于256,所以A选项错误。
- B选项:(2^7 = 128),小于256,所以B选项错误。
- C选项:符合计算结果,所以C选项正确。
- D选项:虽然(2^9)大于256,但不是至少需要的位数,所以D选项错误。
3. 题目
以下不属于无线通信技术的是()。
A. 蓝牙
B. WiFi
C. GPRS
D. 以太网
答案:D
知识点:无线通信技术和有线通信技术的区分。
解析
- A选项:蓝牙是一种短距离无线通信技术,常用于设备之间的数据传输,如手机与蓝牙耳机连接等,所以A选项错误。
- B选项:WiFi是一种基于无线局域网的无线通信技术,广泛应用于家庭、办公场所等提供无线网络接入,所以B选项错误。
- C选项:GPRS是通用分组无线服务技术,是一种基于GSM系统的无线分组交换技术,用于移动数据通信,所以C选项错误。
- D选项:以太网是一种有线网络技术,通过网线连接设备进行数据传输,不属于无线通信技术,所以D选项正确。
4. 题目
以下不是CPU生产厂商的是()。
A. Intel
B. AMD
C. Microsoft
D. IBM
答案:C
知识点:CPU生产厂商的了解。
解析
- A选项:Intel是著名的CPU生产厂商,生产了一系列高性能的处理器,所以A选项错误。
- B选项:AMD也是主要的CPU生产厂商,与Intel在市场上有竞争关系,所以B选项错误。
- C选项:Microsoft是一家软件公司,主要开发操作系统(如Windows)和办公软件等,不是CPU生产厂商,所以C选项正确。
- D选项:IBM也曾经生产过CPU,并且在计算机技术发展过程中有重要贡献,所以D选项错误。
5. 题目
以下不是存储设备的是()。
A. 光盘
B. 磁盘
C. 固态硬盘
D. 鼠标
答案:D
知识点:存储设备的概念和常见类型。
解析
- A选项:光盘是一种存储介质,可以用来存储数据,如音乐、视频、软件等,所以A选项错误。
- B选项:磁盘包括软盘和硬盘等,是传统的存储设备,用于存储计算机系统中的数据和程序,所以B选项错误。
- C选项:固态硬盘是一种新型的存储设备,具有读写速度快等优点,用于存储数据,所以C选项错误。
- D选项:鼠标是一种输入设备,用于操作计算机,而不是存储设备,所以D选项正确。
6. 题目
如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S和字母键D的顺序循环按键,即CapsLock、A、S、D、CapsLock、A、S、D、……,屏幕上输出的第81个字符是字母()。
A. A
B. S
C. D
D. a
答案:A
知识点:循环规律与字符大小写状态的判断。
解析
- 每4次按键为一个循环,81÷4 = 20余1,说明经过20个完整循环后,又按了一次键,这个键是CapsLock,它会切换大小写状态。
- 开始是小写状态,按一次CapsLock后变为大写状态,接下来按字母键A,所以第81个字符是A。
- A选项:符合上述分析,所以A选项正确。
- B选项:不符合循环规律和大小写状态的判断,所以B选项错误。
- C选项:不符合循环规律和大小写状态的判断,所以C选项错误。
- D选项:不符合大小写状态的切换结果,所以D选项错误。
7. 题目
二进制数00101100和00010101的和是()。
A. 00101000
B. 0100001
C. 01000100
D. 00111000
答案:C
知识点:二进制数的加法运算。
解析
- 二进制加法规则是:0 + 0 = 0,0 + 1 = 1,1 + 0 = 1,1 + 1 = 10(向高位进1)。
- 从低位开始相加:00101100 + 00010101 = 01000001(最后一位0 + 1 = 1,倒数第二位0 + 0 = 0,倒数第三位1 + 1 = 10,向高位进1,本位为0,以此类推),所以结果是01000100(前面补0对齐)。
- A选项:计算错误,所以A选项错误。
- B选项:计算错误,所以B选项错误。
- C选项:符合计算结果,所以C选项正确。
- D选项:计算错误,所以D选项错误。
8. 题目
与二进制小数0.1相等的八进制数是()。
A. 0.8
B. 0.4
C. 0.2
D. 0.1
答案:C
知识点:二进制小数与八进制数的转换。
解析
- 二进制转八进制,从小数点开始,每三位二进制数对应一位八进制数。
- 二进制小数0.1,不足三位,在前面补0为0.100,0.100对应的八进制数为0.4(000对应0,100对应4),所以答案是0.4,这里题目可能有误,如果是问二进制小数0.01对应的八进制数,则是0.2(0.010对应0.2)。
- A选项:不符合转换结果,所以A选项错误。
- B选项:按照正确的题目理解应该是0.1对应的八进制数,不是0.4,所以B选项错误(如果题目是0.100对应的八进制数则正确)。
- C选项:如果题目是0.01对应的八进制数,则符合转换结果,所以C选项正确(按照当前题目可能存在的错误理解,答案应该是0.4)。
- D选项:不符合转换结果,所以D选项错误。
9. 题目
以下是32位机器和64位机器的区别的是()。
A. 显示器不同
B. 硬盘大小不同
C. 寻址空间不同
D. 输入法不同
答案:C
知识点:32位机器和64位机器的主要区别。
解析
- A选项:显示器与机器是32位还是64位无关,显示器的选择主要取决于用户需求和显卡等因素,所以A选项错误。
- B选项:硬盘大小可以根据用户的需求进行配置,与机器的32位或64位架构没有直接关系,所以B选项错误。
- C选项:32位机器的寻址空间通常为(2{32})字节,64位机器的寻址空间通常为(2{64})字节,这是它们的一个重要区别,所以C选项正确。
- D选项:输入法的使用与机器的位架构无关,取决于用户安装和设置的输入法软件,所以D选项错误。
10. 题目
以下关于字符串的判定语句中正确的是()
A. 字符串是一种特殊的线性表
B. 串的长度必须大于零
C. 字符串不可以用数组来表示
D. 空格字符组成的串就是空串
答案:A
知识点:字符串的基本概念和性质。
解析
- A选项:字符串可以看作是由字符组成的线性表,它具有线性表的一些特性,如顺序存储、可以进行插入、删除等操作(在一定条件下),所以A选项正确。
- B选项:字符串的长度可以为零,空串就是长度为零的字符串,所以B选项错误。
- C选项:字符串可以用字符数组来表示,这是一种常见的表示方法,所以C选项错误。
- D选项:空格字符组成的串不是空串,空串是不包含任何字符的串,所以D选项错误。
11. 题目
一棵二叉树如右图所示,若采用顺序存储结构,即用一维数组元素存储该二叉树中的结点(根结点的下标为1,若某结点的下标为i,则其左孩子位于下标2i处、右孩子位于下标(2i + 1)处),则图中所有结点的最大下标为()。
A. 6
B. 10
C. 12
D. 15
答案:D
知识点:二叉树的顺序存储结构以及节点下标的计算。
解析
- 按照顺序存储结构的规则,依次计算各节点的下标:
- 根节点下标为1,其左孩子下标为2×1 = 2,右孩子下标为2×1 + 1 = 3;
- 节点2的左孩子下标为2×2 = 4,右孩子下标为2×2 + 1 = 5;
- 节点3的左孩子下标为2×3 = 6,右孩子下标为2×3 + 1 = 7;
- 节点4的左孩子下标为2×4 = 8,右孩子下标为2×4 + 1 = 9;
- 节点5的左孩子下标为2×5 = 10,右孩子下标为2×5 + 1 = 11;
- 节点6的左孩子下标为2×6 = 12,右孩子下标为2×6 + 1 = 13;
- 节点7的左孩子下标为2×7 = 14,右孩子下标为2×7 + 1 = 15。
- 所以图中所有结点的最大下标为15。
- A选项:不符合计算结果,所以A选项错误。
- B选项:不符合计算结果,所以B选项错误。
- C选项:不符合计算结果,所以C选项错误。
- D选项:符合计算结果,所以D选项正确。
12. 题目
若有如下程序段,其中s、a、b、c均己定义为整型变量,且a、c均己赋值(c大于0)。
s = a;
for(b = 1;b <= c;b++)
s = s + 1;
则与上述程序段修改s值的功能等价的赋值语句是()。
答案:s = a + c;
知识点:循环结构与赋值语句的等价性。
解析
- 在给定的程序段中,for循环会执行c次,每次循环s都会加1,所以最终s的值等于a加上c。
- 例如,假设a = 5,c = 3,那么循环执行过程如下:
- 第一次循环:b = 1,s = a + 1 = 6;
- 第二次循环:b = 2,s = 6 + 1 = 7;
- 第三次循环:b = 3,s = 7 + 1 = 8,即s = a + 3。
- 所以与上述程序段修改s值的功能等价的赋值语句是s = a + c。
13. 题目
有以下程序:
#include<iostream>
usingnamespacestd;
intmain()
{
intk = 4,n = 0;
while(n < k)
{
n++;
if(n % 3!= 0)
continue;
k--;
}
cout << k << " " << n << endl;
return0;
}
程序运行后的输出结果是()
A. 2,2
B. 2,3
C. 3,2
D. 3,3
答案:B
知识点:while循环、continue语句的使用以及程序逻辑的分析。
解析
- 程序首先进入while循环,当n < k时循环继续。
- 第一次循环:n = 0,n++后n = 1,因为n % 3!= 0,执行continue语句,直接进入下一次循环。
- 第二次循环:n = 1,n++后n = 2,因为n % 3!= 0,执行continue语句,直接进入下一次循环。
- 第三次循环:n = 2,n++后n = 3,此时n % 3 == 0,不执行continue语句,k–后k = 3。
- 第四次循环:n = 3,n < k不成立,循环结束。
- 所以最终输出结果是2,3。
- A选项:不符合程序运行结果,所以A选项错误。
- B选项:符合程序运行结果,所以B选项正确。
- C选项:不符合程序运行结果,所以C选项错误。