考察的是:情态动词+have done的用法
1.could+have done:过去本可以做而实际上未能做
You could have done better, but you didn’t try your best.
你本能做得更好,但你没有尽力。
2.cannot+have done:表示对过去行为的否定推测
He cannot have been to that town.
他不可能去过那个小镇。
3.can+主语+have done:(用于疑问句)表示对过去行为的怀疑或不肯定
Can he have got the book?
他可能得到那本书了吗?
4.might(may)+have done:对过去发生的行为不太肯定的推测
He may not have finished the work
他可能没有完成工作。
5.must+have done:对过去发生的行为肯定的推测。其否定式为:
cannot have done
You must have seen the film.
你肯定看过那部电影。
You cannot have seen the film.
你不可能看过那部电影。
6.needn’t+have done:本来不必要做的而实际上又做了
You needn’t have watered the flowers, for it is going to rain.
你本没必要浇花,因为要下雨了。
didn‘t need to(have to)do :没有必要做而实际上也没有做
I didn‘t need to clean the windows. My sister did it 2 hours ago.
我没必要擦窗户。我姐姐两小时前刚擦过。
7.should(ought to)+ have done:本来应该做而实际上又没有做。其否定形式表示某种行为不该发生却发生了。
他一定完成了。。。因为两个小时前就开始写了
前面说两小时前就开始了,表达的是很长时间了
must表示肯定的推测
表示对过去的推测用must have