跳转到内容

第 12 章 · 虚拟语气

项目 内容
课标主题 选修(提高类)· 语法 · 虚拟语气;新高考仍可能考,按“会认、会写常用结构”要求
人教版(2019) 选必一 Unit 5、选必三 Unit 1;各册阅读中的虚拟结构
考试地位 语法填空偶考,常考 if 虚拟条件句和 should 虚拟;写作中用 If I were ... 表达建议或愿望
前置知识 第 9 章动词的时态、第 11 章情态动词

虚拟语气表示“与事实相反”或“不太可能实现”的假设、愿望、建议。它和真实条件句的区别不在形式,而在意义:If it rains, we'll stay home. 是可能发生的真实条件;If it rained, we would stay home. 是与现在事实相反的虚拟。这一章按“if 虚拟条件句、错综时间、省略 if 的倒装、名词性从句中的虚拟、其他虚拟结构”五块讲。

知识点 一句话 考试中
12.2 if 虚拟条件句 与现在、过去、将来事实相反,各有形式 语法填空、写作
12.3 错综时间与混合虚拟 从句和主句时间不一致,各按各的时间 语法填空
12.4 省略 if 的倒装 Were I ...、Had he ...、Should it ... 语法填空、阅读
12.5 名词性从句中的虚拟 suggest/order/insist + that + (should) do 语法填空
12.6 其他虚拟结构 wish、would rather、as if、It's high time 语法填空、写作

if 虚拟条件句按时间分三种:

时间 从句(if …) 主句 意义
与现在事实相反 过去式(be 用 were) would/could/might + 动词原形 现在不是这样
与过去事实相反 had + 过去分词 would/could/might + have + 过去分词 过去没这样
与将来事实相反 were to do / should do / 过去式 would/could/might + 动词原形 将来不太可能这样

与现在事实相反:

  • If I were you, I would apologize.(我不是你)
  • If he knew the answer, he would tell us.(他不知道)

与过去事实相反:

  • If he had studied harder, he would have passed.(他没更努力,也没通过)
  • If I had known, I would have told you.(我当时不知道)

与将来事实相反:

  • If it were to rain tomorrow, we would stay at home.
  • If it should rain tomorrow, we would stay at home.
  • If it rained tomorrow, we would stay at home.

与真实条件句的区别:

真实条件句 虚拟条件句
If it rains, we will stay home. If it rained, we would stay home.
可能发生 与事实相反或不太可能
从句用一般现在时 从句用过去式
主句用一般将来时 主句用 would + 原形
  • 语法填空 → 判断条件是与现在、过去还是将来事实相反 → 套对应形式;be 在虚拟条件句中一般用 were。
  • 写作 → 用 If I were ... 提建议、表达愿望;用 If ... had done, ... would have done 表达遗憾。
  • 阅读 → 虚拟条件句常带“可惜、遗憾、建议”的语气。
  • 虚拟条件句中 be 一般用 were,不用 was:If I were you,正式写作不用 If I was you。
  • 主句的情态动词可以用 would、could、might,意义不同:would 是“会”,could 是“能”,might 是“可能”。
  • 与过去事实相反时,从句用 had done,主句用 would have done,两边都要有“过去”的标记。
  • 与将来事实相反有三种从句形式,意义略有不同:were to do 最正式,should do 较常见,过去式最口语。
  • 不要把虚拟条件句和真实条件句混用:If it rains, we would stay home. 是错的。

虚拟语气的来源:古英语有专门的虚拟式动词形式,现代英语大部分虚拟形式已经消失,只剩 be 的 were、动词原形(如 suggest that he go)等残留。if 虚拟条件句用“过去式”表示“与现在事实相反”,是日耳曼语系的共同特征。

(关键一步:判断虚拟条件句的时间,看从句和主句的动词形式:过去式 → 与现在相反;had done → 与过去相反;were to do / should do → 与将来相反。形式定了,意义就定了。)

例外:

  • 口语中 If I was you 也能听到,但正式写作要求 If I were you。
  • 与将来事实相反的三种形式可以互换,意义略有差别:were to do 最正式,should do 表示“万一”,过去式最口语。
  • 虚拟条件句可以用 unless、suppose、supposing 引导:Suppose he were here, what would you say?
  • 真实条件句也可以用 should 表示“万一”:If it should rain, we will stay home.(这是真实条件,不是虚拟)。

例 1 (场景:与现在事实相反)填空:

If I ______ (be) you, I would apologize.

解:

判断依据:与现在事实相反(我不是你),从句用过去式,be 用 were;主句 would + 原形。

分析:If I were you。

答案:were。

检验:If I were you, I would apologize. 虚拟条件句,正确。

容易卡在:填 am 或 was。与现在事实相反用过去式,be 用 were。

例 2 (场景:与过去事实相反)填空:

If he ______ (study) harder, he would have passed the exam.

解:

判断依据:主句 would have passed 表示与过去事实相反,从句用 had done。

分析:had studied。

答案:had studied。

检验:If he had studied harder, he would have passed. 与过去事实相反,正确。

容易卡在:填 studied。主句有 would have done,从句要用 had done。

另一种解法:先看主句。would have passed 是“与过去事实相反”的标志,从句就要用 had done。从主句反推从句,比先看从句更快,因为主句的情态动词形式最明显。

例 3 (场景:与将来事实相反)填空:

If it ______ (rain) tomorrow, we would stay at home.

解:

判断依据:tomorrow 表示将来,主句 would stay 表示虚拟,从句用过去式或 were to do / should do。

分析:rained / were to rain / should rain 都可以。

答案:rained(或 were to rain / should rain)。

检验:If it rained tomorrow, we would stay at home. 与将来事实相反,正确。

容易卡在:填 rains。rains 是真实条件句,主句要用 will stay;这里主句是 would stay,从句要用虚拟形式。

  • 与现在相反:从句过去式(be 用 were),主句 would/could/might + 原形。
  • 与过去相反:从句 had done,主句 would/could/might + have done。
  • 与将来相反:从句 were to do / should do / 过去式,主句 would/could/might + 原形。
  • 真实条件句:从句一般现在时,主句一般将来时。
  • If I were you, I would ... 是提建议的常用句型。

错在哪:虚拟条件句用 was。 为什么错:口语影响。 正确做法:正式写作 If I were you。

错在哪:与过去事实相反时,从句用过去式。 为什么错:只注意主句的 would have done,忽略从句的 had done。 正确做法:从句 had done,主句 would have done。

错在哪:虚拟条件句和真实条件句混用。 为什么错:从句用现在时,主句用 would。 正确做法:真实条件:现在时 + 将来时;虚拟条件:过去式 + would。

错在哪:主句用 will 代替 would。 为什么错:虚拟语气的主句用过去式情态动词。 正确做法:would/could/might + 原形。

时间 从句 主句 例子
与现在相反 过去式(were) would + 原形 If I were you, I would go.
与过去相反 had done would have done If I had known, I would have told you.
与将来相反 were to do / should do / 过去式 would + 原形 If it rained tomorrow, we would stay home.

一句话记法:现在相反用过去式,过去相反用 had done,将来相反用 were to/should do;主句都是 would。

  • 前置:第 9 章动词的时态、第 11 章情态动词。
  • 后续:第 12.3 节错综时间与混合虚拟、第 12.4 节省略 if 的倒装。
  • 常一起考:第 27 章语法填空、第 28 章写作(建议、愿望)。

错综时间条件句:从句和主句的时间不一致,各按各的时间用虚拟形式。

从句时间 主句时间 例子
过去 现在 If I had studied harder, I would be a doctor now.(过去没努力,现在不是医生)
现在 过去 If I were you, I would have accepted the offer yesterday.(现在我不是你,过去也没接受)
过去 将来 If he had left earlier, he would be here tomorrow.(过去没早走,将来才能到)

混合虚拟:条件句和主句的时间不同,动词形式分别按各自的时间处理:

  • 从句与过去相反:had done
  • 主句与现在相反:would + 原形
  • 从句与现在相反:过去式
  • 主句与过去相反:would have done
  • 语法填空 → 看从句和主句的时间标志(now、yesterday、tomorrow)→ 分别定虚拟形式。
  • 写作 → 表达“如果过去……现在就会……“的遗憾或假设。
  • 阅读 → 错综时间条件句常带复杂的假设关系,注意时间标志。
  • 不要因为从句是 had done,就把主句也写成 would have done;看主句的时间标志。
  • now、today 常提示主句与现在相反;yesterday、last year 常提示主句与过去相反;tomorrow 常提示主句与将来相反。
  • 混合虚拟的从句和主句形式要分别判断,不能一套形式用到底。
  • If I were you, I would have ... 是“现在我不是你,过去我会……”,常用于提建议或责备。

错综时间的来源:虚拟语气的形式是按“时间”和“事实相反”两个维度组合的。条件从句和主句可以指向不同的时间,所以形式也分开。

(关键一步:先分别找从句和主句的时间标志,再分别定形式。从句和主句的时间可以不同,形式也可以不同。)

例外:

  • 有些混合虚拟句没有明显时间标志,要靠上下文判断:If I had taken your advice, I would be happier.(现在更快乐)
  • If I were you, I would have ... 的主句时间由 have done 决定,是过去。
  • 错综时间条件句在口语中常用 If I'd ... I'd ... 缩写,两个 'd 可能一个是 had,一个是 would,要注意区分。

例 1 (场景:过去条件,现在结果)填空:

If I ______ (take) your advice, I would be a doctor now.

解:

判断依据:从句与过去事实相反(当时没听建议),用 had taken;主句有 now,与现在事实相反,用 would be。

分析:had taken。

答案:had taken。

检验:If I had taken your advice, I would be a doctor now. 过去条件、现在结果,正确。

容易卡在:填 took。从句与过去相反,用 had done;主句的 now 提示现在结果。

例 2 (场景:现在条件,过去结果)填空:

If I ______ (be) you, I would have accepted the offer yesterday.

解:

判断依据:从句与现在事实相反(我不是你),用 were;主句有 yesterday,与过去事实相反,用 would have accepted。

分析:were。

答案:were。

检验:If I were you, I would have accepted the offer yesterday. 现在条件、过去结果,正确。

容易卡在:填 had been。从句与现在相反,用过去式 were。

例 3 (场景:过去条件,现在结果)填空:

If he had left earlier, he ______ (be) here now.

解:

判断依据:从句 had left 与过去相反;主句有 now,与现在相反,用 would be。

分析:would be。

答案:would be。

检验:If he had left earlier, he would be here now. 过去条件、现在结果,正确。

容易卡在:填 would have been。主句有 now,与现在相反,用 would be。

  • 从句和主句时间不同,形式分别判断。
  • now / today → 主句与现在相反(would + 原形)。
  • yesterday / last year → 主句与过去相反(would have done)。
  • tomorrow → 主句与将来相反(would + 原形)。
  • If I were you, I would have ... 是现在条件、过去结果。

错在哪:从句 had done,主句也用 would have done,忽略主句的 now。 为什么错:没有分别判断时间。 正确做法:看主句的时间标志,主句与现在相反用 would + 原形。

错在哪:从句和主句都用同一套形式。 为什么错:错综时间条件句的时间不同。 正确做法:分别定从句和主句的形式。

错在哪:If I were you, I would have ... 当成与现在相反。 为什么错:主句有 have done,是过去结果。 正确做法:从句与现在相反,主句与过去相反。

从句 主句 例子
过去 had done 现在 would + 原形 If I had studied, I would be a doctor now.
现在过去式 过去 would have done If I were you, I would have accepted yesterday.
过去 had done 将来 would + 原形 If he had left earlier, he would be here tomorrow.

一句话记法:从句主句各看各的时间,过去 had done,现在过去式,主句 would 加原形或 have done。

  • 前置:第 12.2 节 if 虚拟条件句。
  • 后续:第 12.4 节省略 if 的倒装、第 12.6 节其他虚拟结构。
  • 常一起考:第 27 章语法填空、第 28、29 章写作。

if 虚拟条件句可以省略 if,把 were、had、should 提到主语前,形成倒装:

原句 倒装句
If I were you, ... Were I you, ...
If he had come, ... Had he come, ...
If it should rain, ... Should it rain, ...
If I had known, ... Had I known, ...

倒装的三种情况:

  • 从句有 were → Were + 主语 + ...
  • 从句有 had done → Had + 主语 + done ...
  • 从句有 should do → Should + 主语 + do ...

注意:倒装后不再用 if,主句形式不变。

  • 语法填空 → 句首是 Were / Had / Should,且句子是虚拟条件 → 识别为省略 if 的倒装。
  • 阅读 → 倒装句常出现在正式文体中,注意还原成 if 条件句。
  • 写作 → 用倒装句使表达更正式、更有文采。
  • 倒装只用于虚拟条件句,不是所有 if 条件句都能倒装。
  • Were I you 是正式说法,口语常用 If I were you。
  • Had he come 不要写成 Had he came;had 后接过去分词。
  • Should it rain 中的 should 表示“万一”,不是“应该”。
  • 倒装后主句形式不变:Had I known, I would have told you.

倒装的来源:古英语的虚拟条件句可以不用 if,直接把动词提到句首。现代英语保留了 Were、Had、Should 三种倒装形式,多用于正式文体。

(关键一步:看到句首的 Were / Had / Should,先试着还原成 If ...。还原后是虚拟条件句,就是省略 if 的倒装;还原后不是,可能是其他结构。)

例外:

  • Had 倒装只用于过去完成时 had done,不用于一般过去时 had(表示“有”)。
  • Should 倒装可以表示真实条件的“万一”:Should it rain, we will stay home.(不是虚拟)
  • Were 倒装只用于 be 动词的虚拟条件句。
  • 倒装句的主句可以用 would/could/might,也可以用 will(如果是真实条件)。

例 1 (场景:Were 倒装)填空:

______ I you, I would accept the offer.

解:

判断依据:这是 If I were you 的倒装,把 were 提到句首。

分析:Were I you。

答案:Were。

检验:Were I you, I would accept the offer. 倒装正确。

容易卡在:填 If。句首没有 if,是倒装;Were 已经提到句首。

例 2 (场景:Should 倒装)填空:

______ he come tomorrow, we would hold a meeting.

解:

判断依据:这是 If he should come tomorrow 的倒装,把 should 提到句首。

分析:Should he come。

答案:Should。

检验:Should he come tomorrow, we would hold a meeting. 倒装正确。

容易卡在:填 If。句首是倒装,Should 已经提到句首。

例 3 (场景:Had 倒装)填空:

______ I known the truth, I would have told you.

解:

判断依据:这是 If I had known the truth 的倒装,把 had 提到句首。

分析:Had I known。

答案:Had。

检验:Had I known the truth, I would have told you. 倒装正确。

容易卡在:填 Have。从句是过去完成时,用 Had。

  • Were I ... = If I were ...
  • Had he done ... = If he had done ...
  • Should it rain ... = If it should rain ...
  • 倒装后不再用 if,主句形式不变。
  • 倒装多用于正式文体,口语常用 if。

错在哪:倒装后还加 if。 为什么错:倒装已经替代了 if。 正确做法:Were I you, ... 不加 if。

错在哪:Had he came。 为什么错:had 后接过去分词,不是过去式。 正确做法:Had he come。

错在哪:Should 倒装当成“应该”。 为什么错:这里的 should 表示“万一”。 正确做法:还原成 If ... should ...。

错在哪:所有 if 条件句都倒装。 为什么错:只有虚拟条件句的 were/had/should 可以倒装。 正确做法:真实条件句一般用 if。

原句 倒装
If I were you, ... Were I you, ...
If he had come, ... Had he come, ...
If it should rain, ... Should it rain, ...

一句话记法:Were、Had、Should 提前,if 省掉;主句不变,正式文体常用。

  • 前置:第 12.2、12.3 节 if 虚拟条件句、错综时间。
  • 后续:第 12.5 节名词性从句中的虚拟、第 20 章特殊句式(倒装)。
  • 常一起考:第 27 章语法填空、第 24 章阅读正式文体。

某些动词、形容词后的名词性从句用虚拟语气,形式是 (should) + 动词原形,should 常省略:

动词后的宾语从句:

动词 意义 例子
suggest 建议 He suggested that we (should) start early.
advise 建议 She advised that he (should) see a doctor.
order 命令 The officer ordered that the soldiers (should) advance.
demand 要求 They demanded that the rule (should) be changed.
require 要求 The job requires that you (should) be careful.
request 请求 He requested that we (should) be quiet.
insist 坚持要求 She insisted that he (should) stay.

形容词后的主语从句:

结构 例子
It is necessary that ... It is necessary that he (should) be present.
It is important that ... It is important that we (should) work together.
It is strange that ... It is strange that he (should) say that.
It is natural that ... It is natural that she (should) be nervous.

注意:suggest 表示“表明”、insist 表示“坚持说”时,不用虚拟语气:

  • His smile suggested that he was happy.(表明,不用虚拟)
  • He insisted that he was right.(坚持说,不用虚拟)
  • 语法填空 → 看到 suggest/advise/order/demand/require/request/insist + that 从句,或 It is necessary/important/strange + that → 用 (should) + 动词原形。
  • 写作 → 提建议、提要求时用虚拟语气,语气正式。
  • 阅读 → 注意 suggest、insist 的意义,判断是否用虚拟。
  • 虚拟形式是 (should) + 动词原形,should 可以省略;be 用原形 be。
  • suggest 表示“建议”用虚拟,表示“表明”不用。
  • insist 表示“坚持要求”用虚拟,表示“坚持说”不用。
  • It is necessary/important/strange + that 从句用虚拟。
  • 主语从句的虚拟语气多见于正式文体,口语中常用陈述语气。

名词性从句虚拟的来源:这类虚拟语气来自古英语的虚拟式,表示“建议、要求、命令”等未实现的动作。现代英语用 (should) + 动词原形,should 常省略。

(关键一步:判断用不用虚拟,先看动词的意义。表示“建议、要求、命令”用虚拟;表示“表明、认为、坚持说”不用虚拟。)

例外:

  • suggest 表示“建议”用虚拟,表示“表明”不用:The evidence suggests that he is guilty.(表明,不用虚拟)
  • insist 表示“坚持要求”用虚拟,表示“坚持说”不用:He insisted that he had done nothing wrong.(坚持说,不用虚拟)
  • It is necessary/important/strange 后的从句用虚拟,但 It is a fact that ... 不用。
  • 美式英语更常用省略 should 的形式;英式英语更常保留 should。

例 1 (场景:suggest 建议)填空:

The teacher suggested that we ______ (start) early.

解:

判断依据:suggest 表示“建议”,后面的宾语从句用虚拟语气 (should) + 动词原形。

分析:(should) start。

答案:(should) start。

检验:The teacher suggested that we (should) start early. 虚拟语气正确。

容易卡在:填 started。suggest 表示“建议”用虚拟,不用过去式。

例 2 (场景:It is necessary that)填空:

It is necessary that he ______ (be) present.

解:

判断依据:It is necessary that ... 的主语从句用虚拟语气,be 用原形。

分析:(should) be。

答案:(should) be。

检验:It is necessary that he (should) be present. 虚拟语气正确。

容易卡在:填 is。虚拟语气中 be 用原形。

例 3 (场景:insist 坚持要求)填空:

The doctor insisted that she ______ (stay) in bed.

解:

判断依据:insist 表示“坚持要求”,后面的从句用虚拟语气。

分析:(should) stay。

答案:(should) stay。

检验:The doctor insisted that she (should) stay in bed. 虚拟语气正确。

容易卡在:填 stayed。insist 表示“坚持要求”用虚拟;表示“坚持说”才用陈述语气。

另一种解法:先看 insist 的意义。The doctor insisted that she stay in bed 是医生“坚持要求”她卧床,用虚拟;如果句子是 He insisted that he was right,是“坚持说”,用陈述语气。先判断动词意义,再决定用不用虚拟。

  • suggest/advise/order/demand/require/request/insist + that + (should) do。
  • It is necessary/important/strange/natural + that + (should) do。
  • suggest 表示“表明”、insist 表示“坚持说”时,不用虚拟。
  • should 可以省略,be 用原形。
  • 美式英语更常省略 should。

错在哪:suggest 表示“表明”时用虚拟。 为什么错:没区分“建议”和“表明”。 正确做法:The evidence suggests that he is guilty. 不用虚拟。

错在哪:insist 表示“坚持说”时用虚拟。 为什么错:没区分“坚持要求”和“坚持说”。 正确做法:He insisted that he was right. 不用虚拟。

错在哪:虚拟语气中 be 用 is。 为什么错:忘了虚拟语气用原形。 正确做法:(should) be。

错在哪:should 省略后动词加 -s 或过去式。 为什么错:虚拟语气用动词原形。 正确做法:(should) start、(should) be。

结构 虚拟形式 例子
suggest/advise/order/demand + that (should) do He suggested that we (should) go.
It is necessary/important/strange + that (should) do It is important that he (should) be here.
suggest = 表明 不用虚拟 The evidence suggests that he is guilty.
insist = 坚持说 不用虚拟 He insisted that he was right.

一句话记法:建议要求命令用虚拟,should 可省用原形;suggest 表明、insist 坚持说,不用虚拟。

  • 前置:第 12.2–12.4 节 if 虚拟条件句、错综时间、倒装。
  • 后续:第 12.6 节其他虚拟结构、第 17 章名词性从句。
  • 常一起考:第 27 章语法填空、第 28 章建议信写作。

wish 后的宾语从句:

时间 形式 例子
与现在相反 过去式(be 用 were) I wish I knew the answer.
与过去相反 had done I wish I had studied harder.
与将来相反 would/could + 原形 I wish it would stop raining.

would rather 后的从句:

  • 与现在/将来相反:过去式:I would rather you came tomorrow.
  • 与过去相反:had done:I would rather you had told me earlier.

as if / as though 后的从句:

  • 与现在相反:过去式:He talks as if he knew everything.
  • 与过去相反:had done:He talks as if he had been there.

It's (high) time 后的从句:

  • 过去式或 should + 原形:It's high time we left. / It's high time we should leave.

If only:

  • 与现在相反:过去式:If only I knew the answer!
  • 与过去相反:had done:If only I had studied harder!
  • 语法填空 → 看到 wish、would rather、as if、It's high time、If only → 判断与现在还是过去相反 → 套对应形式。
  • 写作 → 用 wish、If only 表达愿望和遗憾;用 It's high time 提建议。
  • 阅读 → 这些结构常带“遗憾、愿望、假设”的语气。
  • wish 后的从句用虚拟,不用陈述语气:I wish I knew,不说 I wish I know。
  • would rather 后的从句用过去式表示现在/将来,用 had done 表示过去。
  • as if / as though 后的从句可以用虚拟,也可以用陈述语气;看是否与事实相反。
  • It's high time 后的从句用过去式或 should + 原形,不用一般现在时。
  • If only 的感叹句用虚拟,句末用感叹号。

其他虚拟结构的来源:这些结构都表示“与事实相反”或“未实现”的愿望、假设、建议,所以用虚拟语气。wish 来自古英语的“希望”,would rather 是“宁愿”,as if 是“好像”,It's high time 是“该……的时候了”。

(关键一步:判断这些结构的虚拟形式,先看时间。与现在相反用过去式,与过去相反用 had done,与将来相反用 would/could + 原形。)

例外:

  • wish 后可以用 would 表示对将来的愿望:I wish it would stop raining.
  • as if / as though 后的从句可以用陈述语气表示可能属实:It looks as if it is going to rain.
  • It's high time 后的从句用过去式,但意义是现在或将来。
  • If only 可以单独使用,也可以接句子:If only I had known!
  • would rather 后接动词原形时,表示“宁愿做某事”,不接从句:I would rather stay home.

例 1 (场景:wish 与现在相反)填空:

I wish I ______ (know) the answer.

解:

判断依据:wish 后与现在事实相反(我不知道答案),用过去式。

分析:knew。

答案:knew。

检验:I wish I knew the answer. 与现在相反,正确。

容易卡在:填 know。wish 后的从句用虚拟,不用一般现在时。

例 2 (场景:would rather 与现在/将来相反)填空:

I would rather you ______ (come) tomorrow.

解:

判断依据:would rather 后与现在/将来相反,用过去式。

分析:came。

答案:came。

检验:I would rather you came tomorrow. 虚拟语气正确。

容易卡在:填 come。would rather 后的从句用过去式。

例 3 (场景:It’s high time)填空:

It’s high time we ______ (leave).

解:

判断依据:It's high time 后的从句用过去式或 should + 原形。

分析:left 或 should leave。

答案:left(或 should leave)。

检验:It's high time we left. 虚拟语气正确。

容易卡在:填 leave。It's high time 后的从句不用一般现在时。

  • wish:与现在相反用过去式,与过去相反用 had done,与将来相反用 would/could + 原形。
  • would rather:与现在/将来相反用过去式,与过去相反用 had done。
  • as if / as though:与现在相反用过去式,与过去相反用 had done。
  • It's high time:过去式或 should + 原形。
  • If only:与现在相反用过去式,与过去相反用 had done。

错在哪:wish 后用一般现在时。 为什么错:忽略虚拟语气。 正确做法:I wish I knew。

错在哪:would rather 后的从句用一般现在时。 为什么错:忽略虚拟语气。 正确做法:I would rather you came。

错在哪:It's high time 后用一般现在时。 为什么错:忽略虚拟语气。 正确做法:It's high time we left.

错在哪:as if 后的从句一律用虚拟。 为什么错:可能属实的情况用陈述语气。 正确做法:看是否与事实相反。

结构 与现在相反 与过去相反 与将来相反
wish 过去式 had done would/could + 原形
would rather 过去式 had done 过去式
as if 过去式 had done —
It's high time 过去式 / should do — —
If only 过去式 had done —

一句话记法:wish、rather、as if、high time、if only,与现在相反用过去式,与过去相反用 had done。

  • 前置:第 12.2–12.5 节 if 虚拟条件句、错综时间、倒装、名词性从句虚拟。
  • 后续:第 29 章读后续写的心理描写(愿望、遗憾)。
  • 常一起考:第 27 章语法填空、第 28、29 章写作。

这一章五个知识点按“条件 → 时间 → 倒装 → 从句 → 其他结构”排:先学 if 虚拟条件句的三种时间(12.2),再学错综时间(12.3),再学省略 if 的倒装(12.4),再学名词性从句中的虚拟(12.5),最后学 wish、would rather 等其他结构(12.6)。

虚拟语气的判断流程:先看是条件句还是其他结构,再看与现在、过去还是将来相反,最后选对应形式

  1. If I ______ (be) you, I would apologize. 填什么?
  2. If he ______ (study) harder, he would have passed. 填什么?
  3. If it ______ (rain) tomorrow, we would stay at home. 填什么?
  4. If I ______ (take) your advice, I would be a doctor now. 填什么?
  5. If I ______ (be) you, I would have accepted the offer yesterday. 填什么?
  6. ______ I you, I would accept the offer. 填什么?
  7. ______ he come tomorrow, we would hold a meeting. 填什么?
  8. ______ I known the truth, I would have told you. 填什么?
  9. The teacher suggested that we ______ (start) early. 填什么?
  10. It is necessary that he ______ (be) present. 填什么?
  11. I wish I ______ (know) the answer. 填什么?
  12. It's high time we ______ (leave). 填什么?

答案:1. were。2. had studied。3. rained(或 were to rain / should rain)。4. had taken。5. were。6. Were。7. Should。8. Had。9. (should) start。10. (should) be。11. knew。12. left(或 should leave)。