中兴历年笔试题.docx
《中兴历年笔试题.docx》由会员分享,可在线阅读,更多相关《中兴历年笔试题.docx(52页珍藏版)》请在冰豆网上搜索。
中兴历年笔试题
公共部分(50分)
1:
从资源管理(分配)的角度出发,I/O设备可分为______ _、 _______和_ _ _____三种类型。
独享,共享,虚拟(顺序可交换)(6分)
2:
文件的物理组织有顺序、 _______和索引。
链接(2分)
3:
进程从运行状态进入就绪状态的原因可能是___D____。
(4分)
A.被选中占有处理机
B.等待某一事件
C.等待的事件已发生
D.时间片用完
4:
作业调度程序从处于___D____状态的队列中选择适当的作业投入运行。
(4分)
A.运行 B.提交 C.完成 D.后备
5:
按照瀑布模型的阶段划分,软件测试可以分为单元测试,集成测试,系统测试。
请问以下哪项测试不属于系统测试的内容(B)(4分)
1.压力测试
2.接口测试
3.功能测试
4.安全测试
5.性能测试
6:
测试用例的设计是测试的重要阶段。
系统测试用例设计应该从什么时候开始(A)(4分)
1.需求完成
2.详细设计完成
3.编码完成
4.系统集成完毕,提交系统测试
7:
在UML方法中,使用多种类型的图形来帮助进行设计,请问以下哪些图形不是UML的图形类型(B)(4分)
1.类图
2.实体关系图
3.序列图
4.活动图
8:
解释文件系统为什么会存在数据冗余?
这种数据冗余会导致哪两类典型的问题?
(10分)
由于文件系统难于实现数据共享,因此,相同的数据可能会在多个文件中重复出现,即产生数据冗余。
(6分)
数据冗余会导致数据(或更新)异常(2分)和数据不一致性(2分)
9:
简述中断装置的主要职能。
(12分)
中断装置的职能主要有三点:
1)检查是否有中断事件发生。
(4分)
2)若有中断发生,保护好被中断进程的断点及现场信息,以便进程在适当时候能恢复驼行。
(4分)
3)启动操作系统的中断处理程序。
(4分)
C++部分(50分)
1.使用操作符setw对数据进行格式输出时,需要包含( )文件。
C(4分)
A iostream.h B fstream.h C iomanip.h D stdlib.h
1.数组定义为”inta[4][5];”,引用”*(a+1)+2″表示( )。
B(4分)
A、a[1][0]+2 B、a数组第1行第2列元素的地址
C、a[0][1]+2 D、a数组第1行第2列元素的值
1.以下结构类型可用来构造链表的是( )。
B(4分)
A structaa{inta;int*b;}; B structbb{inta;bb*b;};
C structcc{int*a;ccb;}; D structdd{int*a;aab;};
1.设intf(int);和intg(int);是函数f和g的原形,以下将f作为语句调用的是( )。
B(4分)
A g(f(3)) B f(g(3)) C g(f(3)+2) D p=f(g(3)+1)
5.若类A和类B没有继承关系,对于函数voidfunc(A&),请至少用两种不同方法说明如何才能传递一个非常量的B类对象给func函数。
(8分)
可在A类中定义一个构造函数:
A(constB&);(4分)
或在B类中定义一个自动转换函数:
operatorA()const;(4分)
6.请问以下程序将输出什么结果?
(14分)
char*RetMemory(void)
{
charp[]=“helloworld”;
returnp;
}
voidTest(void)
{
char*str=NULL;
str=RetMemory();
printf(str);
}
可能是乱码。
因为GetMemory返回的是指向“栈内存”的指针,该指针的地址不是NULL,但其原现的内容已经被清除,新内容不可知。
7.static有什么用途?
(请说明三种)(12分)
(1)使得变量或对象的存储形式变成静态存储;(4分)
(2)它会把变量的可见范围限制在编译单元中,使它成为一个内部连接;(4分)
(3)类中的static成员。
(4分)
公共部分(40分)
1:
操作系统的主要组成部分?
(8分,每点2分)
进程和线程的管理,存储管理,设备管理,文件管理
2:
Internet采用哪种网络协议?
该协议的主要层次结构?
(10分)
Internet采用TCP/IP协议(2分)
物理层,(2分)数据链路层,(2分)网络层(IP)(2分),应用层(2分)
3:
解释文件系统为什么会存在数据冗余?
这种数据冗余会导致哪两类典型的问题?
(8分)
由于文件系统难于实现数据共享,因此,相同的数据可能会在多个文件中重复出现,即产生数据冗余。
(4分)
数据冗余会导致数据(或更新)异常(2分)和数据不一致性(2分)
4:
简述中断装置的主要职能。
(6分)
中断装置的职能主要有三点:
1)检查是否有中断事件发生。
(2分)
2)若有中断发生,保护好被中断进程的断点及现场信息,以便进程在适当时候能恢复运行。
(2分)
3)启动操作系统的中断处理程序。
(2分)
5:
什么是虚拟设备?
为什么在操作系统中引入虚拟设备?
(8分)
虚拟设备是通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户进程同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。
(4分)
在操作系统设备管理中,引入虚拟设备是为了克服独占设备速度较慢、降低设备资源利用率的缺点,从而提高设备的利用率。
(4分)
C++部分(60分)
1.定义一个类模板与定义一个类函数模板的格式相同,必须以关键字_________开始。
template(3分)
1.16位计算机中整型占__________个字节存储空间。
2(3分)
3.下列各种函数中,( )不是类的成员函数。
C(4分)
A 构造函数 B 析构函数 C 友元函数 D 拷贝构造函数
4.假定DD为一个类,则执行“DDa[10],*P”语句时,系统自动调用该类构造函数的次数为( )B(4分)
A、11 B、10 C、1 D、0
5.循环while(inti=0)i–;执行次数是( )。
A(4分)
A 0 B 1 C 5 D 无限
6.若类A和类B没有继承关系,对于函数voidfunc(A&),请至少用两种不同方法说明如何才能传递一个非常量的B类对象给func函数。
(10分)
可在A类中定义一个构造函数:
A(constB&);(5分)
或在B类中定义一个自动转换函数:
operatorA()const;(5分)
!
7.static全局变量与普通的全局变量有什么区别?
static局部变量和普通局部变量有什么区别?
static函数与普通函数有什么区别?
(20分)
static全局变量与普通全局变量的区别:
前者在主函数之前就要被初始化,(2分)后者无要求。
(2分)
static局部变量和普通局部变量的区别:
static全句变量是所有函数共享的变量,在一个函数使用完它后它的值会保持到下一个函数来改变它(2分)。
后者,本函数所声明的局部变量在本函数运行完之后会被销毁。
(2分)
static函数与普通函数的区别:
static的可以用类来访问(就是不用初始化一个类就直接使用这个类的这个static方法);(2分)非static的只能通过对象来访问(2分)。
static的定义里不能用到类内部非static变量值。
(3分)static在循环中定义并赋值时,定义过程只进行一次,而不是每个循环1次。
(3分)
8.写出此函数的功能(12分)
structStrNode{
charname[15]; //字符串域
StrNode*next; //指针域
};
voidQB(StrNode*&f,intn){
if(n==0){f=NULL;return;}
f=newStrNode;
cin>>f->name;
StrNode*p=f;
while(–n){
p=p->next=newStrNode;
cin>>p->name;
}
p->next=NULL;
}
建立一个具有n个结点的链表,每个结点的字符串值由键盘输入,链表的表头指针由引用变量f带回。
公共部分(50分)
1:
分时操作系统通常采用___B____策略为用户服务。
(4分)
A.可靠性和灵活性
B.时间片轮转
C.短作业优先
D.时间片加权分配
2:
进程从运行状态进入就绪状态的原因可能是___D____。
(4分)
A.被选中占有处理机
B.等待某一事件
C.等待的事件已发生
D.时间片用完
3:
不能激活触发器执行的操作是:
(D)(4分)
A.DELETE B.UPDATE C.INSERT D.SELECT
4:
简述中断装置的主要职能。
(6分)
中断装置的职能主要有三点:
1)检查是否有中断事件发生。
(2分)
2)若有中断发生,保护好被中断进程的断点及现场信息,以便进程在适当时候能恢复运行。
(2分)
3)启动操作系统的中断处理程序。
(2分)
5:
面向连接和非连接的服务的特点是什么(8分)
面向连接的服务,通信双方在进行通信之前,要事先在双方之间建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实时地监控和管理。
(4分)
而非连接的服务,不需要预先建立起一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往“网络”上送出信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控。
(4分)
6:
请给出预防死锁的若干方法(6分)
预防死锁通常有以下两种方法:
(1)一次封锁法,就是要求每个事务必须一次将所有要使用的数据全部加锁,否则该事务不能继续执行;(3分)
(2)顺序封锁法,是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。
(3分)
4:
写出以太网数据帧格式。
(10分,每点2分)
目的地址
源地址
类型
数据
CRC
7:
主键和唯一索引的区别(8分,每点2分)
A主键顺序为数据的物理顺序
B主键不能空,唯一索引可以为空
C主键每个表只能有一个,唯一索引可以多个
D主键:
默认将是聚簇索引唯一索引:
默认将是非聚簇索引
C++部分(50分)
1.表达式8&3的结果是__________。
0(2分)
2.设一维整型数组data已进行了初始化,则其元素个数可由操作符sizeof通过表达式__________________________计算出来。
sizeof(data/data[0])(2分)
3.在继承机制下,当对象消亡时,编译系统先执行________的析构函数,然后再执行_______的析构函数。
子类 父类(4分)
4.设intf(int);和intg(int);是函数f和g的原形,以下将f作为语句调用的是( )。
B(3分)
A g(f(3)) B f(g(3)) C g(f(3)+2) D p=f(g(3)+1)
5.设int*p2=&x,*p1=a;p2=*b;则a和b的类型分别是( )。
B(3分)
A int*和int B int*和int**
C int 和int* D int*和int*
6.程序员规范中要求不要写出类似(++i)+(i++)或f(++i,i++)这样的代码,请说明原因。
(8分)
计算子表达式的顺序由编译器决定的,虽然参数的压栈顺序在给定的调用方式下式固定的,但参数表达式的计算顺序也由编译器决定的。
不同的编译器或不同的表达式计算的顺序可能不一致。
7.说明类中的public、protected和private成员函数分别在public、protected和private继承方式下在派生类中的可访问性。
(10分)
重点是基类中的任何Private在派生类中都是不可访问的。
8.请指出这个程序里的不正确的地方(18分)
char*getString()
{
return(char*)malloc(800);
}
intmain()
{
char*str;
str=getString();
pintf(“%s”,str);
return0;
}
错误在于:
在前面的函数中。
malloc分出来的空间被放在了一个栈上面
主函数使用了这个函数后操作系统后弹出栈顶
也就是这块空间被shi放了(9分)
后面那个printf打印的本来是指向栈顶的那个地址的。
。
但现在弹出了
所以不知道指到哪里去了
也不会得到自己想要的打印结果(9分)
公共部分(50分)
1:
作业调度程序从处于___D____状态的队列中选择适当的作业投入运行。
(3分)
A.运行 B.提交 C.完成 D.后备
2.SQL语言中,删除一个表的命令是(B)(3分)
A.CLEARTABLE B.DROPTABLE C.DELETETABLE D.REMOVETABLE
3:
ATM采用的线路复用方式为 C 。
(3分)
A.频分多路复用
B.同步时分多路复用
C.异步时分多路复用
D.独占信道
4:
数据库中只存放视图的(C)(3分)
A.操作 B.对应的数据
C.定义 D.限制
5:
什么是虚拟设备?
为什么在操作系统中引入虚拟设备?
(10分)
虚拟设备是通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户进程同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。
(5分)
在操作系统设备管理中,引入虚拟设备是为了克服独占设备速度较慢、降低设备资源利用率的缺点,从而提高设备的利用率。
(5分)
6:
TCP为何采用三次握手来建立连接,若采用二次握手可以吗,请说明原因?
(16分)
三次握手是为了防止已失效的连接请求再次传送到服务器端。
(6分)
二次握手不可行,(2分)因为:
如果由于网络不稳定,虽然客户端以前发送的连接请求以到达服务方,但服务方的同意连接的应答未能到达客户端。
则客户方要重新发送连接请求,若采用二次握手,服务方收到重传的请求连接后,会以为是新的请求,就会发送同意连接报文,并新开进程提供服务,这样会造成服务方资源的无谓浪费(8分)。
7:
什么是分布式数据库?
(12分,每点4分)
数据库分布在计算机网络的不同计算机上,
网络中的每个节点具有独立处理的能力(场地自治),可以执行局部应用,
同时,每个节点也能通过网络通信子系统执行全局应用。
C++部分(50分)
1.设有“intw[3][4];”,pw是与数组名w等价的数组指针,则pw的初始化语句为____________________ int(*pw)[4]=w;(3分)
1.要使引用pr代表变量“char*p;”,则pr的初始化语句为_______________ 。
char*&pr=p;(3分)
3.“零值”可以是0,0.0,FALSE或者“空指针”。
例如int变量n与“零值”比较的if语句为:
if(n==0),则BOOLflag与“零值”比较的if语句为:
____________________________;floatx与“零值”比较的if语句为:
____________________________。
(6分)
if(flag)
constfloatEPSINON=0.00001;if((x>=–EPSINON)&&(x<=EPSINON))
4.设有如下语句:
(3分)
intx;
( )
*px=0;
则选择以下哪条语句可将x值置为0。
C
A int*px; B intconst*px=&x;
C int*constpx=&x; D constint*px=&x;
5.设voidf1(int*m,long&n);inta;longb;则以下调用合法的是( )。
B(3分)
A f1(a,b); B f1(&a,b);
C f1(a,&b); D f1(&a,&b);
6.请写出如下代码的运行结果(6分)
intmain()
{
inta,b,c,d;
a=0;
b=1;
c=2;
d=3;
printf(“%d”,a+++b+c+++d++);
}
6
7.写出下面函数的功能(12分)
template
voidWE(Typea[],Typeb[],intn){
for(inti=0;ib[n-i-1]=a[i];
}
模板函数,把数组a的每个元素按逆序放入数组b中。
8.写一段代码判断一个单向链表中是否有环。
(14分)
给出如下结构:
structnode
{
struct*next;
};
typedefstuctnodeNode;
boolgetCycle(){
Node*temp1=head;//(假设head就是这个链表的头)
Node*temp2=head;
while(head->next!
=NULL)
{
temp1=temp1->next;//步长为1
temp2=temp2->next->next;//步长为2
if(temp1==temp2)
returnture;
head=head->next;
}
returnfalse;
}
公共部分(50分)
1:
恢复和并发控制的基本单位是________ 事务 (2分)
2:
知学生关系:
R(学号,姓名,系名称,系地址),每一名学生属于一个系,每一个系有一个地址,则R规范化程度属于______2NF(2分)
3:
P地址为140.111.0.0的B类网络,若要切割为9个子网,而且都要连上Internet,请问子网掩码设为(D)。
(3分)
A.255.0.0.0
B.255.255.0.0
C.255.255.128.0
D.255.255.240.0
4:
当关系R和S做自然联接时,能够保留R中不满足连接条件记录的操作是(A)(3分)
A.左外联接 B.右外联接 C.内部连接 D.全外联接
5:
简述中断装置的主要职能(12分,每点4分)
中断装置的职能主要有三点:
1)检查是否有中断事件发生。
2)若有中断发生,保护好被中断进程的断点及现场信息,以便进程在适当时候能恢复驼行。
3)启动操作系统的中断处理程序。
6:
ISO网络协议主要层次结构?
(14分,每点2分)
物理层,数据链路层,网络层、传输层、会话层、表示层、应用层。
(考察点:
注意顺序,不要和tcp混淆)
7:
假设有一个“职工”表,表结构如下:
(14分)
职工号
姓名
年龄
月工资
部门号
电话
办公室
1
张三
25
2000
1
12345
101
2
李四
26
1500
1
54321
102
3
王五
23
900
2
23456
201
…..
….
…..
……
…….
……
……..
问题:
查询每个部门中月工资最高的“职工号”的SQL查询语句如下:
SELECT职工号FROM职工ASA
WHERE月工资=(SELECTMAX(月工资)FROM职工ASB
WHEREA.部门号=B.部门号);
1:
请简要的说明该查询语句对查询效率的影响(6分)
2:
对该查询语句进行修改,使它既可以完成相同的功能,又可以提高查询效率。
(8分)
1. 对于外层职工关系A中的每一个记录,都要对内层职工关系B进行检索,所有效率不高
2.
(1)使用临时表
SELECTMAX(月工资)as最高工资,部门号INTOtempFROM职工
GROUPBY部门号;
SELECT职工号FROM职工,tempWHERE月工资=最高工资
AND职工.部门号=temp.部门号;
(2)
SELECT职工号FROM职工,(SELECTMAX(月工资)as最高工资,部门号FROM职工GROUPBY部门号)asDEPMAX
WHERE月工资=最高工资AND职工.部门号=DEPMAX.部门号;
C++部分(50分)
1.以下结构类型可用来构造链表的是( )。
B(3分)
A structaa{inta;int*b;}; B structbb{inta;bb*b;};
C structcc{int*a;ccb;}; D structdd{int*a;aab;};
1.使用操作符setw对数据进行格式输出时,需要包含( )文件。
C(3分)
A iostream.h B fstream.h C iomanip.h D stdlib.h
3.设有以下说明和定义:
(4分)
typedefunion{longi;intk[5];charc;}DATE;
structdata{intcat;DATEcow;doubledog;}too;
DATEmax;
则语句printf(“%d”,sizeof(structdate)+sizeof(max));的执行结果是:
_______ 52
4.请写出如下代码运行的结果(10分)
#include
#include
structWorker{
charname[15]; //姓名
intage; //年龄
floatpay; //工资
};
voidmain(){
Workerx;
char*t=”liouting”;
intd=38;floatf=493;