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可能是正确的,但首要条件是考试的时间是以后,从句时间为过去,这是错综时间虚拟条件句。假如你认识到这一点,你就是正确的。假如你没认识到这一点,你还是不对的。