这两块合起来管的是一件事:说话人怎么看这件事。情态动词表「态度」——能力、许可、义务、推测,信心从 must 一路滑到 might;虚拟语气表「和事实相反的假设」,核心口诀就一句——时态往后退一步(和现在相反用过去,和过去相反用过去完成)。搞懂「退一步」,三类条件句和一堆特殊句型全打通。
同一个情态动词往往身兼数职,靠语境分辨到底是哪一层意思。先按四大功能归位:
| 功能 | 常用词 | 例句 |
|---|---|---|
| 能力(能不能) | can / could / be able to | She can speak French. 她会说法语。 |
| 许可(可不可以) | can / may / could | May I come in? 我可以进来吗? |
| 义务(该不该/必须) | must / should / ought to / have to | You must wear a helmet. 你必须戴头盔。 |
| 推测(是不是) | must / may / might / can't / could | He must be tired. 他一定累了。 |
肯定推测: must(几乎肯定,90%+) > should/ought to(应该,大概率) > may/could(可能,50%) > might(也许,更低)。否定推测: 「不可能」不用 mustn't,要用 can't / couldn't(=一定不)。
⚠ 推测的否定别用 mustn't!mustn't = 「禁止/不许」(义务),不是「不可能」。「他不可能在家」= He can't be at home,不是 He mustn't be at home。
滑杆代表「说话人的信心」。信心越高越靠近 must(一定),越低越靠近 might(也许)。否定侧用 can't(一定不),不是 mustn't。
要推测过去发生的事,情态动词后面接 have + 过去分词(done)。含义和把握度跟现在推测一一对应,只是把时间往回搬:
| 结构 | 含义 | 例句 |
|---|---|---|
| must have done | 一定做过了(肯定推测) | She must have left already. 她一定已经走了。 |
| can't / couldn't have done | 不可能做过(否定推测) | He can't have seen me. 他不可能看见我了。 |
| may / might have done | 可能做过(不确定) | They may have missed the bus. 他们可能错过了公交。 |
| should have done | 本该做而没做(含责备/遗憾) | You should have told me. 你本该告诉我的(可你没有)。 |
| needn't have done | 本不必做却做了 | You needn't have paid. 你本不必付钱的(可你付了)。 |
⚠ should have done ≠ 「应该做」!它专指「本该做而实际没做」,带遗憾/责备。needn't have done = 「本不必做却做了」,和 didn't need to do(不需要做,也没做)不同。
每张卡显示:结构 / 中文含义 / 例句 / 事实上「做了没」。注意 should have 与 needn't have 都暗含「和事实相反」。
虚拟语气(the subjunctive)说的是和事实相反、或不太可能实现的假设。英语没有专门的「假设时态」,就借用「把时态往后推一格」来标记「这是假的」。三类条件句只是「退一步」在不同时间上的落地:
| 类型 | if 从句 | 主句 |
|---|---|---|
| 与现在相反 | 过去式(were/did) | would / could / might + do |
| 与过去相反 | 过去完成(had done) | would / could / might + have done |
| 与将来相反(可能性极小) | were to do / should do / 过去式 | would / could / might + do |
be 动词一律用 were(不分人称):If I were rich… / If he were here…(口语里 was 也见得到,但书面/考试用 were)。
⚠ 别把「退一步」当真时间!If I were you 里的 were 不是过去,是「和现在事实相反」的标记。真讲过去要再退一格到 had done。
左边是「真实时态」,红箭头把它往回推一格,得到右边虚拟语气用的时态。这就是「退一步」的全部机制。
从句和主句像一对锁,配错就错。选一行,看它固定的「从句时态 + 主句 would 结构」。
表建议、要求、命令、坚持的词后面的从句,用 (should) + 动词原形(should 可省,留下光杆原形):
例:The doctor suggested that he (should) stop smoking. 医生建议他戒烟。The teacher insisted that we (should) be on time.
| 句型 | 规则 | 例句 |
|---|---|---|
| wish / if only | 与现在相反→过去式;与过去相反→had done;将来→would do | I wish I knew the answer. 但愿我知道答案(其实不知)。 |
| would rather(宁愿) | +从句用过去式(现在/将来)/had done(过去) | I'd rather you didn't go. 我宁愿你别去。 |
| as if / as though | 与事实相反→过去式 / had done | He talks as if he knew everything. 他说得好像什么都懂(其实不懂)。 |
| it's (high) time that | +从句用过去式(该做还没做) | It's high time we left. 我们早该走了。 |
没有 if,但句子里藏着「如果…」的味道,主句照样用虚拟结构:
⚠ 含蓄条件常靠 but for / without / otherwise / 名词短语 提示,主句里的 would (have) done 才是「泄露天机」的信号——看到它就要往回找那个隐藏的假设。
读句子,先判断是「与现在 / 过去 / 将来相反」或哪个特殊句型,再点你认为对的选项。选完立刻显示对错与解析。
触发信号:问「对现在情况的判断/猜测」,中文提示「一定/大概/可能/也许/不可能」;句中常有 be、be doing。
标准动作:按把握度选词:一定→must;应该→should;可能→may/could;也许→might;不可能→can't/couldn't。后接动词原形(进行态 be doing)。
示例(带解):The light is on, so someone ___ be in the office. 灯亮着,所以一定有人 → must。若问「不可能」:He ___ be over 60, he looks so young → can't。
陷阱:「不可能」误填 mustn't(那是禁止);把 must(推测) 和 have to(客观必须) 混。
触发信号:推测/评论一件已经发生的事;中文「一定做过/不可能做过/本该做没做/本不必做」。
标准动作:情态词 + have done。一定→must have;不可能→can't/couldn't have;可能→may/might have;本该没做→should have;本不必却做了→needn't have。
示例(带解):The ground is wet; it ___ rained last night. 地湿了,昨晚一定下过雨 → must have。You ___ me — I was worried! 你本该告诉我的 → should have told。
陷阱:should have done 译成「应该做」而漏掉「实际没做」;把 can't have done 写成 mustn't have done。
触发信号:if 从句讲一个和现在不符的假设(我不是你、他现在不在);常见 If I were you…。
标准动作:if 从句用过去式(be 用 were),主句用 would/could/might + 动词原形。
示例(带解):If I ___ (be) you, I ___ (accept) the offer. → If I were you, I would accept the offer.(其实我不是你,现在也没接。)
陷阱:从句用了 was/一般现在;主句忘了 would;把它当真过去去翻译。
触发信号:if 从句讲一个过去没发生的事(当时没学、昨天没来)。
标准动作:if 从句用 had done,主句用 would/could/might + have done。
示例(带解):If she ___ (leave) earlier, she ___ (catch) the train. → If she had left earlier, she would have caught the train.(当时没早走,也没赶上。)
陷阱:主句漏掉 have(写成 would catch);从句用一般过去(left)而非 had left。
触发信号:句首/句中出现 wish、if only、would rather、as if/as though、it's high time、suggest/insist 等标志词。
标准动作:按各自规则退时态:wish 现在→过去式、过去→had done、将来→would do;as if/would rather 同理;it's time that+过去式;suggest/insist(建议要求)+(should) do。
示例(带解):I wish I ___ (not eat) so much. → had not eaten(后悔过去)。It's high time we ___ (start). → started。He insists that she ___ (stay). → (should) stay。
陷阱:wish 后面用一般现在;it's time that 用了原形;suggest 表「暗示」时误当虚拟(见下)。
触发信号:从句和主句时间不一致(当时没做 → 影响现在);或没有 if,靠 but for/without/otherwise 暗示条件。
标准动作:各半句按自己的时间选:讲过去的半句用 had done / would have done,讲现在的半句用过去式 / would do,拼在一起。含蓄条件把 but for/without 还原成 if 再判断。
示例(带解):If you ___ (take) my advice then, you ___ (not be) in trouble now. → If you had taken(过去)my advice, you wouldn't be(现在)in trouble now。But for your help, I ___ (fail) yesterday → would have failed。
陷阱:错综句两半用同一套时态;含蓄条件看不出隐藏假设,主句 would (have) done 用错。
① must have vs can't have: 肯定推测过去→must have done(一定做过);否定推测过去→can't/couldn't have done(不可能做过),不是 mustn't have done。
② should have done = 本该做却没做(遗憾/责备),不是「应该做」。needn't have done = 本不必做却做了。
③ 虚拟语气时态错位: 与现在相反用过去式、与过去相反用 had done,别混。主句的 would 结构要和从句配套(过去 would do / 过去完成 would have done)。
④ suggest 的两副面孔: 表「建议」→从句用 (should) do(虚拟);表「暗示/表明」→从句用陈述语气(该是什么时态就什么时态)。His smile suggested that he was happy(暗示,陈述) vs I suggested that he (should) leave(建议,虚拟)。insist 同理:坚持要求→虚拟;坚持认为→陈述。
⑤ be 用 were: 虚拟条件句 be 动词一律 were(If I were / If he were),书面尤其如此。
⑥ 「不可能」≠ mustn't: mustn't 是「禁止/不许」(义务),推测的「不可能」用 can't/couldn't。
⑦ if only / wish 记后悔: 后悔过去用 had done,埋怨现在用过去式,盼望将来用 would do。
⑧ 含蓄条件别漏虚拟: but for / without / otherwise 引出的隐藏假设,主句照样 would (have) done。
① 情态动词的两条主线:「现实性」与「非现实性」。 能力/许可/义务是「现实层」的态度;推测是「认识层」的判断(说话人有多大把握)。同一个 must,义务=「必须(外部要求)」,推测=「一定(我的判断)」——分清是「谁要求」还是「我猜」,选词就不慌。
② 「退一步」是统一钥匙。 别把三类条件句、wish、as if、it's time 当成一堆孤立规则背——它们全是同一动作:把真实时态往过去推一格来标记「非真实」。现在相反退到过去,过去相反退到过去完成(已经到底,不能再退)。理解这一层,新句型也能自己推。
③ 主句的 would 是「虚拟指示灯」。 阅读时看到主句 would / would have done,立刻反推:一定有个「和事实相反的假设」,不管它以 if、but for、without 还是名词短语的形式藏着。写作时反过来:先定假设的时间,再让从句和主句时态配对。
④ 错综时间条件句 = 两个时钟各走各的。 「当时没听劝(过去)→现在有麻烦(现在)」,前半 had done、后半 would do,两半按各自时间独立选时态再拼装。这类题只要拆成两个时间轴分别判断,就不会用错。
⑤ suggest / insist 靠语义切换语气。 「建议/坚持要求」是想让某事发生→虚拟 (should) do;「暗示/坚持认为」是陈述一个事实→用真实时态。判断标准不是单词,而是「这句话是在促成还是在陈述」——语气永远服从语义。
thebest2dan · 英语攻坚包 · 情态动词表「态度」,虚拟语气「退一步」——两块一起拿下