中兴公司招聘计算机专业应届生笔试试卷第四套
本试卷分三部分,公共部分、C++部分和 JAVA 部分,其中公共部分为必考部分,C++与 JAV
部分,两者选一完成。试卷满分 100 分。
公共部分(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
2
3
…..
姓名
张三
李四
王五
….
年龄 月工资 部门号 电话
办公室
25
26
23
…..
2000
1500
900
……
1
1
2
12345
54321
23456
101
102
201
……. ……
……..
问题:
查询每个部门中月工资最高的“职工号”的 SQL 查询语句如下:
SELECT 职工号 FROM 职工 AS A
WHERE 月工资 = (SELECT MAX(月工资) FROM 职工 AS B
WHERE A.部门号 = B.部门号);
1:请简要的说明该查询语句对查询效率的影响(6 分)
2:对该查询语句进行修改,使它既可以完成相同的功能,又可以提高查询效率。(8 分)
1. 对于外层职工关系 A 中的每一个记录,都要对内层职工关系 B 进行检索,所有效率
不高
2. (1)使用临时表
SELECT MAX(月工资) as 最高工资,部门号 INTO temp FROM 职工
GROUP BY 部门号;
SELECT 职工号 FROM 职工,temp WHERE 月工资=最高工资
AND 职工.部门号 = temp.部门号;
(2)
SELECT 职工号 FROM 职工,(SELECT MAX(月工资) as 最高工资,部门号 FROM 职工 GROUP
BY 部门号) as DEPMAX
WHERE 月工资 = 最高工资 AND 职工.部门号 = DEPMAX.部门号;
C++部分(50 分)
1. 以下结构类型可用来构造链表的是(
)。B(3 分)
A
C
struct aa{ int a;int * b;};
B
struct bb{ int a;bb * b;};
struct cc{ int * a;cc b;};
D
struct dd{ int * a;aa b;};
1. 使用操作符 setw 对数据进行格式输出时,需要包含(
)文件。C(3 分)
A
iostream.h
B
fstream.h
C
iomanip.h
D
stdlib.h
3. 设有以下说明和定义:(4 分)
typedef union {long i; int k[5]; char c;} DATE;
struct data { int cat; DATE cow; double dog;} too;
DATE max;
则语句 printf(“%d”,sizeof(struct date)+sizeof(max));的执行结果是:_______
52
4. 请写出如下代码运行的结果(10 分)
# include
# include
struct Worker{
char name[15];
// 姓名
int age;
// 年龄
float pay;
// 工资
};
void main() {
Worker x;
char *t=”liouting”;
int d=38; float f=493;
strcpy(x.name,t);
x.age=d; x.pay=f;
cout <>f->name;
StrNode * p=f;
while (–n) {
p=p->next=new StrNode;
cin >>p->name;
}
p->next=NULL;
}
建立一个具有 n 个结点的链表,每个结点的字符串值由键盘输入,链表的表头指针由引用变
量 f 带回。
6. #define swap(a,b)
/*交换 ab*/(6 分)
(未完,请完成这个宏定义。)
#define swap(a,b)
{a=a+b;b=a-b;a=a-b;}
7. 编写程序,把从键盘上输入的一批整数(以-1 作为终止输入的标志)保存到文本文件
“a:xxk1.dat”中。(14 分)
# include
# include
# include
void main() {
ofstream fout(“a:xxk1.dat”);
// 定义输出文件流并打开文件
if (!fout){
cerr <<”文件没有打开!”<>x;
while (x!=-1) {
fout <>x;
}
// 能够从键盘向文件正确输出数据
fout.close();
// 关闭输出文件流
}
JAVA 部分(50 分)
1. 在 Java
方法来完成一些画图操作。D(3 分)
Applet 程序用户自定义的 Applet 子类中,一般需要重载父类的(
)
A.
C.
start( )
init( )
B.
stop( )
D.
paint( )
2. 不允许作为类及类成员的访问控制符的是(
)。 C(3 分)
A.
C.
public
static
B.
private
D.
protected
3. 开发与运行 Java 程序需要经过的三个主要步骤
为
、
和
。
编辑源程序、编译生成字节码、解释运行字节码(6 分)
4、如果一个 Java
MyApplet 必须是
Applet 源程序文件只定义有一个类,该类的类名为 MyApplet,则类
类的子类并且
存储该源程序文件的文件名
为
Applet、MyApplet
。(4 分)
5. 若 x = 5,y = 10,则 x < y 和 x >= y 的逻辑值分别
为
和
。
true 、 false(4 分)
6 谈谈作用域 public,private,protected,以及不写时的区别?(12 分)
√
作用域
public
protected √
friendly
private
不写时默认为 friendly
√
√
当前类 同一 package 子孙类 其他 package
√
√
√
×
√
√
×
×
×
√
×
×
7. 写个程序,要求创建一个文件,写入从键盘输入的一串字符,然后再读该文件并将文件
内容显示在屏幕上。(18 分)
import java.io.*;
class MyFileIo{
public static void main(String args[]){
FileInputStream fin;
FileOutputStream fout;
char ch;
int data;
try{
fin = new FileInputStream(FileDescriptor.in);
fout = new FileOutputStream(“myfile1”);
System.out.println(“请输入一串字符以#结束:”);
while((ch = (char)fin.read()) != ‘#’)
Fout.write(ch);
fin.close();
fou.close();
System.out.print(“”);
fin = new FileInputStream(“myfile1”);
fout = new FileOutpurStream(FileDescriptor.out);
while(fin.available() > 0){
data = fin.read();
fou.write(data);
}
fin.close();
fout.close();
}catch(FileNotFoundException e){
System.out.println(“File not found!”);
}carch(IOException e){}
}
}