发布时间：2016-03-24 来源：新东方在线 发布人：zolo
1)must have done——表示对过去的事情较有把握
e.g. Since the ditch is full of water, it must have rained last night.
2)should/ought to have done——表示过去应该做的
却没有做，常含有后悔、责备、埋怨的口吻，意为“本应该”，“应该就好了”; e.g. With all the work finished, I should have gone to your birthday party last night.
3)shouldn’t/ought not to have done——表示过去不该
e.g. You shouldn’t have gone back to work yesterday without the doctor’s permission.
4)may/might have done——表示对过去的事情的推
测，但不十分有把握，意为“可能，或许已经”。 e.g. A traffic accident happened yesterday and a driver may have been hurt.
5)could have done——表示过去有可能或有能力做某
事，而实际未做、未能实现的事;有时也表示轻度批评，意为“本来可以，完全可以”。 e.g. The gas leakage could have been avoided if the
gas company took immediate measures after the warning call.
6)needn’t have done——表示过去做了某事，但没有做的必要，意为“其实没有必要”。 e.g. I needn’t have bought all that wine——only three people came.
would rather, would sooner, would (just) as soon, had rather, had better, had sooner, cannot but, may/might as well
[例1]You all those calculations! We have a computer to do that sort of thing.
A. needn’t have done B. must not have done
C. shouldn’t have done D. can’t have done
[例2]I to him because he phoned me shortly afterwards.
A. ought to have written B. must have written
C. couldn’t have written D. needn’t have written
[例3]You those letters. Why didn’t you
A. should post B. must have posted
C. should have posted D. ought to post