第1题:
若程序中定义了三个函数f1,f2,f3,并且函数f1执行时会调用f2、函数f2执行时会调用f3,那么正常情况下,()。
A.f3执行结束后返回f2继续执行,f2执行结束后返回f1继续执行
B.f3执行结束后返回f1继续执行,f1执行结束后返回f2继续执行
C.f2执行结束后返回f3继续执行,f3执行结束后返回f1继续执行
D.f2执行结束后返回f1继续执行,f1执行结束后返回f3继续执行
第2题:
A 先来先服务(FCFS)算法
B 时间片轮转(RR)算法
C 优先级(Priority)算法
D 多级反馈队列算法
第3题:
A.优先级调度算法
B.先进先出算法
C.多级反馈队列算法
D.最高响应比优先算法
第4题:
设循环队列的结构如题33。若有一个Queue类型的队列Q,计算队列元素个数应该用(34)。
A.(Q.rear-Q.front+ MaxSize)%MaxSize;
B.Q.rear-Q.front+1;
C.Q.rear-Q.front-1;
D.Q.rear-Qfront;
第5题:
若程序中定义了三个函数f1、f2和f3,并且函数f1执行时会调用f2、函数f2执行时会调用f3,那么正常情况下,()。
A.f3执行结束后返回f2继续执行,f2结束后返回f1继续执行
B.f3执行结束后返回f1继续执行,f1结束后返回f2继续执行
C.f2执行结束后返回f3继续执行,f3结束后返回f1继续执行
D.f2执行结束后返回f1继续执行,f1结束后返回f3继续执行
第6题:
A.循环轮转调度算法
B.优先数调度算法
C.固定周期轮转调度算法
D.多级队列调度算法
第7题:
设栈S的初始状态为空,队列Q的初始状态如图所示。
对栈S和队列Q进行下列两步操作: (1)删除Q中的元素,将删除的元素插入S,直至Q为空。 (2)依次将S中的元素插入Q,直至S为空。在上述两步操作后,队列Q的状态是【 】。
第8题:
有以下程序
#include <stdio.h>
main()
{ int f,f1,f2,i;
f1=0;f2=1;
printf("%d %d ",f1,f2);
for(i=3;i<=5;i++)
{ f=f1+f2; printf("%d",f);
f1=f2; f2=f;
}
printf("\n");
}
程序运行后的输出结果是 【 1 0 】 。
第9题:
8 写出下列程序所有可能的运行结果。
int a;
int b;
int c;
void F1()
{
b=a*2;
a=b;
}
void F2()
{
c=a+1;
a=c;
}
main()
{
a=5;
//Start F1,F2 in parallel
F1(); F2();
printf("a=%d\n",a);
}
第10题:
如果希望循环队列中的向量单元都能得到利用,则可设置一个标志域tag,每当尾指针和头指针值相同时,以tag的值为O或1来区分队列状态是“空”还是“满”.请对下列函数填空,使其分别实现与此结构相应的入队列和出队列的算法.
intEnQueue(CirQueue*Q,DataType x)
{
if Q->tag==1 return 0;
Q->data[Q->rear]=x;
Q->rear=(Q->rear+1)%MAXQSIZE
if(Q->rear==Q->front)Q->tag=1
return1:
}
intDeQueue(CirQueue*Q,DataType*x)
{
if((1))return0;
*x=Q->data[Q->front];
Q->front= (2) ;
(3) ;
return1;
}
(1)
(2)
(3)