资源描述:
《浙江大学计算机2008考研真题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、浙江大学2008硕士研究生入学考试试题考试科目计算机专业基础编号864特别说明:本卷共5部分,其中1—3部分为必答题(各为40分)、4—5部分为限选部分(各为30分)。报考软件工程(MSE)的考生必须完成第四部分(数据库),报考计算机系统结构、软件与理论、应用技术的考生必须完成第5部分(计算机组成)。第1部分操作系统(共40分)1(5分):请简要比较操作系统调用(systemcall)与普通函数调用(functioncall)。2(5分):请简要比较死锁防止(processprevention)与死锁避免(processavoidance)。3(5分):请简要比
2、较forkwithCOW(forkwithcopy-on-write,带有写时复制的fork)与vfork(virtualfork,虚拟fork)。4(5分):请简要比较文件系统的文件实现(fileimplementation)与目录实现(directoryimplementation)。5(10分):假设有下面页引用序列:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6下面的页面置换算法会发生多少次页错误?假设空帧有4个,所有的帧初始为空,第一个页调入时都会有一次页错误。LRUReplacement(Least-Recent-Us
3、edReplacement,最近最少使用置换),FIFOReplacement(FirstInFirstOutReplacement,最先进最先出置换),OPTReplacement(Optimal,最优置换)。6(10分):如图所示,三个合作进程P1、P2、P3,它们都需通过同一输入设备输入各自的数据a、b、c,该输入设备必须互斥地使用,而且其第一个数据必须由P1进程读取,第二个数据必须由P2进程读取,第三个数据则必须由P3进程读取。然后,三个进程分别对输入数据进行下列计算:P1:x=a+bP2:y=a*bP3:z=y+c–a最后,P1进程通过所连的打印机将计
4、算结果x、y、z的值打印出来。请用信号量实现它们的同步。第2部分程序设计(共40分)一.根据下列各题要求选择一个正确答案(每小题2分,共8分):1.在while(E){...}中,E是判断字符c是否是大写字母,则E可表达为①;A.‘A’<=c<=‘Z’B.(c>=‘A’)&(c<=‘Z’)C.((c<‘A’)
5、
6、(c>‘Z’))==0D.(‘A’<=c)AND(c<=‘Z’)2.下列四个程序段,正确的是②A.chars[20],t[20];t=”program”;strcpy(s,t);B.chars[20],*t=”program”;s=t;C.char*s,
7、*t=”program”;strcpy(s,t);D.chars[20],t[20]=”program”;strcpy(s,t);3.下列程序的运行结果是③charstr[]=”abc def ghi”,*p=str;printf(“%s”,p+5);4.下列语句若想输出258111417202326,其中空缺的部分应该是什么?for(i=9;i>=1;i--)printf(“%3d”,④);二、程序填空。下列带命令行参数的程序运行形式为:progfil1fil2fil3...filen。该程序顺序读入各文本文件fil1fil2fil3...filen的内容
8、,并将其中的内容输出,要求:若遇大写字母则转换为对应的小写字母输出,其他字符原样输出。(6分)#include#includemain(intargc,char*argv[]){FILE*fp;charc;while(--argc>0)if((fp=fopen(⑤,”r”))==NULL){printf(”Cannotopenfile!”);exit(1);}else{while(⑥)if(isupper(c))/*判别c是否为大写字母*/putchar(⑦);elseputchar(c);fclose(fp);}}三、程
9、序理解(每题5分,共15分)1.写出下列程序的运行结果⑧。Intf(inta[],intn){ints1,s2,i,j;S2=2;for(i=0;is2)s2=s1;}}returns2;}main(){inta[]={4,-3,5,-2,-1,2,6,-2};printf(“%d“,f(a,8));}2.写出下列程序的运行结果⑨。intf(intx,inty){if(y==1)returnx;elsereturnf(x,y-1)+x;}main(){printf(“%d“
10、,f(21,12));}