罗娟
“情态动词+have done”可表示对过去所发生事情的推测,也可用于虚拟语气中。常见的这类情态动词有:must,should,would,could,need等。
一、表示对过去所发生事情的推测
1.must+have done 表对过去所发生的事情的推测时,只可用于肯定句中,意为“一定或者肯定做(干)过某事”,是对过去所发生事情的一种最有把握性的推测。
1:According to what he said, I knew he_________________ (know) the truth.
解析:must have known。在肯定句中,对过去所发生的事情进行肯定的推测,表“一定,肯定”,且具有较为合理的猜测依据,应用must have done。
2.can’t(couldn’t)+have done用在否定句中,对过去所发生的事情进行否定性推测时,意为“不可能已经做过了某件事”。注意:can(could)+have done 用在疑问句中,表对过去发生的事情进行推测时,意为“可能已做过了某事吗?”
例 2:Your eyes have heavy dark circles. You______________(sleep) early last night.
解析:can’t have slept。本空填can’t have slept表对过去所发生的事情进行推测,意为“不可能做过某事”。
例 3:My two umbrellas are missing. Who____(take) them by mistake?
解析:can(could) have taken。can(could)+have done用在疑问句中,表对过去发生的事情进行推测,意为“可能已经做过了某件事吗?”。
3.may(might) +have done表对过去发生的事情进行的不太有把握的推测,用在肯定句中意为“大概已经做过了某件事 ”,用在否定句中意为“也许还没……”。
例4:Jack didn’t come to school yesterday. I guess he _______________(ill).
解析:may(might) have been ill。表过去可能、也许做了某件事情,但可能性不大,应用“may(might) +havedone”结构。
二、用在虚拟语气中
1.ought to(should)+have done表过去本应做某事,而实际上没做,包含有遗憾或者责备的语气;否定形式 为 在 ought to 后 或 者 should 后 加 not,再 加 havedone,表本不应做某事却做了。
例 5:You ________(should/shouldn’t) have scolded him ... he had done his best.(2020年5月天津卷单项填空改编)
解析:shouldn’t。shouldn’t have done 表本不应做某事却做了。
2.needn’t+have done表过去没必要做某件事情,实际却做了。
例6:既然你的车坏了,你没必要来接我们了。(根据汉语意思填空)
You _______________________us up since your car broke down.
解析:needn’t have picked。needn’t have picked表过去没必要做某件事情,实际却做了。
3.can(could)+have done表本来可做某件事情,而实际没做。
例 7:We __________________(taken) the bus to school together, but you didn’t come.
解析:could(can) have taken。逗号前面的句子表本来能做成功某件事情,而实际却没有做成功,故本空填could(can) have taken。
4.would+have done
表本来会干成某事,而实际却没有做到。
例 8:Most people believed that she ___________(become) the champion, but for the accident that made her fail.
解析:would have become。逗号后的句子成分相当于一个含蓄条件虚拟语气,再根据句意可知,逗号前面的部分与过去的事实相反,故本空填would have become,表本来应该会干成,但实际却没干成。
【解题锦囊】
如果句子中的时间是以过去的时间为参照点,不管是对过去所发生的事情的推测,还是表虚拟语气,都要用“情态动词+have done”结构,其包含的具体含义如下:
must have done表对过去发生的事情进行推测时,语气强烈,且把握性最大。can’t(couldn’t)+ havedone表對过去发生的事情的否定推测。may(might)+have done 表对过去发生的事情的不太肯定的推测。could+ have done表本来可做,而实际上没做。should(ought to)+ have done表本来应做而没做,否定式表本不该做而实际做了。needn’t have done表本来不必做某件事情,而实际却做了。
(作者单位:江西省新余市第一中学)