做。 He could have passed the exam, but he was too careless. 本来他能够通过考试,但是他太粗心。
5. "may+have+done"表示对发生过去的事情的推测,意思是"可能已经"或"也许已经",用于肯定句中。
-What has happened to George? -I don't know. He may have got lost.
-乔治发生了什么事?--我不知道,他可能迷路了。
"might+have+done"表示对过去事情的推测,might与may意思相同,但可能性更小。多用于虚拟语气结构中。
1). He might have given you more help, even though he was busy. (MET90) 他或许会多给你一些帮助,即使他很忙。
2). She might have achieved greater progress, if you had given her more chances. 如果你多给她点机会,她可能已经取得更大的成绩。
6."should+have+done"意思是"本来应该做某事,而实际没做。" "shouldn't+have+done"表示本来不应该做某事,而实际做了。含有指责对方或自责的含意。
1). Tom, you are too lazy. The work should have been finished yesterday. 汤姆,你太懒惰了,这项工作本来应该昨天就做完的。
2). Look, Tom is crying. I shouldn't have been so harsh on him. 看,汤姆哭了,我本来不应该对他如此严厉。
7. "ought to+have+done"表示过去应该做而实际并没有做,译成"理应做......",往往表示遗憾。与"should+have+done"用法基本一样。
例1. (2015•北京)-Can't you stay a little longer?
-It's getting late. I really _____go now, My daughter is home alone.
A .may B .can C . must D .dare
例2. (2015•重庆) You__________ be Carol. You haven't changed a bit after all these years.
A. must B. can C. will D. shall
例3. (2015安徽安庆一中月考) If you were older I ________ you to go there yesterday.
A .will allow B. should allow C. would have allowed D. had allowed
例4. (2014北京海淀二模) If I ______the project earlier, I would be enjoying myself on the beach now.
A. might finish B. finished C. had finished D. would have finished
例5. (2015北京海淀一模)-What do you think of the Huawei P7?
-Terrific. I would buy one if I ________ an iPhone 6 Plus last year.
A. didn't buy B. don't buy C. hadn't bought D. haven't bought