中兴公司招聘计算机专业应届生笔试试卷第九套
本试卷分三部分,公共部分、C++部分和 JAVA 部分,其中公共部分为必考部分,C++与 JAV
部分,两者选一完成。试卷满分 100 分。
公共部分(50 分)
1:IP 地址的编码分为
和
两部分。
网络号(2 分) 主机号(2 分)
2:假设执行语句 S 的时间为 O(1),则执行下列程序段的时间为( B )(4 分)
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
S;
1. O(n)
2. O(n2)
3. O(n*i)
4. O(n+i)
3:二维数组 A[10..20,5..10]采用行序为主序方式存储,每个数据元素占 4 个存储单
元,且 A[10][5]的存储地址是 1000,则 A[18][9]的地址是( A )(4 分)
1. 1208
2. 1212
3. 1368
4. 1364
4:设栈最大长度为 3,入栈序列为 1,2,3,4,5,6,则不可能的出栈序列是( D )(4
分)
1. 1,2,3,4,5,6
2. 2,1,3,4,5,6
3. 3,4,2,1,5,6
D.
4,3,2,1,5,6
5:结构体和联合体的主要区别?(4 分)
主要区别是结构体的各成员占有各自的内存空间,联合体是共享内存空间
6:操作系统的主要组成部分?(8 分)
进程和线程的管理,存储管理,设备管理,文件管理
7:解释文件系统为什么会存在数据冗余?这种数据冗余会导致哪两类典型的问题?(8 分)
由于文件系统难于实现数据共享,因此,相同的数据可能会在多个文件中重复出现,即产生
数据冗余。(4 分)
数据冗余会导致数据(或更新)异常(2 分)和数据不一致性(2 分)
2.设有关系 EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号、姓名、
工资和所在部门号,以及关系 DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门
号、部门名称、部门经理的职工号。(回答下列题目)(14 分)
1. 列出各部门中工资不低于 600 元的职工的平均工资。
2. 请用 SQL 语句将“销售部”的那些工资数额低于 600 的职工的工资上调 10%。
1.SELECT DNO, AVG (SALARY)
FROM EMP
WHERE SALARY>=600
GROUP BY DNO
2.UPDATE EMP
SET SALARY=SALARY*1.1
WHERE ENO IN
(SELECT ENO
FROM EMP, DEPT
WHERE EMP.DNO=DEPT.DNO
AND DNAME=’销售部’
AND SALARY<600;
或者
UPDATE EMP
SET SALERY = SALERY * 1.1
FROM EMP A,ENO B
WHERE A.DNO = B.DNO
AND B.DNAME=’销售部’
AND B.SALARY<600;
C++部分(50 分)
1.设 int f(int);和 int g(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)
2.循环 while(int i=0) i–;执行次数是(
)。A(3 分)
A
0
B
1
C
5
D 无限
3.以下结构类型可用来构造链表的是(
)。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;};
4. 有如下程序(3 分)
main0
{ int x=1,a=0,b=0;
switch(x){
case 0: b++;
case 1: a++;
case 2: a++;b++;
}
printf(“a=%d,b=%d\n”,a,b);
}
该程序的输出结果是 A
A) a=2,b=1
a=1,b=0
B) a=1,b=1
C)
D) a=2,b=2
5.设 int * p2=&x,* p1=a;p2= *b;则 a 和 b 的类型分别是(
)。B(3 分)
A
C
int * 和 int
int 和 int *
B
D
int * 和 int **
int * 和 int *
6. 请写出如下代码运行的结果(9 分)
# 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 <
# include
# include
void main() {
ofstream fout(“a:xxk1.dat”);
// 定义输出文件流并打开文件
if (!fout){
cerr <<”文件没有打开!”<>x;
while (x!=-1) {
fout <>x;
}
// 能够从键盘向文件正确输出数据
fout.close();
// 关闭输出文件流
9. 头文件中的 ifndef/define/endif 有什么用(4 分)
防止该头文件被重复引用。
JAVA 部分(共 50 分)
1. 哪个关键字可以对对象加互斥锁?()B(3 分)
A、transient
B、synchronized;
C、serialize
D、static
2. 下面哪个类可以被继承?
C(3 分)
A、java.lang.Double
B、java.lang.Math
C、java.lang.Thread
D、java.lang.Class
3. main 方法是 Java
是合法的(
Application 程序执行的入口点,关于 main 方法的方法头以下哪项
)B(3 分)
A、public
static
void
main( )
B、public
static
void
main( String
args[] )
C、public static int
main(String
[] arg )
D、public
void
main(String
arg[] )
4. 判断以下 Teacher 类的 main 方法的运行结果( )B(3 分)
public class Teacher extends Person {
public Teacher () { super(); }
public Teacher(int a) { System.out.println (a); }
public void func() { System.out.print (“2, “); }
public static void main(String[] args) {
Teacher t 1 = new Teacher ();
Teacher t2 = new Teacher(3);
}
}
class Person {
public Person () { func(); }
public void func() { System.out.println(“1, “); }
}
1. 1, 1, 3
2. 2, 2, 3
3. 1, 3
4. 2, 3
5. 接口的继承(3 分)
interface A{
int meth1();
}
interface B{
int meth2();
}
interface C extends A,B{
int meth3();
}
class JC implements C{
public int meth1(){
return 1;
}
public int meth2(){
return 2;
}
public int meth3(){