专注在线职业教育23年
下载APP
小程序
希赛网小程序
导航

2017年计算机考研408真题(43-44)

责编:胡陆 2023-09-04
考研资料领取

考研408计算机统考分两部分,80分单项选择题和70分大题,满分150分。单项选择题总共80分,每小题2分,40小题。单项选择题,1-10题是数据结构部分;11-22题是计算机组成原理部分;23-32题是操作系统部分;33-40题是计算机网络部分。综合应用题70分,共7小题,41和42题是数据结构题,分值各为10分和15分;43和44题是计算机组成原理题,各占8分和13分;45和46题是操作系统题,各占7分和8分;47题是计算机网络题,分值为9分。为了方便大家更好的来备考,小编为大家整理了“2017年408计算机考研真题”,希望可以帮助大家更好的复习408计算机考研内容。

2017年考研408计算机统考考研真题

二、综合应用题(第41~47小题,共70分)

43、(13分)已知f(n)=∑_(i=0)^n▒2^i =2^(n+1)-1=⏞(11⋯1B)┴(n+1位)计算f(n)的C语言函数f1如下:

int f1(unsigned n)

{ int sum=1,power=1;

for(unsigned i=0;i<=n-1;i++)

{ power*=2;

sum+=power;

}

return sum;

}

将f1中的int都改为float,可得到计算f(n)的另一个函数f2。假设unsigned和int型数据都占32位,float采用IEEE754单精度标准。请回答下列问题。

(1)当n=0时,f1会出现死循环,为什么?若将f1中的变量i和n都定义为int型,则f1是否还会出现死循环?为什么?

(2)f1(23)和f2(23)的返回值是否相等?机器数各是什么(用十六进制表示)?

(3)f1(24)和f2(24)的返回值分别为33554431和33554432.0,为什么不相等?

(4)f(31)=232-1,而f1(31)的返回值却为-1,为什么?若使f1(n)的返回值与f(n)相等,则最大的n是多少?

(5)f2(127)的机器数为7F800000H,对应的值是什么?若使f2(n)的结果不溢出,则最大的n是多少?若使f2(n)的结果精确(无舍入),则最大的n是多少?

44、(10分)在按字节编址的计算机M上,题43中f1的部分源程序(阴影部分)与对应的机器级代码(包括指令的虚拟地址)如下:

int f1( unsigned n)

1 00401020 55 push ebp

…… …… ……

for(unsigned i=0; i<= n-1; i++)

…… …… ……

20 0040105E 39 4D F4 cmp dword ptr [ebp-0Ch] ,ecx

…… …… ……

{ power*=2;

…… …… ……

23 00401066 D1 E2 shl edx,1

…… …… ……

return sum;

…… …… ……

35 0040107F C3 ret

其中,机器级代码行包括行号、虚拟地址、机器指令和汇编指令。

请回答下列问题。

(1)计算机M是RISC还是CISC?为什么?

(2)f1的机器指令代码共占多少字节?要求给出计算过程。

(3)第20条指令cmp通过i减n-1实现对i和n-1的比较。执行f1(0)过程中,当i=0时,cmp指令执行后,进/借位标志CF的内容是什么?要求给出计算过程。

(2)第23条指令sh1通过左移操作实现了power*2运算,在f2中能否也用sh1指令实现power*2?为什么?

试题练习:考试科目在线试题库

备考资料:免费课程学习资料包

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
相关阅读
查看更多

加群交流

公众号

客服咨询

考试资料

每日一练