LiramiLirami

情态动词 + 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. 1. should(n't) have:本应该/本不该

    对过去的后悔或批评:本应该做却没做,本不该做却做了。

    • I should have left earlier.我本应该早点出门的。
    • You shouldn't have told her.你本不该告诉她的。
  2. 2. must have / can't have:一定/不可能

    对过去有把握的推测:一定是……了/不可能……。

    • It must have rained last night.昨晚一定下过雨了。
    • He can't have seen us.他不可能看到我们。
  3. 3. might / could have:可能

    对过去不太确定的推测:可能……了。

    • He might have missed the bus.他可能是错过了公交车。
    • She might not have heard you.她可能没听见你说话。

练到脱口而出

围绕这 3 个要点的小练习,每答一题立刻批改。免费开始。