单选题解析
第 1 题
32 位 int 类型的存储范围是(C)?
A. -2147483647 ~ +2147483647
B. -2147483647 ~ +2147483648
C. -2147483648 ~ +2147483647
D. -2147483648 ~ +2147483648
解析:32 位 int 类型范围是从 -2³¹ 到 2³¹ - 1,即 -2147483648 到 2147483647。
第 2 题
计算
的结果,并选择答案的十进制值:(A)
A. 13
B. 14
C. 15
D. 16
解析:直接算。
第 3 题
某公司有 10 名员工,分为 3 个部门:A 部门有 4 名员工,B 部门有 3 名员工,C 部门有 3 名员工。现需要从这 10 名员工中选出 4 名组成一个工作小组,且每个部门至少要有 1 人。问有多少种选择方式?(B)
A. 120
B. 126
C. 132
D. 238
解析:分为如下几种情况
情况1:A选1人,B选1人,C选2人
C(4, 1) × C(3, 1) × C(3, 2) = 4 × 3 × 3 = 36
情况2:A选1人,B选2人,C选1人
C(4, 1) × C(3, 2) × C(3, 1) = 4 × 3 × 3 = 36
情况3:A选2人,B选1人,C选1人
C(4, 2) × C(3, 1) × C(3, 1) = 6 × 3 × 3 = 54
ans = 36 + 36 + 54 = 126
故答案选B。
第 4 题
以下哪个序列对应数字 0 至 8 的 4 位二进制格雷码(Gray code)?(D)
A. 0000, 0001, 0011, 0010, 0110, 0111, 0101, 1000
B. 0000, 0001, 0011, 0010, 0110, 0111, 0100, 0101
C. 0000, 0001, 0011, 0010, 0100, 0101, 0111, 0110
D. 0000, 0001, 0011, 0010, 0110, 0111, 0101, 0100
解析:格雷码(Gray Code)是一种二进制循环码,其特点是相邻的两个数之间仅有1位二进制数不同(最后一个格雷码和第一个格雷码也仅相差1位)。
选项A:最后一个应该是0100,这里是1000;
选项B:第7个应该是 0101,这里是 0100;
选项C:第5个应该是 0110,这里是 0100;
选项D:正确。
第 5 题
记 1KB 为 1024 字节(byte),1MB 为 1024KB,那么 1MB 是多少二进制位(bit)?(D)
A. 1000000
B. 1048576
C. 8000000
D. 8388608
解析:
(1MB = 1024KB;1KB = 1024byte;1byte = 8bit。) 1MB = 1024KB = 1024 × 1024byte = 1024 × 1024 × 8bit = 8388608bit,故选D。
第 6 题
以下哪个不是 C++ 中的基本数据类型?(C)
A. int
B. float
C. struct
D. char
解析:struct不是基本数据类型。
第 7 题
以下哪个不是 C++ 中的循环语句?(D)
A. for
B. while
C. do-while
D. repeat-until
解析:repeat-until不是C++中的循环语句。
第 8 题
在 C/C++ 中,(char)(‘a’ + 13) 与下面的哪一个值相等?(B)
A. ‘m’
B. ‘n’
C. ‘z’
D. ‘l’
解析:(char)(‘a’ + 13) 与’n’相等。
第 9 题
假设有序表中有 1000 个元素,则用二分法查找元素 X 最多需要比较(B)次。
A. 25
B. 10
C. 7
D. 1
解析:找到最小的整数n,使2n >= 1000,n = 10。
第 10 题
下面的哪一个不是操作系统名字?(A)
A. Notepad
B. Linux
C. Windows
D. macOS
解析:Notepad是记事本(Win上的应用程序),其余为操作系统。
第 11 题
在无向图中,所有顶点的度数之和等于(B)。
A. 图的边数
B. 图的边数的两倍
C. 图的顶点数
D. 图的顶点数的两倍
解析:一条边能够给相连的两个顶点各增加度数1。画图举例:
。
第 12 题
已知二叉树的前序遍历为 [A,B,D,E,C,F,G],中序遍历为 [D,B,E,A,F,C,G],请问该二叉树的后序遍历结果是?(A)
A. [D,E,B,F,G,C,A]
B. [D,E,B,F,G,A,C]
C. [D,B,E,F,G,C,A]
D. [D,B,E,F,G,A,C]
解析:
。
第 13 题
给定一个空栈,支持入栈和出栈操作。若入栈操作的元素依次是 1 2 3 4 5 6,其中 1 最先入栈,6 最后入栈,下面哪种出栈顺序是不可能的?(D)
A. 6 5 4 3 2 1
B. 1 6 5 4 3 2
C. 2 4 6 5 3 1
D. 1 3 5 2 4 6
解析:
选项 A:
按照它们入栈的相反顺序出栈元素。
选项 B:
先出栈1,然后出栈剩余元素的相反顺序。
选项 C:
先出栈2,然后将3, 4, 5, 6入栈,出栈4和6,然后出栈5,接着出栈3,最后出栈1。
选项 D:
这个顺序是不可能的。
因此选D。
第 14 题
有 5 个男生和 3 个女生站成一排,规定 3 个女生必须相邻。问有多少种不同的排列方式?(A)
A. 4320 种
B. 5040 种
C. 3600 种
D. 2880 种
解析:
将3女生视为一个整体,女生排列方案有P(3, 3) = 6种;
5个男生排列方案有P(5, 5) = 120种;
把3个女生一起“插”在男生队伍里,有C(6, 1) = 6种插法。
ans = 6 × 120 × 6 = 4320种,所以选A。
第 15 题
编译器的主要作用是什么?(B)
A. 直接执行源代码
B. 将源代码转换为机器代码
C. 进行代码调试
D. 管理程序运行时的内存
解析:编译器的主要作用是将源代码转换为机器代码。