1、填空题 1.在进行进栈操作时,应该首先检查占是否(栈满) 2.p操作使进程(获取资源,获取不到时睡眠),v操作使进程(被唤醒,但只有队列中第一个进程能运行,其余继续列队进入睡眠状态) 3.多任务操作系统的通讯方式有(信号灯集)(消息队列)(共享内存)进程的调度方式有(抢占式调度)(非抢占式调度) linux内核的三种调度方法: 1,SCHED_OTHER 分时调度策略, 2,SCHED_FIFO实时调度策略,先到先服务 3,SCHED_RR实时调度策略,时间片轮转 文章出处:DIY部落(http://www.diybl.com/course/6_system/linux/Linuxjs/2008625/128286.html) 4.int a[3][4], (*p)[4]; p = a; 则*p+1指向(a[0][1]) 5.以下为Windows NT下的32位C程序: char str[]="Hello"; char *p=str; int n=10; 请计算: sizeof(str)=(6) sizeof(p) =(4) sizeof(n) =(4) void Func(char str[100]) { 请计算sizeof(str)=(100) } void *p=malloc(100);请计算sizeof(p)=(4) 2、选择题 1.进程死锁的条件不包括() A.抢先 B.循环等待 C.互斥 D.动态分配 2.有5个进程,有一个正在运行状态,则就绪状态最多的进程数量为() A.0 B.1 C.4 D.5 3.正确的运行结果是(D)——看函数功能其实就是求a的b次方等于多少 #include int fn(int a, int b) { if(b>0) return a*fn(a,b-1); else return 1; } void main() { cout<=0) { a--; ........ } 解析:野指针!*b直接引用,b的指向不明确。 (3) class C { ... }; class B{ pribate: *p; public: B(){p=new C[100];} ~B(){deldte p;} }; B CreateB() { B b; return b; } 解析: 12 看程序写结果! (1) #include class A { public: A(int y) { my=y; mx=mx+my; } void display() { cout<<"a="<