1 动词时态(涉及进行时和完成时)

           for two hours but nobody has arrived yet.

A.am waiting

B.waited

C.have waited

D.have been waiting

请老师详细讲解这道题,谢谢老师啦!

请先 登录 后评论

最佳答案 2018-01-18 15:12

I  ________ for two hours but nobody has arrived yet.

A.am waiting

B.waited

C.have waited

D.have been waiting

我认为,C 和D 两个答案都对,D 更佳。

我比较同意张老师的观点,现在完成进行时,可以表示某种感情色彩。

现在完成进行时,表示动作从过去某一时间开始一直延续到现在,除此之外,可能还表示目前正动作在进行,并且有可能持续下去,有时带有强烈的表扬或厌恶等感情色彩。例如:

I have been looking forward to seeing my family. 我一直期盼着见到我的家人。

My granny has been warning us of our studies. 我奶奶一直在提醒我们学习。

He has been waiting for an hour but his girlfriend still hasn't turned up. 他已经等了一个小时,可她女朋友还没来。

现在完成进行时,除了带有强烈的表扬或厌恶等感情色彩以外,我再补充一个重要的语言点:一些表示延续的静态动词,使用现在完成进行时比使用现在完成时更为常见,这样的静态动词主要有lie, sit, wait, stand, rest, stay, live, rain, work, study, learn 等。

She has lain in bed for a week.

She has been lying in bed for a week.(更常见)

她已经卧床一周了。

How long have you lived here?

How long have you been living here? (更常见)

你住在这儿多长时间了?

He has waited for an hour but his girlfriend still hasn't turned up.

He has been waiting for an hour but his girlfriend still hasn't turned up. (更常见)

他已经等了一个小时,可她女朋友还没来。

请先 登录 后评论

其它 3 个回答

曹荣禄  
擅长:动词用法,句法问题

I            for two hours but nobody has arrived yet.

A.am waiting

B.waited

C.have waited

D.have been waiting

从第二分句的现在完成时,可以推知for two hours的截止时间是说话时(现在),因此逻辑意思为:我等了两个小时了,但一个人都没有到。等待是从两小时前等到说话时的动作。很多语法书都说wait这个动词的现在完成时和现在完成进行时差别不大,可以互换使用。但二者还是有细微的差别。现在完成进行时更强调等待的过程,而现在完成时更强调结果。等的目的就是等人,但人却没有等到,说明这里更强调结果意义。因此我认为现在完成时似乎更贴切一些。我会选择C,现在完成时。A现在进行时不可以和for时间状语连用。B一般过去时和现在无关,无法和第二分句构成有机联系。

如果这个句子的后半句改为:and I feel quite tired.则意味着强调等待的过程,这时就该选在现在完成进行时:

I have been waiting for two hours and I feel quite tired.

请先 登录 后评论
张成  
擅长:英语考试

I ____ for two hours but nobody has arrived yet.

Aam waiting B. waited C. had waited D.have been waiting

【参考译文】

等了两个钟了,可是一个人都没来。

【参考解析】

我觉得本题最佳答案为D. 现在完成进行时与现在完成时有个很大的区别在其可以表达主观的感情色彩,而现在完成时通常只表示客观陈述。正如本人上文拙译,我以为这里更可能的情形是,说话者对其等待那么久而未出现其期待之结果表达一种无奈遗憾不满等情绪。

【个人观点 仅供参考】


请先 登录 后评论
陈才   - 英语教师
擅长:中考英语,词法问题


I    for two hours but nobody has arrived yet.

A.am waiting

B.waited

C.have waited(完成/结束影响性用法)(等待动作持续2小时候结束)

D.have been waiting(未完成/未结束持续性用法)(等待动作持续2小时还未结束,还在继续等待)

D为最佳答案。在等待时间长达2小时时,仍然没有人达到,这是等待动作还没有结束,还在持续。因此用现在完成进行时态。

现在完成进行时与现在完成时的区别

(1)现在完成时强调动作的完成,而现在完成进行时强调动作的延续,因此,表示动作的完成,只能用现在完成时,一般不能用现在完成进行时。

现在完成时态强调的时间未指明或不确定的过去动作对现在造成影响和结果。

不接时间段的瞬间动词的/持续性动词“结束完成影响性用法

He has changed his idea. =He has a new idea now

他改变了想法。

I have interviewed eight interviewees, much quicker than scheduled.

我已经面试了八个人,比原计划快多了。

备注:如果仅说明时间末指明、不确定的过去动作所带来的结果仍不能满足交际的需要,则需要现在完成时态与一般过去时态一起使用,对当时动作的执行情况加以描述。

-Have you consulted the directors about the present situation of electricity shortage?

你和主任们讨论过近来电力短缺的问题了吗?

-Yes,( I have.) Director Zhang and I talked over this last Saturday.

是的,上周六我和王主任讨论了。

(2)在表示动作的延续时,虽然既可用现在完成时,也可用现在完成进行时,但现在完成进行时更强调动作的持续进行。因此在需要明确表示动作还要持续下去时,应用现在完成进行时。

We have been studying here for two years. 

We have studied here for two years.

我们在这儿已经学习了两年了。

(3)在许多情况下,现在完成时表示动作已经完成,而现在完成进行时却并非如此。

He has cleaned the window. 

他把窗户擦干净了。(动作已完成)

He has been cleaning the window.(His clothes are very dirty, the window is very clean 结束)

(Don’t touch the window 动词还未结束)

 他一直在擦窗户。(动作不一定完成)

(4)现在完成进行时强调动作,而现在完成时强调结果。

Who has been eating the oranges?
谁一直在吃这些桔子呀?(还剩余一些)
Who has eaten the oranges?
谁把桔子吃光了?(强调吃得一个不剩)

(5)现在完成进行时有时含有感情色彩,而现在完成时一般是平铺直叙。
 I have been waiting for you for two hours.
 我一直等了你两个小时。(可能表示不满)
 I have waited for you for two hours.
 我等了你两个小时。(说明一个事实)

(6)现在完成进行时可以表示动作的重复,而现在完成时一般不表示重复性。
 Have you been meeting him recently?(表示经常相会)
 你最近常和他见面吗?
 Have you met him recently?(没有经常相会意思)
 你最近见到过他吗?

have been practicing playing the piano.
我一直在练弹钢琴。

I have practiced playing the piano.

我已经练习弹钢琴。

 


请先 登录 后评论
  • 2 关注
  • 2 收藏,4543 浏览
  • 小鲤鱼泡泡 提出于 2017-08-23 21:40

相似问题