3.may/might have done表示对过去发生的事情的推测,意为"可能已经(没有)做过某事",常用于肯定句和否定句。might的可能性比may的还要小。
John isn't at home.I think he may/might have gone to school.
约翰不在家,我想他可能去上学了吧。
二、对过去情况的后悔、遗憾或责备
1.could have done用于肯定句,表示"本来能够做某事而没有做"。
He could have passed the 2016 Entrance Examination to the College,but he was too careless.
本来他能够通过2016年高考,但是他太粗心。
2.should have done表示"本来应该做,而实际没做"。
I really regret wasting the hours when I should have studied hard,but it is too late.
我真的很后悔该努力学习的时候浪费了太多时间,但现在太晚了。
3.shouldn't have done表示"本来不应该做,而实际做了"。
Look,Tom is crying.I shouldn't have been so strict with him.
看,汤姆哭了,我本来不应该对他如此严厉。
4.needn't have done表示"本来不需要做而做了"。
It's only five minutes' walk.We needn't have taken a taxi.
只有五分钟的步行路程,我们本不必乘出租车的。
Ⅰ.单句语法填空
1.He was aware that someone have entered his room.
2.-Mummy,I climbed to get the teddy bear from the top of the shelf.
-My goodness!You (hurt)yourself.You mustn't do that next time!
3.-I'm sorry.I (shout)at you the other day.
-Forget it.I was a bit out of control myself.
4.Yesterday I found the pen I thought I had lost,I (buy)a new one.
5.That's really bad.You (catch)the bus if you had been in a hurry.
【答案】 1.must 2.might have hurt 3.shouldn't have shouted 4.needn't have bought 5.could have caught