情态动词 + have + 过去分词
用情态动词谈过去:本应该、一定是……了、不可能……了、可能……了。
例句
- I should have left earlier.我本应该早点出门的。
- It must have rained last night.昨晚一定下过雨了。
- He might have missed the bus.他可能是错过了公交车。
讲解
学会以后,你能
- 后悔或批评:“本应该……”“本不该……”
- 推测过去:“一定是……了”“不可能……”“可能……了”
构成
情态动词 + have + 过去分词
have 永远用原形,不随主语变成 has,也不变成 had。
should / must / can't / might / could + have + 过去分词
should have
本应该(但没有)
I should have left earlier.
我本应该早点出门的。(但我出门晚了)
You shouldn't have told her.
你本不该告诉她的。(但你告诉了)
must have / can't have —— 对过去的有把握的推测
It must have rained last night.
昨晚一定下过雨了。
He can't have seen us.
他不可能看到我们。
“一定没有”用 can't have / couldn't have,不用 mustn't have。
might / may / could have —— 可能……了
He might have missed the bus.
他可能是错过了公交车。
She might not have heard you.
她可能没听见你说话。
could have 还可以表示“本来可能(但没发生)”:
You could have been hurt!
你本来可能会受伤的!
常见错误
I should went earlier.I should have gone earlier.
谈过去要加 have,后面接过去分词。
She must has forgotten.She must have forgotten.
情态动词后面永远是 have。
He mustn't have seen us.He can't have seen us.
推测“一定没有”用 can't have。
I should of called you.I should have called you.
口语 should've 听起来像 should of,但写的时候一定是 have。
练习要点
1. should(n't) have:本应该/本不该
对过去的后悔或批评:本应该做却没做,本不该做却做了。
- I should have left earlier.我本应该早点出门的。
- You shouldn't have told her.你本不该告诉她的。
2. must have / can't have:一定/不可能
对过去有把握的推测:一定是……了/不可能……。
- It must have rained last night.昨晚一定下过雨了。
- He can't have seen us.他不可能看到我们。
3. might / could have:可能
对过去不太确定的推测:可能……了。
- He might have missed the bus.他可能是错过了公交车。
- She might not have heard you.她可能没听见你说话。
练到脱口而出
围绕这 3 个要点的小练习,每答一题立刻批改。免费开始。