表示短暂动作的动词(如finish,marry,get up. come.go 等)不能用现在完成时。

老师说表示短暂动作的动词(如finish,marry,get up. come.go 等)不能用现在完成时。可是下面的句子就是短暂动词的完成时。这是不是矛盾? The skating marathon has been going for five hours now,and several skaters are still skating. 译:现在滑冰马拉松赛已经进行了五个小时,几名参赛者还在继续滑。这里的go是短暂性动词也是用了现在完成进行时,为什么与上面说的不一样呢?

瞬间动作转瞬即逝,不可能在一段延续的时间内反复进行,因此这类动词不能与延续性时间状语连用,如 for …、since …一类的时间状语。

 

但是,瞬间动作也可以发生在说话以前并给现在的情况造成影响,这种情况就需要用现在完成时。例如:

 

    Who has open the door? 谁把门打开了?(现在门还开着)

    He has stopped his car in the park. 他把车停在停车场。(车现在还在停车场停着)

 

有些动词一词多义,有的意思表示瞬间行为,有的意思则表示延续行为。就 go 而言,表示“离开”的时候是瞬间行为,表示“进行”的时候则是延续行为。例如:

 

    He has gone out just now. 他刚出去。(现在不在这里)【瞬间动词】

    My friend has gone abroad. 我朋友已经出国了。(现在不在国内)【瞬间动词】

    I have been going by my own decision. 我一直都按照自己的决定行事来着。【延续性动词

    The bell has been going for a period of time. 铃声已经响了一阵子了。【延续性动词】

 

本句正如译文“现在滑冰马拉松赛已经进行了五个小时”说的那样,go 表示的是“进行”,因此在此处是延续性动词,而不是瞬间动词。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-10
短暂性动词只是不可以跟一段时间连用(for five hours)
短暂性动词也有现在完成时(比如:I have finished my homework)
可以说The skating marathon has been going for five hours now,and several skaters are still skating.
是因为这句的谓语动词是be 而不是go追问

你说这句的谓语动词是be 而不是go,可是你知道这句不是现在完成时,而是现在完成进行时。既然是现在完成进行时,为什么动词是be而不是go?

追答

非常抱歉,我看走眼了
你说得对这句是现在完成进行时,谓语动词时go
对于你的疑惑,我可以解释的
你们老师在罗列短暂动词的时候并没有讲解那些动词的意思
实际上,go 有不同的意思,所以有短暂性也有延续性
go 当去;走讲是短暂的
而当进行讲就是延续性动词了,这个句子中go 就是进行的意思

第2个回答  2013-08-10
表示短暂动作的动词能用于现在完成时,但一般要用另外的词代替。比如:
He has been back home for seven days,他回来7天了。
类似的句子还有很多,这就需要lz死记硬背了
第3个回答  2013-08-10
going for不是going