English / Grammar
情态完成式(Modal Perfect)
| 结构 | 核心意思 | 典型场景 | 例句 |
|---|---|---|---|
| could have done | 本来能/本来可以;可能已经 | 未使用的能力;对过去的推测 | I could have helped. 我本来能帮忙。 / She could have left. 她可能已经走了。 |
| might have done | 本来可能;也许已经 | 较弱的推测/虚拟可能 | I might have said something wrong. 我可能说错话了。 |
| may have done | 可能已经 | 对过去的推测 | He may have forgotten. 他可能忘了。 |
| must have done | 肯定已经 | 强肯定推测 | You must have been tired. 你当时肯定累了。 |
| can't have done / couldn't have done | 不可能已经 | 强否定推测 | She can't have finished so soon. 她不可能这么快完成。 |
| needn't have done | 本不必做却做了 | 事后觉得多余 | You needn't have waited. 你本不必等的。 |
| ought to have done | 本该做而没做 | 义务/后悔,接近 should have | You ought to have told me. 你本该告诉我。 |
| shouldn't have done | 本不该做却做了 | 后悔/批评 | I shouldn't have said that. 我不该说那话。 |
| will have done | 将来某时前已完成;推测“想必已经” | 将来完成/推测 | By Friday I will have finished. 周五前我会完成。 |
| would rather have done | 宁愿当时做了 | 对过去的偏好/后悔 | I would rather have stayed home. 我宁愿当时待在家。 |
| would like to have done | 本来想做 | 未实现的愿望 | I would like to have met him. 我本来想见他。 |
| was/were to have done | 原计划/本应做而没做 | 计划落空 | He was to have arrived at noon. 他原定中午到。 |
| be supposed to have done | 本应已经做 | 期望/义务 | You were supposed to have called. 你本应打过电话。 |
按语义分组更好记
1. 反事实/未实现:本来会、本来能、本来该、本不必
- would have done:本来会
- could have done:本来能/本来可以
- should/ought to have done:本该
- needn't have done:本不必
- might have done:本来可能
对比:
- I could have helped. = 我本来能帮忙。(但没帮)
- I should have helped. = 我本该帮忙。(自责)
- I would have helped. = 我本来会帮忙。(隐含“如果……的话”)
- I needn't have helped. = 我本不必帮忙。(但帮了)
2. 对过去的推测:可能、肯定、不可能
- may/might have done:可能已经
- must have done:肯定已经
- can't/couldn't have done:不可能已经
- could have done 也可表示“可能已经”,但比 might 更受语境影响
例:
- He may have missed the bus. 他可能没赶上公交。
- He must have missed the bus. 他肯定没赶上。
- He can't have missed the bus. 他不可能没赶上。
3. 时间结构,不是虚拟
- will have done:将来完成
- would have done 也可作“过去将来完成”:He said he would have finished by then.
4. 半情态/固定搭配
- was to have done:原计划而没做
- be supposed to have done:本应已经
- would like to have done:本来想
- would rather have done:宁愿当时
易混重点
- needn't have done = 本不必做但做了
didn't need to do = 没必要做,通常没做 - must have done = 肯定已经(推测)
had to do = 不得不做(义务) - could have done 不一定是虚拟,也可推测“可能已经”
- should have done 是“本该”,不是“本来会”;“本来会”用 would have done
Discussion 0
No comments yet.