苹果发布会演示失败:英语语法问题could / should have done用法

来源:百度文库 编辑:高考问答 时间:2024/04/30 14:21:33
—Tom is never late for work. Why is he absent today?
—Something ________ to him.
A. must happen B. should have happened
C. could have happened D. must have happened
此题选D
谁能帮我分析一下?多谢啦~尤其是对BCD上个选项的分析,越细越好

must have done 对过去的动作的推测。 如; You must have seen him yesterday. 你昨天一定看到他了。
must do 对现在的动作的推测。 如:You must know him well, for you can tell us more about him.
should have done 表示假设, 过去应该做而没有做含有责备的意思。 如; You should have done your home work earlier.
could have done 表示假设, 与过去的事实相反。 如:He could have been very rich, but he cared for no money at all.

因为主句说的很清楚,Tom是从来没有迟到过的,那么B和C的语气都是不怎么肯定的表述,B的意思是“他应该是发生了什么事情”,C的意思是“他可能遇到了什么事情”,而这个明显跟前面对Tom从不迟到的语境不服符合。

D这个选项的意思是“他肯定是发生什么事了”。很符合题意:Tom从来都是不会上班迟到的,今天迟到肯定是发生什么事情了。

不选择A是因为A过于肯定,毕竟说话的人也只是一个猜测而已。D只是一个肯定的猜测。

首先,这里有个固定语句,something has happened to sb.
所以A就不是答案,而B呢,should 一般主语是人,而不是something,所以B不是答案.而could 指的是"能"发生什么事情,是比较肯定的说法,而全句的意思只是一种猜测,所以用MUST,must have happened to sb.表示猜测sb出了什么事情.

B通常用在虚拟语气里,是指过去的事情与现在相反
C的语气没有D来得肯定
从前面的题目来看,这里非常肯定他发生了某些事,所以选D

a是时态错误;b暗示应该做而没有做;c推测的意思更重一些,d最合适,表示把握很大的推测

在这里must表示有把握的肯定推测,意为"一定",当后面接have done结构时,是对过去事情的猜测;should have done 是个虚拟语气,带有责备的意思,指应该做而没有做的事;c答案could 表推测多用于否定和疑问句中,如:"那一定不是王老师"应翻译为That can`t be Mr Wang .