he __ for three hours. A。has bought it B. has received it C.has got here D.hasn't come here

如题所述

He __ for three hours.
A。has bought it B. has received it C.has got here D.hasn't come here
答:不知道是哪个菜鸟老师出的谬题。没有一个正确答案。
析:本题似乎是考查现在完成时的延续性用法。而前三项buy sth. receive sth. get somewhere=arrive somewhere 都 是短暂性或者说是结束性动词。可用于现在完成时的结束性用法。如没有for three hours, 则ABC皆可。意为:
A他已经买了。
B他已经收到了。
C他已经到了。
所以用排除法得D
然而D是一个错误的题句!
我估计出题者是受了not ...until 句式的影响,作了错误的迁移。我们知道, till, until 状语,主句中的谓语动词也是必须延续性的如:
He worked till 12 o'clock last night. work 工作可以一直延续到12点。
但是否定的结束性动词表示一种状态,也可以与until 状语连用如:
He didn't go to bed until 12 o'clock last night. 没上床是状态,可以延续到12点结束。
注意,主句不用现在完成时。
出题者以为hasn't come here 与didn't go to bed 类似,表状态,可以延续。
殊不知,这样的题句是不符合逻辑的!
试译:他还没有到这里已经有三个小时了!
哦,可能我想多了,出题者并不是受not 。。。until...的影响。而是受本身有些结束性动词的否定式可以用于现在完成时延续性用法的影响而造出这个题句来的:
We haven't seen each other for ages.
Sky造 的两个句子:
例:I haven't left here for 3 years. I haven't heard from him for 3 weeks.
也是可以的。没有听到他的消息有三个星期了。可以说,三周前有过一次他的消息,然后没有了他的消息,这种状态延续到现在已经有三个星期了。合理。
前一句也还可以。三周前发生过离开这里的动作。然后回来,就一直没有发生过再离开这里的这个动作。这是一种状态,这个状态(也就是呆在这里)一直延续至今,有三个星期了。
然而He hasn't come here for three hours. 却是不符合语言逻辑的。
一般说:He hasn't come here yet. 他还没有来。就是到现在还没有来这里。可能在路上,也可能在家里。
但要说:有三个小时了,请问是什么状态延续了三个小时呢?从什么时候算起呢?如果是他在家,可能从前天晚上开始,他都一直在家呆着!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-12
for three hours 表示持续了一段时间,所以前面应当用的是持续性质的动词。

bought,received,come 都是即时性动词,只有答案C合适。

选C

释义:他到达这儿已经有3个小时了。

还请楼主能轻点一下问题下面“满意答案”追问

可是答案是最后一个。怎么搞的

追答

那我也不解了,回去问问老师,我的立场是答案错误。看看老师的答案吧。楼下是英语专家吧,也是选的C,支持我的答案。

楼下答案很长的那位朋友 解释和答案相矛盾了。

第2个回答  2013-03-12
您好!很高兴为您解答!
答案选C for three hours“三个小时”for跟时间段,所以用延续性动词got
翻译:他到达那里3个小时了

希望可以帮到您,祝您成功!
第3个回答  2013-03-12
答案选C.has got here

解释:buy,receive,come是短暂性动词,不能与一段时间连用,所以正确答案是C.has got here。
第4个回答  2013-03-12
正确答案为D. 其他几项都是短暂性动作,不可持续。
He hasn't come here for three hours.
相当于:He has been away from here for three hours.