公务员考试计算机编程砖题库
1.对于单个结点的故障不会影响到网络的其他部分,但中心节点的故障会导致整个网络瘫痪的网络拓扑结构是( )。
A.总线拓扑结构
B.星型拓扑结构
C.环型拓扑结构
D.树形拓扑结构
答案:B
解析:星型拓扑结构又称集中式管理结构,其缺点是对中央结点要求比较高,当中央结点故障时,会影响整个网络通信。
2.局域网的主要特点不包括( )。
A.地理范围有限
B.远程访问
C.通信速率高
D.灵活、组网方便
答案:B
解析:局域网的覆盖范围小,但结构简单组建和维护容易,速度也比较快。
3.在广域网中,通信子网主要包括( )。
A.传输信道和终端设备
B.转接设备和传输信道
C.转接设备和终端设备
D.以上都不是
答案:B
解析:局域网的覆盖范围小,但结构简单组建和维护容易,速度也比较快。
4.网络操作系统有服务器/客户机(Server/Client)模式和端对端对等模式,下列操作系统中,不是服务器/客户机模式的是( )。
A.Unix
B.NetWare
C.Windows 98
D.Windows NT Server
答案:C
解析:windows 98 是P2P 网络的模式。
5.一般说来,客户机/服务器模式中服务器是指一个( )。
A.计算机
B.计算机网络
C.服务商
D.计算机软件
答案:A
解析:服务器是高性能的计算机。
6.广域网的数据传输速率一般比局域网的数据传输速率( )。
A.高
B.低
C.相等
D.不确定
答案:B
解析:广域网的传输速度比局域网慢。
7.对于广域网来说,下列说法不正确的是( )。
A.作用范围必须在几千公里以上
B.广域网有时可称为“远程网”
C.广域网一般采用存储转发的方式进行数据转化
D.广域网是基于报文交换或分组交换技术的
答案:A
解析:广域网主要是根据功能和拓扑等多方面来定义的。
8.客户机/服务器模式的特点是客户机和服务器( )。
A.必须运行在同一网络中
B.必须运行在同一计算机上
C.不必运行在同一计算机上
D.必须运行在不同的计算机上
答案:C
解析:客户机和服务器可以分别是在不同过的计算机系统上。
9. TCP/IP 协议簇把整个协议分为四个层次:应用层、传输层、网络层和( )。
A.物理层
B.数据链路层
C.会话层
D.网络接口层
答案:D
解析:应用层、传输层、网络层、网络接口层。
10.TCP/IP 协议的网络接口层对应于OSI/RM 协议模型的数据链路层和( )。
A.物理层
B.网络层
C.会话层
D.传输层
答案:A
解析:网络接口层对应的是数据链路层和物理层。
11.TCP 协议的主要功能是( )。
A.确定数据传输路径
B.对数据进行分组
C.提高数据传输速度
D.确保数据的可靠传输
答案:D
解析:本题考查的是TCP 协议的功能。TCP(Transmission Control
Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
12.网络层的主要目的是( )。
A.在邻接节点间进行数据报传输
B.在邻接节点间进行数据报可靠传输
C.在任意节点间进行数据报传输
D.在任意节点间进行数据报可靠传输
答案:D
解析:本题考查的是网络层的功能。网络层是OSI 参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。网络层的目的是实现两个端系统之间的数据透明传送。
13.网络七层协议中,最低层为物理层,它的上一层是( )。
A.网络层
B.会话层
C.数据链路层
D.表示层
答案:C
解析:物理层的上一层是数据链路层。
14.在OSI 参考模型的各层次中,( )的数据传送单位是报文。
A.物理层
B.数据链路层
C.网络层
D.传输层
答案:C
解析:物理层为比特流,数据链路层是数据帧,网络层是数据报,传输层是数据段。
15.TCP/IP 体系结构中的TCP 和IP 所提供的服务分别为( )。
A.链路层服务和网络层服务
B.网络层服务和传输层服务
C.传输层服务和应用层服务
D.传输层服务和网络层服务
答案:D
解析:TCP 是传输层协议,IP 是网络层协议
16.在OSI 的七层参考模型中,工作在第三层以上的网间连接设备是( )。
A.集线器
B.网关
C.网桥
D.中继器
答案:B
解析:第三层是网络层,主要的设备是路由器、包过滤防火墙等。
17.FTP 和HTTP 属于TCP/IP 参考模型中( )协议。
A.传输层
B.网络层
C.应用层
D.物理层
答案:C
解析:本题考查的是TCP/IP 参考模型四层协议。应用层为用户提供所需要的各种服务,该层协议有FTP、Telnet、DNS、SMTP、HTTP 等。传输层协议有TCP、IP 协议。网际接口层的协议有IP、ARP、IGMP、ICMP。
18.以下属于物理层的设备是( )
A.中继器
B.以太网交换机
C.桥
D.网关
答案:A
解析:物理层设备是集线器.中继器.网线等传输信号功能的设备。集线器.中继器可以对信号方法再生。
19.如果要将两计算机通过双绞线直接连接,正确的线序是( )
A.1--1.2--2.3--3.4--4.5--5.6--6.7--7.8--8
B.1--2.2--1.3--6.4--4.5--5.6--3.7--7.8--8
C.1--3.2--6.3--1.4--4.5--5.6--2.7--7.8--8
D.两计算机不能通过双绞线直接连接
答案:C
解析:两台计算机相连用的是交叉线,交叉线一端是T568A,另一端是T568B,他们之间线序交换是1-3,2-6 的交换。
20.在同一个信道上的同一时刻,能够进行双向数据传送的通信方式是( )。
A.单工
B.半双工
C.全双工
D.上述三种均不是
答案:C
解析:同一时刻,向两个方向传输信号,是全双工通信。
21.判定一个队列QU(最多元素为m0)为满队列的条件是( )。
A.QU->rear - QU->front = = m0
B.QU->rear - QU->front -1= = m0
C.QU->front = = QU->rear
D.QU->front = = QU->rear+1
答案:A
解析:队满条件是元素个数为m0。由于约定满队时队首指针与队
尾指针相差1,所以不必再减1 了,应当选A。当然,更正确的答案应该取模,即:QU->front = = (QU->rear+1)% m。
22.递归表、再入表、纯表、线性表之间的关系为( )。
A.再入表>递归表>纯表>线性表
B.递归表>线性表>再入表>纯表
C.递归表>再入表>纯表>线性表
D.递归表>再入表>线性表>纯表
答案:C
解析:递归表、再入表、纯表、线性表之间的关系为递归表>再入表>纯表>线性表。
23.下面的序列中,( )是堆。
A.1,2,8,4,3,9,10,5
B.1,5,10,6,7,8,9,2
C.9,8,7,6,4,8,2,1
D.9,8,7,6,5,4,3,7
答案:A
解析:按照树的层次遍历顺序将堆填满,可以判断是否属于大顶堆或小顶堆。
24.序列16,14,10,8,7,9,3,2,4,1 的说法下面哪一个正确( ) 。
A.大顶堆
B.小顶堆
C.不是堆
D.二叉排序树
答案:A
解析:大顶堆的根节点值在本棵树中最大,并且每棵子树也是大顶堆。
25.最坏情况下insert sort,quick sort,merge sort 的复杂度分别是多少( )。
A. O(n*n),O(nlogn),O(n*n)
B. O(n*n),O(n*n),O(nlogn)
C. O(n*n),O(nlogn),O(nlogn)
D. O(nlogn),O(nlogn),O(nlogn)
答案:B
26.最小堆0,3,2,5,7,4,6,8,在删除堆顶元素0 之后,其结果是( )。
A.3,2,5,7,4,6,8
B.2,3,5,7,4,6,8
C.2,3,4,5,7,8,6
D.2,3,4,5,6,7,8
答案:C
解析:根据堆的删除规则,删除操作只能在堆顶进行,也就是删除0 元素。然后让最后一个节点放在堆顶,做向下调整工作,让剩下的数组依然满足最小堆。删除0 后用8 填充0 的位置,为[8,3,2,5,7,4,6], 然后8 和其子节点3,2 比较,结果2 最小,将2 和8 交换,为:[2,3,8,5,7,4,6], 然后8 的下标为2,其两个孩子节点下标分别为2*2+1=5,2*2+2=6, 也就是4 和6 两个元素,经比较,4 最小,将8 与4 交换,为[2,3,4,5,7,8,6], 这时候8 已经没有孩子节点了,调整完成。
27.将整数数组(7-6-3-5-4-1-2)按照堆排序的方式进行升序排列,请问在第一轮排序结束之后,数组的顺序是( )。
A.1-2-3-4-5-6-7
B.2-6-3-5-4-1-7
C.6-5-3-2-4-1-7
D.5-4-3-2-1-6-7
答案:C
解析:原数组已经是一个大顶堆,可直接开始排序。(大顶堆:每个节点的值都不小于自己两个左右子节的完全二叉树) 每轮输出堆顶元素后,以堆中最后一个元素代替之(由于此题要求原地排序,即不产生额外的空间,堆顶元素与最后一个元素交换)。再将新的顶点元素不断与其子节点中大于该元素的较大者交换,直到该元素大于其左右两个子节点,或成为叶子节点。此时将剩余元素调整成一个新的大顶推。
28.一个二叉树有100 个子节点数为2 的节点,100 个子节点数为1 的节点,那么个子节点数为0 的节点(叶节点)的个数为( )。
A.101
B.100
C.200
D.300
答案:A
解析:首先,假设该二叉树有n 个节点,则有n - 1 条边,这是因为除了根节点,其余的每个节点都有且只有一个父节点,那么这n 个节点恰好为树贡献了n-1 条边。这是从下往上的思考,而从上往下(从树根到叶节点)的思考,容易得到每个节点的度数和0*n0 + 1*n1 + 2*n2 即为边的个数。因此,我们有等式n-1 = n1 + 2*n2,把n 用n0+n1+n2 替换, 得到n0 + n1 + n2- 1 = n1 + 2*n2,于是有n0 = n2 + 1。n0=n2+1=100+1=101
29.不含任何结点的空树是( )。
A.是一棵树
B.是一棵二叉树
C.是一棵树也是一棵二叉树
D.既不是树也不是二叉树
答案:C
分析:不含任何结点的空树是一棵树也是一棵二叉树。
30.一个具有20 个叶子节点的二叉树,它有( )个度为2 的节点。
A.16
B.21
C.17
D.19
答案:D
解析:根据n0=n2+1,可知度为2 的节点有19 个。
31.若一棵二叉树的前序遍历序列和后序遍历序列分别为1, 2, 3, 4 和4, 3,2, 1,则该二叉树的中序遍历序列不会是( )。
A.1,2,3,4
B.2,3,4,1
C.3,2,4,1
D.4,3,2,1
答案:C
解析:按照条件就可以知道结点1 在第一层,2 在第二层,3 在第三层,4 在第四层,因此中序遍历abd 都有可能出现,但是对于答案c 而言,如果第一个出现的是3 结点,该结点就是最左结点,接下来就应该是4,不会是2。
32.对于一棵排序二叉树( )遍历可以得到有序序列。
A.前序
B.中序
C.后序
D.都可以
答案:B
解析:二叉排序树左子树小于根节点,根节点小于右子树,所以做中序遍历可以的到有序序列。
33.一棵完全二叉树第六层有9 个叶结点(根为第一层),则结点个数最多有( )。
A.112
B.111
C.107
D.109
答案:D
解析:一棵完全二叉树第六层有9 个叶结点(根为第一层),则结点个数最多有109 个。
34.设F 是一个森林,B 是由F 变换得到的二叉树。若F 中有n 个非终端结点,则B 中右指针域为空的结点有( )个。
A.n-1
B.n
C.n+1
D.n+2
答案:C
解析:森林转换为二叉树,遵循"左儿子右兄弟"的说法。例如树,根节点有三个儿子A,B,C,那么转换为二叉树后,根节点只有一个儿子A,然后A的兄弟B 成为A 的"儿子"(或者可以说是右指针域),C 成为B 的右指针域,此时C已经没有兄弟了,所以到此的一个右指针域为空。题目中说F 有n 个非终端节点,所以转换为二叉树后所有的空的右指针域(right)就是n 个。根节点没有兄弟,所以该右指针域也为空。所以,二叉树中右指针域为空的节点有(n+1)个。
35.对于有n 个结点的二叉树,其高度为( )。
A.nlog2n
B.log2n
C.[log2n]+1
D.不确定
答案:D
解析:二叉树的形态不同高度就不同。
36.设森林F 对应的二叉树为B,它有m 个结点,B 的根为p ,p 的右子树的结点个数为n,森林F 中第一棵树的结点的个数是( )。
A.m-n
B.m-n-1
C.n+1
D.不能确定
答案:A
解析:第一棵树的节点个数为二叉树左子树结点个数加一。
37.由权值分别为3,8,6,2 的叶子生成一颗哈夫曼树,它的带权路径长度为( )。
A.11
B.35
C.19
D.53
答案:B
解析:据哈夫曼树的构造方法,每次选出权值最小的两棵树分别
作为左右子树,合成一棵树,可画出此棵赫夫曼树。树中所有叶子的带权路径长度之和称为树的带权路径长度。
38.某二叉树的后序遍历序列与中序遍历序列相同,均为ABCDEF,则按层次输出(同一层从左到右)的序列为( )。
A.FEDCBA
B.CBAFED
C.DEFCBA
D.ABCDEF
答案:A
39.在下列情况中,可称为最优二叉树的是( )。
A.每个结点至多有两棵子树的树
B.哈夫曼树
C.每个结点至多有两棵子树的有序树
D.每个结点只有一棵右子树
答案:B
解析:哈夫曼树为最优二叉树,即树的带权路径长度最小的二叉树。
40.在一棵度为4 的树T 中,若有20 个度为4 的结点,10 个度为3 的结点,1 个度为2 的结点,10 个度为1 的结点,则树T 的叶节点个数是( )。
A.41
B.82
C.113
D.122
答案:B
解析:根据n0+n1+n2+n3+n4=n1+2*n2+3*n3+4*n4+1,可以求出叶子结点的个数。
41.以下程序的输出结果是( )。
#define M(x,y,z)x*y+z
Main(){int a=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}
A.19
B.17
C.15
D.12
答案:D
42.下列代码可以通过编译吗,如何修改使其通过编译,( )。
template <class T>
struct sum{
static void foo(T op1,T op2){
cout << op1 <<op2;
}
};
sum::foo(1,3);
A.编译通过
B.应该去掉static 关键字
C.调用应该如下:sum<int>::foo(1,3)
D.调用应该如下:sum::<int>foo(1,3)
答案:C
43.已知表达式++a 中的"++"是作为成员函数重载的运算符,则与++a 等效的运算符函数调用形式为( )。
A.a.operator++()
B.a.operator++(0)
C.a.operator++(int)
D.operator++(a,0)
答案:A
44.如下函数,在32bits 系统foo(2^31-3)的值是( )。
int foo (int x)return x & -x
A.0
B.1
C.2
D.4
答案:B
45.类模板的使用实际上是类模板实例化成一个具体的( )。
A.类
B.函数
C.模板类
D.对象
答案:A
46.C++中32 位单精度浮点数能表示的十进制有效数字是多少位( )。
A.9
B.6
C.7
D.8
答案:C
47.假设寄存器为8 位,用补码形式存储机器数,包括一位符号位,那么十进制数-25 在寄存器表示( )。
A.67H
B.99H
C.E6H
D.E7H
旦:D
48.以下能对二维数组a 进行正确初始化的语句是( )。
A.int ta[2][]={{0,1,2},{3,4,5}};
B.int ta[][3]={{0,1,2},{3,4,5}};
C.int ta[2][4]={{0,1,2},{3,4},{5}};
D.int ta[][3]={{0,,2},{},{3,4,5}};
答案:B
49.32 位机上,给你1,2,3 这三个数字,可以使用C 的各种运算符,你能在计算机上得到的最大的整数是( )。
A.2*3*sizeof(1)
B.3<<(2<<sizeof(1))
C.sizeof(3)<<(sizeof(2)<<(sizeof(1)))
D.(unsigned long)(2-3)*1
答案:D
50.要使指针变量p 指向2 维数组A 的第1 个元素,正确的赋值表达式是( )。
A.p=A 或p=A[0]
B.p=A[0]或p=A[0][0]
C.p=A[0]或p=&A[0][0]
D.p=A 或p=&A[0][0]
答案:C