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