2017计算机考研408试卷,2017计算机408考研真题

41528d3028836879cd698677c3999917.gif2017计算机408考研真题

2017年全国硕士研究生招生考试年全国硕士研究生招生考试 计算机科学与技术学科联考计算机科学与技术学科联考 计算机学科专业基础综合试题计算机学科专业基础综合试题 一、单项选择题:一、单项选择题:1~~40小题,每小题小题,每小题2分,共分,共80分。下列每题给出的四个选项中,只有一分。下列每题给出的四个选项中,只有一 个选项符合题目要求。个选项符合题目要求。 1.下列函数的时间复杂度是 int func ( int n) { int i=0, sum=0; while(sumright = = NULL) //若为叶结点 printf(“%s”,root->data); //输出操作数 else { if(deep>1) printf(“(”);//若有子表达式则加1层括号 BtreeToExp(root->left,deep+1); printf(“%s”,root->data); //输出操作符 BtreeToExp(root->right,deep+1); if(deep>1) printf(“)”);//若有子表达式则加1层括号 } } 【评分说明】【评分说明】 ①若考生设计的算法满足题目的功能要求,则(1)、(2)根据所实现算法的策略及输出结果给 分,细则见下表。 分数分数 备注备注 15 采用中序遍历算法且正确,括号嵌套正确,层数适当。 14 采用中序遍历算法且正确,括号嵌套正确,但括号嵌套层数过多。例如,表达式 最外层加上括号,或操作数加括号如(a)。 11 采用中序遍历算法,但括号嵌套层数不完全正确。例如,左右括号数量不匹配。 9 采用中序遍历算法,但没有考虑括号。 ≤7 其他 ②若考生采用其他方法得到正确结果,可参照①的评分标准给分。 ③如果程序中使用了求结点深度等辅助函数,但没有给出相应的实现过程,只要考生进行 了必要的说明,可不扣分。 ④若在算法的基本设计思想描述中因文字表达没有清晰反映出算法思路,但在算法实现中 能够表达出算法思想且正确的,可参照①的标准给分。 ⑤若算法的基本设计思想描述或算法实现中部分正确,可参照①中各种情况的相应给分标 准酌情给分。 ⑥参考答案中只给出了使用C语言的版本,使用C++语言的答案参照以上评分标准。 42.【答案要点】【答案要点】 (1)依次选出的边为: (A,D),(D,E),(C,E),(B,C)(4分) 【评分说明】【评分说明】每正确选对一条边且次序正确,给1分。若考生选择的边正确,但次序不完全 正确,酌情给分。 (2)图G的MST是唯一的。(2分) (3)当带权连通图的任意一个环中所包含的边的权值均不相同时,其MST是唯一的。(2分) 【评分说明】【评分说明】 ①若考生答案中给出的是其他充分条件,例如“带权连通图的所有边的权值均不相同”,同 样给分。 ②若考生给出的充分条件对图的顶点数和边数做了某些限制,例如,限制了图中顶点的个 数(顶点个数少于3个)、限制了图的形状(图中没有环)等,则最高给1分。 ③答案部分正确,酌情给分。 43.【答案要点】【答案要点】 (1)由于i和n是unsigned型, 故“i<=n-1”是无符号数比较, n=0时, n-1的机器数为全1, 值是232-1, 为unsigned型可表示的最大数,条件“i<=n-1”永真,因此出现死循环。(2分) 若i和n改为int类型,则不会出现死循环。(1分) 因为“i<=n-1”是带符号整数比较,n=0时,n-1的值是-1,当i=0时条件“i<=n-1”不成立,此时 退出for循环。(1分) (2)f1(23)与f2(23)的返回值相等。(1分) f1(23)的机器数是OOFF FFFFH,(1分) f2(23)的机器数是4B7F FFFFH。(1分) (3)当n=24时,f(24)=1 1111 1111 1111 1111 1111 1111 B,而float型数只有24位有效位,舍入 后数值增大,所以f2(24)比f1(24)大1。(1分) 【评分说明】【评分说明】只要说明f2(24)需舍入处理即可给分。 (4)显然f(31)已超出了int型数据的表示范围,用f1(31)实现时得到的机器数为32个1,作为int 型数解释时其值为-1,即f1(31)的返回值为-1。(1分) 因为int型最大可表示数是0后面加31个1,故使f1(n)的返回值与f(n)相等的最大n值是30。(1 分) 【评分说明】【评分说明】对于第二问,只要给出n=30即可给分。 (5)IEEE 754标准用“阶码全1、尾数全0”表示无穷大。f2返回值为float型,机器数7F80 0000H 对应的值是+∞。(1分) 当n=126时, f(126)=2217-1=1.1…1×2126, 对应阶码为127+126=253, 尾数部分舍入后阶码加1, 最终阶码为254,是IEEE754单精度格式表示的最大阶码。故使f2结果不溢出的最大n值为126。 (1分) 当n=23时,f(23)为24位1,float型数有24位有效位,所以不需舍入,结果精确。故使f2获得 精确结果的最大n值为23。 (1分) 【评分说明】【评分说明】对于第二问,只要给出n=23,即可给分。对于第三问,只要给出n=126,即可 给分。 44.【答案要点】【答案要点】 (1)M为CISC。(1分) M的指令长短不一,不符合RISC指令系统特点。(1分) (2)f1的机器代码占96 B。(1分) 因为f1的第一条指令“push ebp”所在的虚拟地址为00401020H,最后一条指令“ret”所在的虚 拟地址为0040 107FH,所以,f1的机器指令代码长度为0040 107FH-0040 1020H+1=60H=96个字 节。(1分) (3)CF=1。(1分) cmp指令实现i与n-1的比较功能,进行的是减法运算。在执行f1(0)过程中,n=0,当i=0时, i=0000 0000H,并且n-1=FFFF FFFFH。因此,当执行第20条指令时,在补码加/减运算器中执行 “0减FFFF FFFFH”的操作,即0000 0000H+00000000H+1=0000 0001H,此时,进位输出C=0,减 法运算时的借位标志CF=C1=1。(2分) (4)f2中不能用sh1指令实现power*2。(1分) 因为sh1指令用来将一个整数的所有有效数位作为一个整体左移; 而f2中的变量power是float 型,其机器数中不包含最高有效数位,但包含了阶码部分,将其作为一个整体左移时并不能实 现“乘2”的功能,因而f2中不能用sh1指令实现power*2。(2分) 45.【答案要点】【答案要点】 (1)函数f1的代码段中所有指令的虚拟地址的高20位相同,因此f1的机器指令代码在同一页 中,仅占用1页。(1分) (2)push ebp指令的虚拟地址的最高10位(页目录号)为00 00000001,中间10位(页表索引)为00 0000 0001,所以,取该指令时访问了页目录的第1个表项,(1分)在对应的页表中访问了第1个表 项。(1分) (3)在执行scanf( )的过程中,进程P因等待输入而从执行态变为阻塞态。(1分)输入结束时,P 被中断处理程序唤醒,变为就绪态。(1分)P被调度程序调度,变为运行态。(1分)CPU状态会从 用户态变为内核态。(1分) 46.【答案要点】【答案要点】 semaphore mutex_y1=1;//mutex_y1用于thread1与thread3对变量y的互斥访问。(1分) semaphore mutex_y2=1;//mutex_y2用于thread2与thread3对变量y的互斥访问。(1分) semaphore mutex_z=1; //mutex_z用于变量z的互斥访问。(1分)互斥代码如下:(5分) thread1 { cnum w; wait(mutex_y1); w=add(x,y); signal(mutex_y1); …… } thread2 { cnum w: wait(mutex_y2): wait(mutex_z); w=add(y,z); signal(mutex_z); signal(mutex_y2); …… } thread3 { cnum w; w.a=1; w.b=1; wait(mutex_z); z=add(z,w); signal(mutex_z); wait(mutex_y1); wait(mutex_y2); y=add(y,w); signal(mutex_y1); signal(mutex_y2); …… } 【评分说明】【评分说明】 ①各线程与变量之间的互斥、并发情况及相应评分见下表。 线程对 变量 thread1 和 thread2 thread2 和 thread3 thread1 和 thread3 给分 x 不共享 不共享 不共享 1 分 y 同时读 读写互斥 读写互斥 3 分 z 不共享 读写互斥 不共享 1 分 ②若考生仅使用一个互斥信号量,互斥代码部分的得分最多给2分。 ③答案部分正确,酌情给分。 47.【答案要点】【答案要点】 (1)t0时刻到t1时刻期间,甲方可以断定乙方已正确接收了3个数据帧,(1分)分别是S0,0、 S1,0、S2,0。(1分) (2)从t1时刻起,甲方最多还可以发送5个数据帧,(1分)其中第一个帧是S5,2,(1分)最后一 个数据帧是S1,2。(1分) (3)甲方需要重发3个数据帧,(1分)重发的第一个帧是S2,3。(1分) (4)甲方可以达到的最大信道利用率是: 【评分说明】【评分说明】 答案部分正确,酌情给分。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值