English 轻松学
Grammar · 语法 · B1 · B2 · 共 20 课
  1. 1现在完成式
  2. 2将来时态:will、going to、现在进行时
  3. 3条件句:零、第一、第二型
  4. 4情态动词:许可与义务
  5. 5used to 的三种用法
  6. 6过去的习惯:used to / would / 过去简单式
  7. 7过去的能力:could / was able to / managed to
  8. 8强调词:so 与 such
  9. 9形容词:可分级 vs 不可分级
  10. 10修饰比较级
  11. 11对比连接词:although, despite 等
  12. 12短语动词:可分离与不可分离
  13. 13被动语态
  14. 14情态动词:推断现在的事
  15. 15情态动词:推断过去的事
  16. 16过去完成式
  17. 17条件句:第三与混合条件句
  18. 18将来进行时与将来完成时
  19. 19大写字母与撇号
  20. 20英式英语 vs 美式英语

过去完成式

Past perfect 语法 · B1 · B2
约 6 分钟 B1
这课学什么
  • 一句话里有两件过去的事,谁先谁后光凭过去式看不出来,这时候就得靠过去完成式排序。
  • 结构是 had + 过去分词,说在过去某个时间点之前已经发生的事。
  • 两件过去的事放在一起,先发生的用过去完成式,后发生的用过去简单式,语序换了意思不变。
  • before + 过去完成式,说某件事在另一件事发生前还没做完。
  • 常搭配 already/still/just/ever/never 这几个副词;只有一件过去的事时不用过去完成式,哪怕年代久远。

重点内容


基本结构

had + 过去分词(past participle)

  • 肯定:He had forgotten to buy bread.
  • 否定:It hadn't rained at the beginning of May.
  • 疑问:Had the parcel arrived when you called?


用法一:时间点之前已完成的动作

表示在过去某个时间点之前已经发生的事情。

  • She'd published her first poem by the time she was eight.
    → 她八岁之前就已经发表了第一首诗。
  • We'd finished all the water before we were halfway up the mountain.
    → 还没爬到一半,水就喝完了。


用法二:两件过去的事,说清楚哪件先发生

过去完成式 = 先发生的那件事;过去简单式 = 后发生的那件事。

  • When the police arrived, the thief had escaped.
    → 警察到的时候,小偷已经跑了。(先跑,后到)
  • My new job wasn't exactly what I'd expected.
    → 新工作不完全是我预期的样子。

句子顺序不影响意思: The thief had escaped when the police arrived. = When the police arrived, the thief had escaped.

只有一件过去的事时,不用过去完成式,哪怕是很久以前: ✅ The Romans spoke Latin.(不是 had spoken)



用法三:before + 过去完成式

before + 过去完成式 表示某动作在另一件事发生之前还没完成。

  • They left before I'd spoken to them. → 我还没来得及跟他们说话,他们就走了。
  • The author died before he'd finished the series. → 作者还没写完系列就去世了。


常见副词搭配

副词意思例句
already在那之前已经He'd already left when I called.
still仍然(还没)It still hadn't rained by May.
just刚刚She'd just moved to Berlin.
ever有没有(曾经)It was the most beautiful photo I'd ever seen.
never从来没有I'd never met anyone from California.

例句练习

英文中文
He couldn't make a sandwich because he'd forgotten to buy bread.他没办法做三明治,因为他忘了买面包。
The hotel was full, so I was glad that we'd booked in advance.酒店客满了,幸好我们提前预订了。
When I arrived at the party, most people had already left.我到派对的时候,大多数人已经走了。
She had never seen the sea before she moved to the coast.搬到海边之前,她从没见过大海。
By the time he graduated, he had worked three part-time jobs.毕业前,他已经做过三份兼职了。

常见错误

❌ When I arrived, she already left.
✅ When I arrived, she had already left. (表示比另一件过去的事更早发生,要用过去完成式 had left)

❌ He had spoke to her before the meeting.
✅ He had spoken to her before the meeting. (had 后面接过去分词,speak 的过去分词是 spoken,不是 spoke)

❌ They had arrived yesterday.
✅ They arrived yesterday. (有明确的过去时间词 yesterday,表示单一事件,用过去简单式就够了)


Sources

Blog / Website:

  1. Past perfect – British Council

练一下

学完马上做几题,看看记住了多少。答错也没关系,提交后会告诉你为什么。

语法点共 6 题
常见错误辨析共 3 题