虚拟语气主句

Had he worked harder, he  (  ) the exams.

A. must have got through

B. would have got through

C. would get through

D. could get through

答案B.

但我个人认为,从句意和语法来说,任何一个选择都可以。不知道我的理解对吗?

麻烦老师分析一下,谢谢!


请先 登录 后评论

最佳答案 2019-08-16 12:49

Had he done sth = If he had done sth. 这是虚拟语气,表示与过去事实相反的假设,主句需要用虚拟语气,即主句必须含有情态动词过去形式would, could, should, might之一。由此可以排除must.

如果主句表示的是过去,则情态动词后的不定式用完成体have done。如果主句表示的是现在或将来,情态动词后的不定式用一般体do。

如果考试已经进行过了,他没有通过考试,则主句表示的是与过去事实相反的推测,谓语要用would/could/might have done形式。

如果考试还没有进行,则主句表示与将来事实相反的推测(即说话人认为他不可能通过考试)。则主句谓语用would/could/might do形式。

由于本句没有上下文,不知考试是否已经进行,所以通过考试可能是过去的事,也可能是将来的事,所以,B、C、D都可能是正确的。

但这可能是中学英语考试,考的是从句用had done, 主句用would have done. 是在套公式。所以给出了参考答案B。

你认为四个答案都正确,说明你的虚拟语气没有学好,must是错误的。

C、D可能是正确的,但前提是考试的时间是将来,从句时间为过去,这是错综时间虚拟条件句。如果你认识到这一点,你就是正确的。如果你没有认识到这一点,你还是错误的。

请先 登录 后评论

其它 0 个回答

  • 0 关注
  • 2 收藏,2918 浏览
  • Long2019 提出于 2019-07-27 14:49

相似问题