第 112 课 · 第 10 阶段: 高级结构
第三条件句
高级Third conditional
构成与用法
if + had + V3, would have + V3 — 对过去的假设及其结果
1.形式
第三条件句:if + had + 过去分词(过去完成时),would have + 过去分词。用来想象过去本可以有不同的结果——条件和结果都是不真实的,因为事情已经发生了。
| if 从句(had + V3) | 主句(would have + V3) | |
|---|---|---|
| 肯定式 | If you had told me, | I would have helped. |
| 否定式 | If we hadn't missed the bus, | we wouldn't have been late. |
| 疑问式 | If you had known, | would you have come? |
缩写形式:If I'd known(had),I'd have come(would),I would've come。语速快时,would have 听起来几乎像 “would-ə”。
if 从句里的 'd 是 had(If I'd known);结果部分的 'd 是 would(I'd have gone)。另外,would've 听起来像 “would of”,很多人因此拼错——书写时一定要写 would have。
2.什么时候用
1. 想象一个不同的过去——实际发生的情况正好相反
If I had left earlier, I wouldn't have missed the train.
如果我早点出门,就不会错过火车了。(我出门晚了,错过了火车)
If Lan hadn't helped me, I would have failed the course.
要不是阿兰帮我,这门课我就挂了。(但阿兰确实帮了我)
2. 对过去的事表示遗憾或责备
If you'd told me it was your birthday, I'd have bought you a cake.
你要是早告诉我那天是你生日,我就给你买蛋糕了。
We would have won if we hadn't made so many mistakes.
要不是我们犯了那么多错,我们就赢了。
3. 庆幸坏事没有发生
If the neighbours hadn't smelled the smoke, the whole house would have burned down.
要不是邻居闻到了烟味,整栋房子都会被烧毁。
If you hadn't reminded me, I would have forgotten my passport.
要不是你提醒我,我就忘带护照了。
3.Could have / might have
结果部分可以用 could have + V3(= would have been able to,本来能够)或 might have + V3(= would perhaps have,本来也许会)代替 would。
If we'd booked earlier, we could have sat together.
如果我们早点订票,就能坐在一起了。(could have = would have been able to,本来能够)
If she had applied, she might have won the scholarship.
如果她当时申请了,说不定就拿到奖学金了。(might have = would perhaps have,本来也许会)
4.第二、第三条件句和混合条件句
弄清每个分句说的是什么时间。说过去的分句 → had V3 / would have V3;说现在的分句 → 一般过去时 / would + 动词。两个分句说的是不同时间时,就构成混合条件句。
| 时间 | 形式 | 例句 | |
|---|---|---|---|
| 第二条件句 | 现在 / 将来 | if + 过去时,would + 动词 | If I had a car, I would drive to work. |
| 第三条件句 | 过去 | if + had V3,would have V3 | If I had had a car, I would have driven to work. |
| 混合 1 | 过去的条件 → 现在的结果 | if + had V3,would + 动词 | If I had saved money, I would have a car now. |
| 混合 2 | 现在的条件 → 过去的结果 | if + 过去时,would have V3 | If I weren't afraid of flying, I would have gone with them. |
If I had studied medicine, I would be a doctor now.
如果我当初学了医,现在就是医生了。(过去 → 现在)
If we hadn't moved to Da Nang, we wouldn't know each other.
要是我们当初没搬到岘港,我们就不会认识彼此了。(过去 → 现在)
If he were more organised, he wouldn't have forgotten the meeting.
如果他做事更有条理,就不会忘了那个会议。(现在 → 过去)
If I didn't have to work tomorrow, I would have stayed at the party longer.
要不是明天得上班,我就在聚会上多待一会儿了。(现在 → 过去)
混合 1 的结果部分常有 now、today、still。看到 “now”,而 if 从句用的是 had V3,结果部分就用 would + 动词,不用 would have。
5.倒装:Had I known…
在正式英语中,可以省略 if,把 had 放到主语前面:Had I known = If I had known。否定形式是 Had … not + V3(不缩写成 Hadn't I…)。见“倒装”一课。
Had we known the road was closed, we would have gone another way.
要是我们早知道那条路封了,就会走另一条路了。
Had she not called, I would have waited all night.
要不是她打来电话,我就会等一整夜。(不说:Hadn't she called)
6.常见错误
If I would have known, I would have come.If I had known, I would have come.
if 从句用 had + V3。“If I would have…” 在随意的口语中能听到,但不是标准用法。
If I knew you were in hospital, I would have visited you.If I had known you were in hospital, I would have visited you.
说的是过去的事 → had known。
We were late. If we had taken a taxi, we would arrive on time.We were late. If we had taken a taxi, we would have arrived on time.
结果也是过去的 → would have + V3。
If she had took the medicine, she would have felt better.If she had taken the medicine, she would have felt better.
had + 过去分词(taken),不用一般过去时。
If she had asked me, I would of helped her.If she had asked me, I would have helped her.
would've 听起来像 “would of”,但一定是 have。
If it had not rained, we would have play tennis.If it had not rained, we would have played tennis.
would have + 过去分词。
例句
- If you had told me earlier, I would have helped you.
- If we had left ten minutes earlier, we would have caught the train.
- She wouldn't have failed the exam if she had studied harder.
- If I had had your number, I would have called you last night.
