题目
If my lawyer ______ here last Saturday, he ______ me from going.A. had been; would have preventedB. had been; would preventC. were; would preventD. were; would have prevented
If my lawyer ______ here last Saturday, he ______ me from going.
A. had been; would have prevented
B. had been; would prevent
C. were; would prevent
D. were; would have prevented
题目解答
答案
A. had been; would have prevented
解析
本题考查虚拟语气在条件句中的用法,核心在于判断时间关系和动词形式的正确搭配。
- 条件句类型:题目中的时间状语是
last Saturday(过去时间),因此条件句需使用与过去事实相反的虚拟语气结构。 - 动词形式:
- 条件句部分应使用
had + 过去分词(即had been)。 - 主句部分需用
would have + 过去分词(即would have prevented)。
- 条件句部分应使用
- 干扰项分析:选项B混淆了
would prevent(用于与现在事实相反的情况),选项C、D错误地使用了were(适用于与现在事实相反的条件句)。
条件句结构分析
- 时间判断:题目中的时间状语
last Saturday明确指向过去,因此条件句需表达与过去事实相反的假设。 - 条件句形式:
- 与过去事实相反的虚拟语气结构为:
If + 主语 + had + 过去分词 + ... - 因此,条件句中应填
had been(对应选项A、B)。
- 与过去事实相反的虚拟语气结构为:
- 主句形式:
- 主句需用
would have + 过去分词表示对过去的虚拟结果。 prevent的过去分词为prevented,因此主句应填would have prevented(对应选项A)。
- 主句需用
排除干扰项
- 选项B:
would prevent用于与现在事实相反的情况(如时间状语为now),与题干时间矛盾。 - 选项C、D:
were用于与现在事实相反的条件句(如时间状语为now),与题干时间不符。