过去时态到底应该选择那个。。晕乎。。

来源:百度知道 编辑:UC知道 时间:2024/07/07 21:15:02
He is now working in an IT company,but he ____ in the college for about 10 years.

A) has been teaching
B) has taught
C) taught
D) had taught

这题答案是C,老师讲的时候是说这个是强调现在与过去的一个对比,所以不选择B,只能选择C,如果只有后半句,可以选择B。
我刚做选B来着。。。

我关键看不出来什么情况下就是这种对比的句子,什么情况下不是。。。

可否这么理解。现在完成时是过去结束的动作,并且对现在有影响,但后面的句子(当教师10年)似乎对前面(又去做it了)没什么影响。
所以就不选B了。。。

弄的我晕啊。。。

这个不知道你们正学什么,我的感觉也是C啦。首先,这句话当中有个but,就是说后半句说的和前半句情况肯定有出入。所以has been teaching以及has taught基本都可以排除,鉴于你迷惑于B,给你重点讲一下,has done有两种意思,一种是过去做了一件事,直到现在还在做并将持续做下去e.g. I have been in Jiangsu Province since I was born;第二种意思是过去做了某事当时这件事结束做完了,但其影响还在。e.g. I has been educated for 12 years in my hometown. 所以这句话如果你选B,两种意思都解释不通,反而你选C的话,句子前后有时态的对比,让人对他的工作状况一目了然。至于D嘛,其实就是B的两种意思放到过去的时间里面去表达,亦即:前句用了is的话你看都不用多看一眼!

明白了吧?呵呵

你选得好像对呀!

在语句中,say、talk等的过去试前面不用加什么了啊.
象He said:...... I toght...等等

这个题B和C都算对,关键是看强调什么,B强调的是在公司之前已经做过10年的教师工作了;C强调的只是一般的陈述事实,现在干什么,以前干什么。像这样的模棱两可的题大可不必下功夫扣它们,考试时是不会出的。小时候我作这样的题就很痛苦,好在你们可以有网络随时向大家求助