历城教育成绩:英语难题求教各位老师

来源:百度文库 编辑:神马品牌网 时间:2024/05/09 08:36:00
“Did I fall asleep just now.”
“I think _____ for two hours since it’s five o’clock now.” Key: ( B ) (请给出详细的解答过程)
A, you had slept
B. you must have slept
C. you should have slept
D. you would have slept

A.过去完成时,时态错误.
B.must have +done sth,表示对已发生的事情的推测,语气较强,具有"肯定","谅必"的意思。是正确选择.
例子:
---Linda has gone to work, but her bicycle is still here.
---She must have gone by bus.
C.should have +done sth, 意思是“本应该…”,含有责备或后悔意。与题意不符.
D.would + have done sth, 用于虚拟条件句中,表示与过去事实相反。与题意不符.

had done是过去完成时,是从过去的角度看已经完成的事情,would have done是过去将来完成时,是从过去的角度看过去的将来时已经完成的事情,而从题目中可以看出,他们是从现在的角度看过去,所以A、D两个选项都不对;should have done表示本应该做而未做的事情,但题目中不是这个意思,很显然,第一个说话的人刚刚睡了两个小时,自己却不知道,回答他的人告诉他他一定已经睡了两个小时,must have done表示一定已经做了某事,所以应该选B。

选B.首先回答是现在时态,故A排除,C :should have done 是本应做什么而没做,不符题意,D是虚拟语气不合题意。B表示对已经发生事情的推断,意思是(根据)现在已经五点了(来判断),你一定已经睡了两个小时了。

楼上的,lz都说了答案选b啊,你还说是c
must have slept 是十分肯定的语气
而且有since是用完成时态,因此选b咯

选A呵.这题好委琐:说第一句话的人问话时已经醒了,所以sleep不再是延续到现在的动作,那么看到用现在完成时的选项就排除吧!管他什么推测语气,这题要看时态!!!

B 这里的must表示猜测must have done 是典型的对过去事情的猜测