条件句谈论如果某事为真会发生什么。你选择的时态表明你认为情况有多真实:事实、真实的可能性、想象的情况,或无法改变的过去。本主题有一个部分讲 真实 情况,两个部分讲 非真实 情况,另外两个部分两者兼有。本指南分为五个部分,与诊断测试的五个部分完全对应。
阅读英文版指南 → 本页为机器翻译,未经母语者审校,可能有不准确之处。以英文版为准。
你的诊断结果会告诉你哪个部分需要复习。请点击下面对应的部分。
核心思想:情况有多真实?
你选择的时态告诉读者你认为情况有多大可能。时态一变,同一个 if 句的意思就变了。
| 类型 | if 从句 | 结果 | 例句 |
|---|---|---|---|
| zero | 一般现在时 | 一般现在时 | If you heat ice, it melts. |
| first | 一般现在时 | will + base verb | If it rains, we will stay home. |
| second | 一般过去时 | would + base verb | If I had time, I would help. |
| third | 过去完成时 | would have + participle | If I had known, I would have called. |
| mixed | 过去完成时或一般过去时 | would or would have | If I had studied, I would be a doctor now. |
- 1
是事实,还是真的可能发生? 用 zero 或 first 条件句。 是想象的吗? 用 second 条件句(第 1 部分)。
- 2
两个半句各指现在还是过去? 选择 second、third 或 mixed 条件句(第 2 部分)。
- 3
该用哪个连接词? if、when、unless 或 in case,都用现在时表示将来(第 3 部分)。
时态表明说话人认为情况有多真实。第 4 部分用同样的思路处理愿望和遗憾,第 5 部分讲没有 if 的正式形式。
真实还是想象?
这是真实的可能性,还是只是想象?时态会告诉你。
规则: 时态表明情况有多大可能:真实的可能性和事实用 if 加现在时,后面接 will 或现在时;想象的情况用 if 加过去时,后面接 would。
同一情况,两种真实程度
| 含义 | 句型 | 例句 |
|---|---|---|
| fact (zero) | if + present simple, present simple | If you heat ice, it melts. |
| real possibility (first) | if + present simple, will + base verb | If I get the job, I will move to Busan. |
| imagined (second) | if + past simple, would + base verb | If I got the job, I would move to Busan. |
| advice | if I were you, I would | If I were you, I would apologize. |
正确说法
If it rains, we will stay home.
If I had more time, I would learn Spanish.
不要说
If it will rain, we will stay home.If I would have more time, I would learn Spanish.
这里 if 后面的一般过去时并不表示过去,而是表示说话人认为情况是想象的或不太可能的。
本部分的常见错误
- if 从句中用了 will
If the weather will be nice on Sunday, we will go hiking.✓ If the weather is nice on Sunday, we will go hiking.真实的计划在 if 后面用一般现在时。 - 条件句类型与意思不符
I don't have a dog, but if I have one, I would walk it every morning.✓ I don't have a dog, but if I had one, I would walk it every morning.想象的情况用一般过去时。 - 时态搭配错误
If you boil an egg for ten minutes, it would become hard.✓ If you boil an egg for ten minutes, it becomes hard.一般事实在两个部分都用一般现在时。
补充:if I was,以及 if 后面的 will
许多母语者在非正式口语中说 if I was you 。在书面语和考试中要用 were 。当 will 表示愿意(be willing)时,它可以跟在 if 后面,例如:If you will wait here, I’ll get the manager;或者当结果在时间上先发生时,例如:If it will help, I’ll stay late。
哪个时间?
两个半句各指现在还是过去?
规则: 让每个半句对应各自的时间:过去的条件用 had 加过去分词,现在的结果用 would 加动词原形,过去的结果用 would have 加过去分词。
把时间问题问两遍
| 条件 | 结果 | 句型 | 例句 |
|---|---|---|---|
| 现在 | 现在 | if + past simple, would + base verb | If I had a car, I would drive. |
| 过去 | 过去 | if + past perfect, would have + participle | If I had known, I would have called you. |
| 过去 | 现在 | if + past perfect, would + base verb | If I had studied medicine, I would be a doctor now. |
| 现在 | 过去 | if + past simple, would have + participle | If I were braver, I would have spoken up yesterday. |
留意 now、today、yesterday、last year 这类时间词,它们会告诉你每个半句需要哪种句型。Would 不能放在 if 从句中: If I would have known 是错的。
Would have、could have、might have
| 情态动词 | 含义 | 例句 |
|---|---|---|
| would have | 肯定的结果 | If I had left earlier, I would have caught the train. |
| could have | 可能的结果 | If I had left earlier, I could have caught the train. |
| might have | 不确定的结果 | If I had left earlier, I might have caught the train. |
本部分的常见错误
- if 从句中用了 would
If I would have seen the message, I would have replied.✓ If I had seen the message, I would have replied.if 从句用过去完成时,而不是 would have。 - mixed 条件句的句型错误
If I had taken the earlier flight, I would have been in Rome now.✓ If I had taken the earlier flight, I would be in Rome now.表示现在的结果需要 would 加动词原形。 - third 条件句的构成有误
If they had invited me, I would have went.✓ If they had invited me, I would have gone.would have 后面要接过去分词。
If、when、unless 和 in case
哪个词符合意思:if、when、unless 还是 in case?
规则: 在 if、when、unless、as long as 和 in case 之后,用一般现在时表示将来。预期会发生的事用 when,可能发生的事用 if,unless 表示 if not,in case 表示预防措施。
按意思选词
| 词语 | 含义 | 例句 |
|---|---|---|
| when | 你预期它会发生 | When the game ends, we’ll get dinner. |
| if | 它可能不会发生 | If the game ends early, we’ll get dinner. |
| unless | 如果不 | Unless you hurry, you will miss the bus. |
| as long as, provided that | 仅当 | You can borrow it as long as you bring it back. |
| in case | 作为预防措施 | Take an umbrella in case it rains. |
在所有这些词之后,都用现在时表示将来
| 从句引导词 | 例句 |
|---|---|
| when | I will call you when I get home. |
| as soon as | Tell me as soon as she arrives. |
| until, before, once | Wait until the light turns green. |
韩国和日本的学习者常把 if 用于必然发生的事,因为这两种语言用同一种形式表示两种意思。在英语中,预期会发生的事要用 when。
本部分的常见错误
- 混淆了 if 和 when
If I wake up tomorrow, I'll call you.✓ When I wake up tomorrow, I'll call you.起床是预期会发生的,所以用 when。 - if 从句中用了 will
Please wait here until the doctor will call your name.✓ Please wait here until the doctor calls your name.在 until 之后,用一般现在时表示将来。 - unless、wish 或其他替代形式用错了
Unless you don't book early, the hotel will be full.✓ Unless you book early, the hotel will be full.Unless 本身已经表示 if not。
愿望与遗憾
愿望或遗憾说的是现在还是过去?
规则: Wish 和 if only 谈现在时用过去时形式,谈过去时用过去完成时。Wish 加 would 表示抱怨别人的行为,it’s time 后面用一般过去时。
往后退一步
| 关于 | 句型 | 例句 |
|---|---|---|
| 现在 | wish + past simple | I wish I had more time. |
| 现在的能力 | wish + could | I wish I could sing. |
| 过去 | wish + past perfect | I wish I hadn’t sent that email. |
| 别人的行为 | wish + would | I wish you would turn the TV down. |
| 现在就该发生的事 | it’s time + past simple | It’s time we left. |
If only 和 wish 用法相似,但语气更强。不要对自己用 wish 加 would:要说 I wish I could,而不是 I wish I would。
本部分的常见错误
- unless、wish 或其他替代形式用错了
I wish I have a bigger apartment.✓ I wish I had a bigger apartment.关于现在的愿望用一般过去时。 - unless、wish 或其他替代形式用错了
I wish I didn't say that to my boss yesterday.✓ I wish I hadn't said that to my boss yesterday.关于过去的愿望用过去完成时。 - unless、wish 或其他替代形式用错了
I wish I would speak Chinese.✓ I wish I could speak Chinese.谈自己的能力,用 could,不用 would。
补充:would rather
I’d rather you didn’t tell anyone 也用一般过去时来谈现在。
正式的条件句
if 消失时,你还能认出条件吗?
规则: 正式英语可以省略 if,把 had、were 或 should 放在句首。但是 but for 加名词表示没有(without),otherwise 表示 if not,were to 会让将来的事听起来不太可能。
没有 if 的条件句
| 普通 | 正式 |
|---|---|
| If I had known, I would have called. | Had I known, I would have called. |
| If I were in charge, I would change it. | Were I in charge, I would change it. |
| If you need help, call us. | Should you need help, call us. |
| If it hadn’t been for the map, we would have gotten lost. | But for the map, we would have gotten lost. |
Otherwise 和 were to
| 形式 | 含义 | 例句 |
|---|---|---|
| otherwise | 如果不 | Leave now, otherwise you’ll be late. |
| if + were to | 不太可能的将来 | If the company were to close, many people would lose their jobs. |
这些形式常见于商务信函、通知以及雅思和托业等考试。在日常对话中,普通的 if 从句更常用。
本部分的常见错误
- 正式条件句的构成有误
If had we known about the delay, we would have waited.✓ Had we known about the delay, we would have waited.倒装省略了 if。 - 正式条件句的构成有误
But for you helped me, I would have failed.✓ But for your help, I would have failed.But for 后面接名词。 - 正式条件句的构成有误
Should you will need a taxi, ask at reception.✓ Should you need a taxi, ask at reception.在 should 之后,用动词原形。
自我检测
每个句子都正确吗?点击查看答案。如果你拿不准,部分标签会告诉你该看哪里。
第 1 部分If I see a good jacket in the sale, I will buy it.
正确。 真实的可能性:if 后用现在时,结果部分用 will。
第 1 部分If I would live by the sea, I would swim every day.
错误。 If I lived by the sea, I would swim every day. 不要在 if 之后用 would。
第 2 部分If we had taken a map, we wouldn't have gotten lost.
正确。 两个半句说的都是过去。
第 2 部分If she had gone to bed earlier, she would have felt better now.
错误。 If she had gone to bed earlier, she would feel better now. 表示现在的结果需要 would 加动词原形。
第 3 部分Take a jacket in case it gets windy on the boat.
正确。 In case 表示预防措施,后面用一般现在时。
第 3 部分I'll tell you the news when I will see you.
错误。 I’ll tell you the news when I see you. 在 when 之后,用一般现在时表示将来。
第 4 部分I wish I could remember her name.
正确。 表示现在能力的愿望用 could。
第 4 部分If only I listened to you last year!
错误。 If only I had listened to you last year! 谈过去,用过去完成时。
第 5 部分Were I you, I would take the job.
正确。 Were I you 是 if I were you 的正式说法。
第 5 部分Should you wanting more information, visit our website.
错误。 Should you want more information, visit our website. 在 should 之后,用动词原形。
AI 练习提示词
把它粘贴到 AI 聊天工具中。