两道英语选择题

1、He works in Canada now,but he _____ in China for five years.
A、worked B、has worked C、had worked D、has been worked
答案选A。为什么不选C
2、—He speaks French because he lived in France when he was young.
—Really?How long ____ there?
A、does he live B、is he living C、has he lived D、did he live
答案选D。为什么不选C

1、He works in Canada now,but he _____ in China for five years.
A、worked B、has worked C、had worked D、has been worked
答案选A。为什么不选C
答:这是近年常考的一个题型,就是一般过去时与for+一段时间连用,表示过去曾经发生过的一件事(延续了一段时间),但不强调与现在的关系。因为for+一段时间常跟完成时连用,所以BC是两个很容易被选中的项。D. 容易排除,因为work为不及物动词。
记住:现在完成时的延续性用法,表示这个动作或情况持续到现在,过去完成时则持续到过去某个时间点。是过去的过去,而不是“过去所发生的事”。
译:他现在在加拿大工作。但他曾经在中国工作过五年。
 B. 他已经在中国工作了五年了。(现在就在中国,与事实不符。排除B.
C.如加上一个before he went to Canada就对了。没有这个过去时间作参照,就不能用过去完成时。
2、—He speaks French because he lived in France when he was young.
—Really?How long ____ there?
A、does he live B、is he living C、has he lived D、did he live
答案选D。为什么不选C
答:这一题与上一题如出一辙!只不过将for +一段时间改成了(For ) How long,而成为一个疑问句罢了。
译:他会说法语因为他小时候曾经在法国生活过。
  真的吗?他在那儿生活了多久?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-10
第一题不是A,是C,因为文中说for 20 years 那么就会是20年前已完成的,所以是D。第二题文中提到lived,就是过去式,所以是D 。希望采纳
第2个回答  2011-12-10
1,前面是一般现在时 你选C是过去完成时 是过去的过去 他现在在加拿大工作 在这之前在中国 就是一般过去式就可以了
2,第一句交代了是过去时 小时候住在法国 l选C是完成时态 表状态
第3个回答  2011-12-10
因为是现在进行时
过去式
相似回答