情态动词+ have done1. can/could/may/might have done(1) 都表示对过去所发生的事情的推测。意为“也许/可能已经” 。 肯定句 : may/might/could have done (≠can have done)否定句 : can’t/couldn’t/may not/might not have done疑问句 : Can/Could/Might… have done? (≠May…have done?) —She’s two hours late—what can/could have happened? Can/Could he have missed her train? —Yes, she may/might have. She may/might/could have overslept and got up too late. Might I have lost it somewhere? Compare: He can’t/couldn’t/may not/might not have gone out because the light’s on. ( 现在对过去的推测 ) I thought he couldn’t/might not have gone out because the light was on. ( 过去对过去之前的推测 ) I thought it might rain. (It may rain.) I asked if it could rain. (Can it rain?) ( 过去对过去将来的推测 ) My wife’s in hospital —our baby could/may/might arrive at any time. ( 现在对将来的推测 ) —What do you think that noise was? —It may/might/could have been a cat. ( 现在对过去的推测 ) —What do you think that noise is? —It may/might/could be a cat. (≠can) ( 现在对现在的推测 )(2) could/might have done 还表示过去本能够/本可以做某事是而实际没有做,有时含有“责备”之意。 In my view, the accident could/might have been prevented. You could/might have told me about it earlier.(3) could/might have done 还表示过去本会发生某事而幸好没有发生。You were stupid to try climbing up there. You could/might have killed yourself. You shouldn’t have run across the road without looking round. You might/could have been knocked down by a car.(4) could/might have done 还用于虚拟语气中。表示“过去本会做某事”而没有做。 If he had not been busy then, he could/might ( 也可用 would) have helped me. =He could/might/would have helped me, ...