本试卷分三部分,公共部分、C++部分和JAVA部分,其中公共部分为必考部分,C++与JAV
部分,两者选一完成。试卷满分100分。
公共部分(50分)
1:从资源管理(分配)的角度出发,I/O设备可分为______ _、 _______和_ _ _____三种类型。独享,共享,虚拟 (顺序可交换) (6分)
2:文件的物理组织有顺序、 _______和索引。链接(2分)
3:进程从运行状态进入就绪状态的原因可能是___ D ____。(4分)
A.被选中占有处理机
B.等待某一事件
C.等待的事件已发生
D.时间片用完
4:作业调度程序从处于___ D ____状态的队列中选择适当的作业投入运行。(4分)
A.运行 B.提交 C.完成 D.后备
5:按照瀑布模型的阶段划分,软件测试可以分为单元测试,集成测试,系统测试。请问以下哪项测试不属于系统测试的内容( B )(4分)
6:测试用例的设计是测试的重要阶段。系统测试用例设计应该从什么时候开始(A)(4分)
7:在UML方法中,使用多种类型的图形来帮助进行设计,请问以下哪些图形不是UML的图形类型( B )(4分)
8:解释文件系统为什么会存在数据冗余?这种数据冗余会导致哪两类典型的问题?
(10分)
由于文件系统难于实现数据共享,因此,相同的数据可能会在多个文件中重复出现,即产生数据冗余。(6分)
数据冗余会导致数据(或更新)异常(2分)和数据不一致性(2分)
9:简述中断装置的主要职能。(12分)
中断装置的职能主要有三点:
1)检查是否有中断事件发生。(4分)
2)若有中断发生,保护好被中断进程的断点及现场信息,以便进程在适当时候能恢复驼行。(4分)
3)启动操作系统的中断处理程序。(4分)
C++部分(50分)
A iostream.h B fstream.h C iomanip.h D stdlib.h
A、a[1][0]+2 B、 a数组第1行第2列元素的地址
C、a[0][1]+2 D、 a数组第1行第2列元素的值
A struct aa{ int a;int * b;}; B struct bb{ int a;bb * b;};
C struct cc{ int * a;cc b;}; D struct dd{ int * a;aa b;};
A g(f(3)) B f(g(3)) C g(f(3)+2) D p= f(g(3)+1)
5. 若类A和类B没有继承关系,对于函数void func(A&) ,请至少用两种不同方法说明如何才能传递一个非常量的B类对象给func函数。(8分)
可在A类中定义一个构造函数:A(const B&); (4分)
或在B类中定义一个自动转换函数: operator A( ) const; (4分)
6. 请问以下程序将输出什么结果?(14分)
char *RetMemory(void)
{
char p[] = “hello world”;
return p;
}
void Test(void)
{
char *str = NULL;
str = RetMemory ();
printf(str);
}
可能是乱码。
因为GetMemory返回的是指向“栈内存”的指针,该指针的地址不是 NULL,但其原现的内容已经被清除,新内容不可知。
7. static 有什么用途?(请说明三种)(12分)
(1)使得变量或对象的存储形式变成静态存储;(4分)
(2)它会把变量的可见范围限制在编译单元中,使它成为一个内部连接;(4分)
(3)类中的static成员。(4分)
JAVA部分(50分)
1.若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 和 。
true (2分)、 false(2分)
2.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )B(4分)
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[] )
3. 设 float x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。A(4分)
A. 3.5 B. 3
C. 4 D. 5
4、对于以下的方法体,如果TimedOutException直接继承Exception类,那么哪一个方法声明适合以下的方法体代码?( )B(4分)
{
success = connect();
if (success = = 1) {
throw new TimedOutException();
}
}
D. public throw TimedOutException void method()
5. 以下程序的执行结果是( ) D(10分)
class A
{
public int n;
public String str;
}
class B
{
public A[] a;
public B() { a = new A[10]; }
}
class Test
{
public static void main( String[] args )
{
B b = new B();
b.a[0].n = 1;
b.a[0].str = “2″;
System.out.println( b.a[0].str + b.a[0].n );
}
}
A. 编译错误 B. 21
C. 3 D. 产生NullPointerException
E. 产生ClassCastException
6.Java有没有goto &和&&的区别。(6分)
Goto 是java中的保留字,现在没有在java中使用。(2分)
&是位运算符(2分)。&&是布尔逻辑运算符。(2分)
7. 构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。(18分)
import java.io.*;
public class Point{
int x,y;
}
public Point(int x,int y){
this.x = x;
this.y = y;
}
public Point getPoint(){
Point tempPoint = new Point(x,y);
return tempPoint;
}
public void setPoint(Point point){
this.x = point.x;
this.y = point.y;
}
public static void main(String args[]){
Point Point1 = new Point(3,4);
System.out.println(“Point1:”+”(“+Point1.x+”,”+Point1.y+”)”);
Point Point2 = Point1.getPoint();
System.out.println(“Point2:”+”(“+Point2.x+”,”+Point2.y+”)”);
Point Point3