倒装条件句 Had/Were/Should
含义:省略 if,把助动词提前——更正式的虚拟条件句写法
Had we omitted the parentheses, it would have added one only if x wasn’t greater than 100. 如果我们省略了括号,它就只会在 x 不大于 100 时才加 1。
结构
省略 if,将 had / were / should 提到主语前面。
| 正常写法 | 倒装写法 | 类型 |
|---|---|---|
| If I had known | Had I known | 第三条件句(过去虚拟) |
| If she were here | Were she here | 第二条件句(现在虚拟) |
| If he should call | Should he call | 第一条件句(将来可能) |
例句
Had + 主语 + 过去分词(过去虚拟)
Had I known the answer, I would have told you. 如果我当时知道答案,我就会告诉你。
Had they arrived earlier, they wouldn’t have missed the train. 如果他们早到一点,就不会错过火车了。
Were + 主语(现在虚拟)
Were she here, she would know what to do. 如果她在这里,她会知道该怎么做。
Were I you, I wouldn’t do that. 如果我是你,我不会那样做。
Should + 主语 + 动词原形(将来可能)
Should you need any help, please let me know. 如果你需要帮助,请告诉我。
Should it rain tomorrow, the match will be cancelled. 如果明天下雨,比赛将取消。
条件句分类:本质是真实程度,不是时间
第一、第二、第三条件句的核心区别不是时间,而是真实程度(可能 vs 不可能):
| 类型 | 真实程度 | 时间 | 结构 |
|---|---|---|---|
| 零条件句 | 客观事实 | 任何时间 | if + 现在, 现在 |
| 第一条件句 | 很可能发生 | 将来 | if + 现在, will + 动词 |
| 第二条件句 | 不太可能/假设 | 现在或将来 | if + 过去, would + 动词 |
| 第三条件句 | 不可能(已过去) | 过去 | if + 过去完成, would have + 过去分词 |
关键区别:
第一 vs 第二:不是时间不同,而是可能性不同
- If it rains, I will stay home.(很可能下雨)
- If it rained, I would stay home.(不太可能下雨,假设而已)
第三条件句:一定是过去的、不可能改变的——因为事情已经发生了
- If I had studied, I would have passed.(但实际没学,也没过)
本质:真实 → 虚拟 → 反事实,时间只是附带特征。
注意
- 倒装写法更正式,常见于书面语和学术文章
- 只有
had、were、should可以倒装,其他情态动词不行 - 否定形式:
Had I **not** known(not留在主语后,不能缩写为Hadn't I known)