26. By the end of May 2003, Martha ____ in Australia for 30 years.

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:35:35
26. By the end of May 2003, Martha ____ in Australia for 30 years.
A. will have stayed B. will stay C. stays D. has stayed
怎么选?为什么?

选A,将来完成时。首先应排除B和C,因为句子中有for+时间段,因此可以确定是用完成时。
将来完成时用来表示在将来某一时间以前已经完成或一直持续的动作。经常与before+将来时间或by+将来时间连用,也可与before或by the time引导的现在时的从句连用。

A 是未来发生的事情,所以用WILL。

在MAY 2003的时候,她已经在澳大利亚住了30年,是过去的事情,已完成,所以用过去完成时。

D 后面有“for 30 years”
是现在完成时的标志 故……

D
by the end用于完成时态,且后面有for+时间段

选A
将来完成时