4. He _______ here for four years by the

4. He _______ here for four years by the time 2004.
A. will study B. has been studying
C. had studied D. will have been studying选哪个?

排除B 和D ,这两个选项时态一个是现在完成时,和将来完成,根据 by the time 2004 说明是过去的事情,所以已经过去了,A 表示 will将来要做的,所以选择C
1、首先要区分has been done与 had been done的区别:
sth have/has been done 是现在完成时的被动语态.表示某事被做,.
如:The problems have been solved.这些问题已经被解决了.
sth had been done 则是过去的过去,是过去完成的被动态时.(当你想说发生在过去的两件事时,就要分清谁先谁后.先发生的用过去完成时,后发生的要用过去时).
如:The rooms had been cleaned when I came.我来的时候,房间已经被打扫了.
2、区分has/have been doing与 had been doing
has/have been doing是现在完成进行时,并对现在有影响.
如句子:I have been dreaming all the night.
had been doing是过去完成进行时,也是过去的过去,需要时间先后顺序的对比.
如:I had been doing the cleaning before my mother arrived at home.
那么现在就可以区分had been doing 和had been done的区别了
3.had done 过去完成时,表示动作发生在前一动作之前(过去的过去)
have done 现在完成时。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-04
C. had studied
第2个回答  2015-09-04
选C追答

用过去完成时

祝学习进步,谢谢!

第3个回答  2015-09-04
c
第4个回答  2015-09-04
C