第一部分,不定向选择
第二部分,填空题
1. 什么是UML?分哪两类?
2. OS一般的两种进程调度策略
3. 进程间的四种通讯方式
4. 一棵二叉树的前序,中序,后序遍历结果
第三部分,问答题
1. 通常递归所采用的数据结构?递归和循环的区别?
2. 将一个单链表逆序。
3. A,B,C,D四个进程,A向一个缓冲区写数据,B,C,D从该缓冲区读数据,A要等到B,C,D都已经读好才能写下一个。用p,v操作实现通讯。
4. C 程序写运行结果。
class A
{
public:
void f1()
{
printf("A::f1");
}
virtual void f2()
{
printf("A::f2");
}
void callfunc()
{
printf("A::callfunc");
f1();
f2();
}
};
class B :public A
{
public:
void f1()
{
printf("B::f1");
}
void f2()
{
printf("B::f2");
}
void callfunc()
{
printf("B::callfunc");
f1();
f2();
}
};
int main()
{
B *pB=new B;
pB->callfunc();
A *pA=pB;
pA->callfunc();
return 0;
}