一、单选题
1、上高中的小明暗恋女神三年,高考结束后,小明决定向女神表白。这天,小明来到女神楼下等待女神的出现,时间一分一秒的流逝,两个多小时过去了,女神还没有出现,小明看了下表,时针和分针的位置正好跟开始等的时候互换,请问小明一共等了女神多少分钟()
A、172
B、166
C、165
D、150
1、B
设一圈为1
设时针和分针距离x(时针顺时针走x圈到分针位置),则
分针走了3-x圈,时针走了x圈
因为分针移动60格时针移动5格,两针的速度比是分针:时针=12:1
所以3-x=12x,x=3/13
所以分针走了36/13圈,每圈60min,总时为166.1538
2、有A,B,C三个学生,一个出生在北京,一个出生在上海,一个出生在广州。他们中一个学物理专业,一个学数学专业,一个学计算机。其中(1)A不是学物理的,B不是学计算机的;(2)学物理的不出生在上海;(3)学计算机的出生在北京;(4)B不出生在广州。请根据上述条件,判断A的专业()。
A、物理
B、数学
C、计算机
D、3种专业都可能
2、C
计算机在北京,物理在广州,数学在上海
B不出生在广州也不是学计算机的,所以是学数学的在上海
A不是学物理的,所以A是学计算机的
3、一个不透明的箱子里共有红,黄,蓝,绿,白五种颜色的小球,每种颜色的小球大小相同,质量相等,数量充足。每个人从篮子里抽出两个小球,请问至少需要多少个人抽球,才能保证有两个人抽到的小球颜色相同?
A、6个
B、11个
C、13个
D、16个
3、D
每个人要从敏感词中抽2个球,5种颜色的组合球的情况有:
两个球不同的情况:C5 2=5*4/2=10种情况
两球相同:5种情况
所以最坏的情况时,前15个人,抽的球都不同
则第16个肯定会抽的与前面的人有相同的
4、平面内有11个点,由它们连成48条不同的直线,由这些点可连成多少个三角形?
A、158
B、160
C、162
D、165
4、B
11个点可以连接成55条线,这里只有48条,所以有一组三个点共线有一组四个点共线,所以三角形个数为C3 11 -C3 3 -C3 4 =160个三角形。缺的线55-48=7条 三个点共线缺两条,四个点共线缺五条。
5、8,8,12,24,60()
A、90
B、120
C、180
D、240
5、C
从左到右,后一个数是前一个数的1倍、1.5倍、2倍、2.5倍、3倍
即第n个数是第(n-1)(n>1)这个数的n*0.5倍
所以:第六个数为 6*0.5*60=180
6、假定x-65530,下面函数的返回值是多少?()
int func(x)
{
int countx = 0;
while (x)
{
countx++;
x = x & (x - 1);
}
return countx;
}
A、100
B、14
C、20
D、16
6、B
函数的作用是统计x二进制数中1的个数。
这个作用是对整型中1的个数进行统计,x=x&(x-1);的作用是每次循环把x的二进制中从右往左数的最后一位1变成0,直道变成全0为止,循环结束。
65530的二进制是0000 0000 0000 0000 1111 1111 1111 1010,所以结果是14
还有类似的题目,迭代式为x=x|(x+1),作用是统计x二进制中0的个数
7、用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序,序列的变化情况采样如下:
20,15,21,25,47,27,68,35,84
15,20,21,25,35,27,47,68,84
15,20,21,25,27,35,47,68,84
请问采用的是以下哪种排序算法()
A、选择排序
B、希尔排序
C、归并排序
D、快速排序
7、D
首先第一步以25为基础,小于25的放在25的左边,大于25的放在25的右边
得到20,15,21,25,47,27,68,35,84
第二步在25的两边分别进行快速排序,左边以20为基数,右边以47为基数
得到15,20,21,25,35,27,47,68,84
第三步将,35,27这个子序列排序,得到
15,20,21,25,27,35,47,68,84
8、设某颗二叉树中有360个结点,则该二叉树的最小高度是?
A、10
B、9
C、8
D、7
8、B
深度为h的二叉树最多有2^h-1个节点,因此h最小取9
9、下列哪个算法是对一个list排序的最快方法()
A、快速排序
B、冒泡排序
C、二分插入排序
D、线性排序
9、A
list采用链式结构存储,在C++ STL中的list采用双向链表存储,比较适合用快速排序进行排序,这是由快速排序不需要随机访问元素的特点决定的。
冒泡排序适合list,但是算法复杂度为O(n^2),没有快速排序快。
二分插入排序算法适合顺序存储情况,不适合链式存储
10、应用程序PING发出的是什么报文()
A、TCP请求报文
B、TCP应答报文
C、ICMP请求报文
D、ICMP应答报文
10、C
Ping程序一般用来测试一台主机是否可达,该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显 应答。
11、
digit ->0|1|...|9
digits ->digit digit*
optionalFraction ->.digits|∈
optionalExponent ->(E+|-|∈)digits)|∈
number -> digits optionalPraction option|Exponent
上面给出的正则规约的描述中,下面的无符号数哪个不符合规约的要求:
A、5280
B、1
C、2.0
D、336E4
11、D
336E4改成336E+4或者336E-4就正确了。
12、语法分析器可以用于()
A、识别语义错误
B、识别语法和语义错误
C、识别语法错误
D、识别并修正语法,语义错误
12、C
在计算机科学和语言学中,语法分析(英:Syntacticanalysis,也叫Parsing)是根据某种给定的形式文法对由单词序列(如英语单词序列)构成的输入文本进行分析并确定其语法结构的一种过程。
语法分析器(Parser)通常是作为编译器或解释器的组件出现的,它的作用是进行语法检查、并构建由输入的单词组成的数据结构(一般是语法分析树、抽象语法树等层次化的数据结构)。语法分析器通常使用一个独立的词法分析器从输入字符流中分离出一个个的“单词”,并将单词流作为其输入。实际开发中,语法分析器可以手工编写,也可以使用工具(半)自动生成。
13、IPV6地址包含多少位()
A、16
B、32
C、64
D、128
13、D
IPV6地址有128位二进制数组成。每四个二进制数组成一个十六进制数,有128/4=32个十六进制数
每四个十六进制数为一组,中间用冒号隔开。如XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX
如果XXXX四位是全零,可以省略写成::形式
14、如果在一个建立了TCP连接的socket上调用recv函数,返回值为0,则表示()
A、对端发送了一段长度为0的数据
B、对端关闭了连接
C、还没有收到对端数据
D、连接发生错误
14、B
如果recv函数在等待协议接收数据时网络中断了,那么它返回0。默认 socket 是阻塞的。阻塞与非阻塞recv返回值没有区分,都是 <0 出错 =0 连接关闭 >0 接收到数据大小
15、以下哪些不是内核对象()
A、进程
B、线程
C、互斥器
D、临界区
15、D
临界区是资源对象,只能被一个进程访问
16、同一进程下的多个线程可以共享哪一种资源()
A、stack
B、data section
C、register set
D、thread ID
16、B
线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。
17、优异虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行以下访问页号序列后1,3,4,2,1,3,5,1,2,5,4,2,会产生多少次缺页()
A、7
B、8
C、9
D、10
17、 C
缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。
内存块数是3时:
FIFO 1, 3, 4, 2, 1, 3, 5, 1, 2, 5 ,4, 2
1 1 1 2 2 2 5 5 5
3 3 3 1 1 1 2 2
4 4 4 3 3 3 4
缺页 x x x x x x x x x
所以缺页数为9.选C
18、下述哪种情况会提出中断请求()
A、在键盘输入过程中,每按一次键
B、两数相加结果为零
C、计算结果溢出
D、一条系统汇编指令执行完成
18、A
“紧急事件”须向处理器提出申请(发一个电脉冲信号),要求“中断”,即要求处理器先停下“自己手头的工作”先去处理“我的急件”,这一“申请”过程,称——中断请求。
19、单任务系统中两个程序A和B,其中
A程序:CPU:10s -> 设备1:5s -> CPU:5Ss ->设备2:10s ->CPU:10s;
B程序:设备1:10s-> CPU:10s -> 设备2:5s ->CPU:5s ->设备2:10s;
执行顺序为A->B,那么CPU的利用率是()
A、30%
B、40%
C、50%
D、60%
19、C
A程序,CPU时间为10+5+10=25s,总时间为10+5+5+10+10=40s;
B程序,CPU时间为10+5=15s,总时间为10+10+5+5+10=40s;
CPU总时间为40s,两个进程的总时间为80s,
CPU的利用为40/80=0.5
20、
for (int i = 0; i < 2; i++)
{
fork();
printf("-\n");
}
会打印出多少个"-"?
A、4
B、5
C、6
D、8
20、C
fork()函数是通过系统调用实现进程的拷贝。
第一次for循环,执行完fork函数之后,系统中有两个一模一样的进程,并且都执行到printf函数处,这一次循环会打印出两个“ - ”符号
第二次进入for循环,经过fork函数,第一次循环中产生的两个进程分别再次分裂,这时会有4个进程打印 “-”符号,
所以最终结果是6个。