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.
但我个人认为,从句意和语法来说,任何一个选择都可以。不知道我的理解对吗?
麻烦老师分析一下,谢谢!
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可能是正确的,但前提是考试的时间是将来,从句时间为过去,这是错综时间虚拟条件句。如果你认识到这一点,你就是正确的。如果你没有认识到这一点,你还是错误的。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!