现在完成进行时

1.1 现在完成进行时的构成
肯定句:主语 + have/has + been + 现在分词…
否定句:主语 + have/has + not + been + 现在分词…
疑问句:Have/Has + 主语 + been + 现在分词…?
疑问代词/疑问副词 + have/has + 主语 + been + 现在分词…?

1.2 现在完成进行时的肯定句
句型:主语 + have/has + been + 现在分词…
现在完成进行时的肯定句由“助动词have/has + been(been是be动词的过去分词)+ 现在分词”构成:
I’ve been trying to find out her telephone number.我一直在查问她的电话号码。
They have been widening the road.他们在拓宽这条路。
She is very tired. She’s been typing letters all day.她很累了。她整天都在录入信件。

1.3 现在完成进行时的否定句
句型:主语 + have/has + not + been + 现在分词…
现在完成进行时的否定句是在助动词have/has后加not,之后是“be动词的过去分词been + 现在分词”:
I’ve not been feeling very well for the past few days.这几天以来,我一直感到不太舒服。
It hasn’t been working properly for three weeks.它已有3个星期运作不正常了。

1.4 现在完成进行时的一般疑问句
句型: Have/Has + 主语 + been + 现在分词…?
回答方式:Yes,主语 + have/has(been + 现在分词…).
No,主语 + have/has + not(been + 现在分词…).
现在完成进行时的一般疑问句是将助动词have/has置于主语之前(大写have/has的第一个字母),在句尾加问号;这种语序是倒装语序:
Have you been writing books for long? 你写书已经很长时间了吗?
Have you been working all morning? —Yes,we’ve been working4hours without a break.你们一上午都在工作吗? ——是,我们连续工作了4个小时没有休息。

1.5 现在完成进行时的特殊疑问句
句型:疑问代词/疑问副词 + have/has + 主语 + been + 现在分词…?
现在完成进行时的特殊疑问句是将疑问代词/疑问副词置于助动词have/has之前(have/has的第一个字母无需大写),和一般疑问句差不多;这种语序是倒装语序。就主语提问时,将疑问代词或带有疑问限定词的名词词组置于助动词have/has之前,在句尾加问号;这种语序是陈述句语序:
You look dirty. What have you been doing? —I’ve been cleaning the garage.你看上去很脏,干什么了? ——我一直在清扫车库。
You’ve taken your time! What on earth have you been doing? 你可真够慢的!你到底一直在干什么?

1.6 现在完成进行时的用法
1.表示过去发生并持续到现在的动作

现在完成进行时表示现在以前这一段时间里一直在进行的一个动作,这个动作可能仍在进行,也可能停止了一会儿:
How long have you been learning English? 你学习英语多久了?
How long has it been snowing? 雪下多久了? (还在下雪)
How long have you been studying here? —I’ve been studying here for five years.你在这里学习多久了? ——我在这里学习了5年了。(未间断过)
2.表示现在经常重复的动作
Jack has been phoning Jane every night for the last week.上星期杰克天天晚上给简打电话。
We’ve been seeing quite a lot of each other recently.最近我们常常见面。
3.用于得出结论
现在完成进行时可以表示根据直接或间接的证据而得出结论:
His eyes are red. He has been working too hard recently.他眼睛红了,准是最近工作太紧张了。

1.7 现在完成进行时与现在完成时的区别
现在完成进行时强调动作在某一时刻内一直在进行,而且动作现在有结果。到目前为止,该动作可能已不再继续进行,也可能还在继续进行,这要根据上下文来确定。句子中常含有“all + 表示时间的词语”,如all day(一整天),all morning(一上午),for(有……多久)和since(自……以来)。现在完成进行时通常表示尚未完成的动作;现在完成时则表示已完成的动作。有些动词如learn(学习),lie(躺),live(居住),rain(下雨),sleep(睡),study(学习),wait(等候),work(工作)等本身就有持续性,其现在完成进行时形式和现在完成时形式可以互换,惟一的区别是前者更强调动作的持续性:
Where have you been? What have you been doing? 你到哪里去了? 干什么去了?
I’ve been doing my homework.我一直在做作业。(还在做)
I’ve finished my homework.我已做完作业了。(已完成)
We’ve been talking to him all morning.我们今天一上午都在同他谈话。(可能还没谈完)
We’ve talked to him this morning.我们今天上午同他谈过话。 (已谈完)
现代英语,特别是口语,对于像lie(躺),sit(坐),stay(暂住),wait(等候)等动词,用现在完成进行时比用现在完成时更合习惯:
He has been sitting there studying all evening.他整个晚上都坐在那儿学习。
I’ve been waiting for you since morning.我从上午一直在等你。
We’ve been staying in a hotel since we came here.自从到这里以后,我们一直住在旅馆。

 


 

一、现在完成进行时的定义

现在完成进行时表示某动作从过去某个时间开始,一直延续到现在,并且还有可能持续下去。如:

Those cats have been screaming for hours. 那些猫叫了半天了。

We have been waiting for him for two hours. 我们等他等了两个小时。

The dollar has been climbing steadily all week. 整个星期美元一直在稳步增值。

 

二、现在完成进行时的结构

 现在完成进行时由“have / has been + 现在分词”构成。如:

Sales have been dropping off badly. 销售量一直减少得很厉害。

I have been waiting for an hour and a half. 我一直等了一个半小时了。

We’ll have been living here for two years by next Sunday. 到下星期日,我们在这里就住了整两年了。

 

三、现在完成进行时有哪些主要用法

1. 表示持续”:

即表示一个从过去某时开始一直持续的动作,这动作可能刚刚停止,也可能还在进行。如:

She has been pruning the roses. 她一直在修剪玫瑰。

He’s been helping himself to my stationery. 他未经许可一直用我的文具。

The children have been having a lot of fun. 孩子们一直玩得很开心。

She is very tired. She’s been working all morning. 她很累。她干了一早晨了。

Tom has been seeing about a work permit for you. 汤姆一直在想办法给你弄一个工作许可证。

The tobacco industry has been trying to improve its image. 烟草行业一直在试图改善其形象。

It has come to our knowledge that you have been cheating the company. 据我们了解你一直欺骗公司。

The group has been living in a remote corner of the Cambodian jungle. 该部落一直居住在柬埔寨的丛林深处。

2. 表示重复

即表示在一段持续的时间内动作的多次重复,而这个重复的动作在说话时并不一定在进行。如:

We’ve all along been making mistakes like this. 我们一直犯这样的错误。

Jim has been phoning Jenny every night for the past week. 一星期以来吉姆每天晚上给詹妮打电话。

 

四、与现在完成进行连用的主要时间状语

现在完成进行时所用的时间状语:all day / month; this month / week / year; these days; recently / lately; in the past few + 时间段; since +时间点; for + 时间段,等等。如:

He has been working all day. 他整天都在工作。

They have been building the bridge for two month. 两个月来他们一直在修桥。

They have been planting trees this month. 这个月来他们一直在植树。

 Car sales have been shrinking recently. 汽车销量近来一直在下降。

Vera has been trying to learn Chinese for years. 维拉努力学汉语已有好几年了。

He has been sleeping for ten hours. 他已经睡了十个小时了。

Jim has been phoning Jenny every night for the last week. 上星期,吉姆天天晚上都给詹妮打电话。

The two parties have been trying to unite since the New Year. 自从新年以来,双方就一直在试图联手。

 

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

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.

 

六、现在完成进行时典型考题(附详解)

1. Tom ______ in the library every night over the last three months.

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

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

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

2. Now that she is out of a job, Lucy ______ going back to school, but she hasn’t decided yet.

A. had considered      B. has been considering C. considered         D. is going to consider

分析:B。根据but she hasn’t decided yet (尚未决定) 可知,从开始失业时起一直在考虑再去上学,现在还在考虑。表示从过去某一时刻开始一直到现在,并且现在依然在发生的动作,用现在完成进行时,现在完成进行时由“have/has been doing”构成,所以选B

3. I won’t tell the student the answer to the math problem until he ______ on it for more than an hour.

A. has been working  B. will have worked   C. will have been working     D. had worked

分的:Ahas been working 为现在完成进行时,是许多中学生不太熟悉的一种时态,因此要想通过分析句子直接从正面选出答案可能有一定困难。但是,如果我们用排除法来分析,则问题变得很简单:首先,由于until引导的是时间状语从句,根据“主将从现”原则,当主句为将来时态时,时间状语从句不能直接用将来时态来表示将来意义,据此可排除BC; 而选项D为过去完成时,也不能选,因为“过去完成时”必须以“过去”为支点,表示“过去的过去”,但此句并没有过去时态这一支点,故此选项也被排除。

4. Cathy is taking notes of the grammatical rules in class at Sunshine School, where she ______ English for a year.

A. studies                 B. studied                 C. is studying            D. has been studying

分析:D。根据句中的现在进行时可排除B,再根据句中的for a year可知此题选现在完成进行时最佳,即选D

5. I have got a headache.

No wonder. You ______ in front of that computer too long.

A. work                    B. are working          C. have been working    D. worked

分析:C。由于在电脑前工作太久,所以导致了现在头痛的结果,故空格处应填现在完成时或现在完成进行时,即答案选C

6. —I’m sure Andrew will win the first prize in the final.

—I think so. He ______ for it for months.

A. is preparing           B. was preparing       C. had been preparing    D. has been preparing

分析:D。根据句中的…will win the first prize in the final可知,决赛还没有举行,所以下文谈到的“准备”指的肯定是从过去一直持续到现在的情况,故用现在完成进行时。

7. Excuse me, Marcia, a reporter from Vanity Fair ______ all day. Could you speak to her now?

A. phones                 B. has phoned           C. has been phoning   D. phoned

分析:C。根据句中的时间状语all day和谓语动词phone的特点(为非延续性动词)可知,句子应用进行时态(表示动作不断重复),而选项中只有C为现在完成进行时。句意为:玛西娅,打搅你一下,有名来自《名利场》的记者一整天都在打电话来,你现在能和他说说吗?又如:She is very tired. She’s been typing letters all day. 她很累了。她整天都在打信件。

8. Over the past decades, sea ice ______ in the Arctic as a result of global warming.

A. had decreased       B. decreased             C. has been decreasing  D. is decreasing

分析:C。介词短语“over the past [last]+时间段”的意思是“在过去的……时间中”,它指的是从过去某时持续到现在的一段时间,所以通常与现在完成时或现在完成进行时连用,故答案选C。句意为:过去几十年来,由于全球变暖,北极的海冰正慢慢消融。又如:Technology in this field has matured considerably over the last decade. 这一领域的技术经过过去10年的发展已经相当完善。

9. —Why, Jack, you look so tired!

—Well, I ______ the house and I must finish the work tomorrow.

A. was painting         B. will be painting      C. have painted          D. have been painting

分析:D。现在完成进行时表示从过去一直持续到现在的动作。在此题中,由于“一直在刷油漆”,所以才导致“看上去非常疲惫”,故选D最符合句意。

10. Mother wanted to be a good provider, a role she ______ since her marriage to Father.

A. shoulders              B. shouldered            C. is shouldering        D. has been shouldering

分析:D。根据空格后的since可知,此处谈论的是从过去一直持续到现在的情况,故用现在完成进行时最合适。

11. Joseph ______ to evening classes since last month, but he still can’t say “What’s your name?” in Russian.

A. has been going      B. went                    C. goes                     D. has gone

分析:A。根据句中的since可知,空格处应填完成时态,故可排除BC;根据句意,空格处填现在完成进行时比填现在完成时更合适,因为它更强调“一直在做某事”。又如:He has been working since noon. 他从中午就开始工作了。He was taken ill and no wonder, considering he has been overworking for years. 他生病了,也难怪,多少年他一直过度辛劳。

12. I have to see the doctor because I ______ a lot lately.

A. have been coughing B. had coughed       C. coughed               D. cough

分析:A。根据句中“不得不要去看医生”这一信息可知,“咳嗽”这一现象现在还在持续,由此可排除BC;比较AD,显然用现在完成进行时才能更好地表示从过去一直持续到现在的情况,故选A

13. —Hi, Tracy, you look tired.

—I am tired. I ______ the living room all day.

A. painted                 B. had painted           C. have been painting D. have painted

分析:C。表示从过去某个时间开始一直延续到现在的动作,要用现在完成进行时。all day 是关键词。

14. We ______ on this project for four hours. Let’s have a rest.

A. are working          B. have been working C. worked                D. had worked

分析:B。根据句中的let’s have a rest(我们休息一下吧)可知,连续工作四个小时导致我们现在很累了,所以用现在完成进行时比较合适。