沪江

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

Hayden整理 2017-11-28 16:09
本文支持点词翻译 Powered by 沪江小D

英语的现在完成进行时表示某动作从过去某个时间开始,一直延续到现在,并且还有可能持续下去。这个是大家在中学时期就知道的,今天,小编为同学们带来了相当丰富的与英语现在完成进行时的相关语法,一起来看看吧!

 

1. 现在完成时强调动作的完成,而现在完成进行时强调动作的延续,因此,表示动作的完成,只能用现在完成时,而不能用现在完成进行时。如:

He has changed his idea. 他改变了想法。

 

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

We have been studying here for two years. 我们在这儿已经学习了两年了。

 

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

He has cleaned the window. 他把窗户擦干净了。(动作已完成)

He has been cleaning the window. 他一直在擦窗户。(动作不一定完成)

 

4. 有些静态动词只能用于现在完成时,一般不能用于现在完成进行时。如:

I’ve known him for many years. 我认识他有许多年了。

The war has lasted for a long time. 这场战争持续了很长时间。

 

5. 有少数动词(如live, work, teach, study等)用两种时态都可以,意思差别不大。如:

I’ve lived [been living] here for 30 years. 我在这儿住了30年了。

How long have you worked [been working] here? 你在这里工作多久了?

 

6. 现在完成时与现在完成进行时的相通性:在表达一个从过去开始而现在仍在继续或刚刚结束的动作时,

某些动词既可以用现在完成时,也可以用现在完成进行时,如 expect, hope, learn, lie, live, look, rain, sleep, sit, snow, stand, stay, study, teach, wait, want, work等。

如:你学习英语多久了?

正:How long have yon learnt English?

正:How long have you been learning English?

他已经睡了十个小时了。

正:He has slept for ten hours.

正:He has been sleeping for ten hours.

 

例题:Tom ______ in the library every night over the last three months.

A. works B. worked C. has been working D. had been working

分析:C。over the last three months 的意思是“在过去的三个月期间”,这类时间状语通常通常与现在完成时或现在完成进行时连用,四个选项中只有C符合此要求。又如:

Food and drink culture in Britain is surely changing, has surely changed over the last two decades. 在英国,饮食文化肯定正在不断地发生着改变,并且在过去二十年中肯定已发生过不少变化。

 

怎么样,看完了小编给大家准备的语法知识,有没有感觉收获颇多呢?喜欢就收藏起来吧~

展开剩余