首页 > 留学知识库

问题: He will have learned English for five years by the

time he ___from school next year.
a.will graduate B.will have graduate C.graduates D.is to graduate
这题请大家一定要多讲讲 因为我时态是一考就错 有什么窍门吗?就这题吧 为什么A,B,D都不可以呢?我在这里就先谢谢拉!拜托拉!

解答:

你注意看一下选项A B D 都是给的将来时态. A 是一般将来时 B是个错的,如果是will have done sth则是个虚拟语态 C是be to结构,也是表示将来的一种说法.如果说be to graduate就是说他马上就要毕业了.强调的是'马上',在短期内.而A的一般将来时而没有很强调'马上'的意思,一般的表示未来会发生的事.
再看题干, He will have done sth也是虚拟语气,不过是真实的虚拟语气,如果不懂这个可以这样想,这里表示未来肯定会发生的事,这句话的意思是说,到明年他毕业的时候,他就已经学了五年的英语了.这是一种很肯定的猜测. 因此, 在表示未来可能性非常大的事情时,可以用will have done sth 或 must have done sth. 所以前面已经表示对未来的很肯定的猜测,后面就不能再用将来时了,中文也说不通是吧?因此就要先一般现在时的C啦
这是英语学习里的重点 也是难点 建议你最好找本薄冰或张道真的语法书看看,或者是找本高中简明语法书看,肯定比你在这里问的强.
供参考