这道英语选择题

HeisnowworkinginanITcompany,buthe____inthecollegeforabout10years.A)hasbeenteachingB)h... 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,我一直没搞懂为什么,求各路大师帮帮忙!说明一下理由和语法,谢谢亲们~~~~!!!
展开
nbyoungor
2013-07-25 · TA获得超过1.4万个赞
知道大有可为答主
回答量:6679
采纳率:0%
帮助的人:3038万
展开全部
答:此题为人工考题。近几年流行的模拟题。逆袭现在完成时延续性用法。
首先要理解句意。其次要知道,自高三教材“爱迪生曾经领军世界发明第一人60年”一句话(见后)被发现以来,一般过去时和for +一段时间连用经常出现在考题中。
It is said in the book that Thomas Edison (was )the world leading inventor for sixty years.
这是其中一题。that后面的是教材中的原话。后来根据这句话,编出很多这样的题。

第一句话是说“他现在正在一家IT公司工作。”第二句话,如果你选A,则说明,他现在还在大学教书,就与第一句话矛盾了!所以A肯定要排除的。A和B的区别是:前者表示“他一直在大学教书近10年,现在还在教书,并有可能继续教下去”。后者表示“他已经在大学里教了约10年的书了”,言下之意,他不是个新教师。他有一定的教学经验,或有别的含义,看上下文(所谓的过去的行为,对现在有影响或结果,想表达的就是这个结果或影响)。而他接下去还在不在大学教,说话者并不关心,我们也不知道。也许他辞职书已经交了。比如他在IT公司面试求某职时(该职务的业务和大学有关,在大学里教过几年书的老师有优势,他可能会在求职信中写上:I have taught in the college for about 10 years. (我已经在大学教过约10年的书)【刚辞职不干了】,或I taught in the college for about 10 years. 我曾经在大学里教过10年书,【几年前的事情,实事求是】)

其实,本题出得并不严谨,考虑了兼职或暑期该教师临时在IT公司打工的话,选B也没什么不行的!
VTOP李潮
2013-07-25 · TA获得超过201个赞
知道答主
回答量:142
采纳率:0%
帮助的人:53.5万
展开全部
but 这表示时间前后的对比 前半句时间为现在 那后半句为过去 两者之间没有联系 不存在先后顺序 因此不用完成时

一般过去时一般只出现一个表过去的时间,而过去完成时则应出现两个表过去的、有先后时间或动作!
1. 一般过去时表示说话人关心过去某动作发生的“时间”,所以往往有表过去的时间!如有two days ago, last week, yesterday等等。
He came here two years ago.
We played basketball last week.
2.过去完成时则主要体现过去发生的两动作的先后有别,表达的是“过去的过去”,即比过去发生的某动作都还要“过去”,两动作中先发生的就用过去完成时,后发生的则只用一般过去时。运用过去完成时的句子往往有两过去的时间或动作,一定要注意这点哟!
Mr Green had lived in New York for ten years before he came to China.("来”中国已过去,而先前“住”在纽约更过去!)
We had learned 1000 words by the end of last term. “上期期末”已过去,而是在其前“学”的就更过去了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微辰渺渺
2013-07-25
知道答主
回答量:24
采纳率:0%
帮助的人:5.2万
展开全部
首先A选项为现在完成进行时,表示从过去到现在一直在做某事,与前半句话句意冲突,排除

其次B选项为现在完成时,表示某一动作从过去持续到现在并有可能继续持续下去,也与前半句话句意矛盾,排除;再看D选项,为过去完成时,是指过去的过去在做某事,显然不正确,排除;而C选项为一般过去时,虽然句末有for+一段时间,但他在大学教书这个动作确实发生在过去,与现在没有任何联系,所以选C
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dee1c21
2013-07-25 · TA获得超过258个赞
知道答主
回答量:91
采纳率:100%
帮助的人:50.1万
展开全部
这个不知道你们正学什么,我的感觉也是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的话你看都不用多看一眼!
明白了吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c20c2ec
2013-07-26 · 超过13用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:42.4万
展开全部
选C ,我做过类似的题 。
一般容易被for给迷惑,这就是此题的陷阱。现在完成时是表示过去的动作对现在有影响或一直持续到现在。再看这道题。过去在大学教书。现在在IT公司。两者没什么联系,所以不能看做过去对现在有影响。过去教书也没有持续到现在。因此不能用完成时。相比之下,用过去式更恰当。谢谢,希望对您有帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(15)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式