# 英语时态

Written by Fowafolo An

# 关键词的理解

## 关于时间

• 现在：发生在现在的事情
• 过去：发生在过去的事情
• 将来：发生在将来的事情
• 过去将来：在过去发生在将来的事情

He said that he would do XXXXXXXXXX.

## 基本时态

• 一般时态：用来描述一件习惯性、常见的事情或者真理，翻译的时候do只能翻译出，这种时态本身不能翻译出来别的字。
• 进行时态：用来描述正在发生的一件事，翻译的时候do变成doing，能翻译出在做的意思，最关键的就是一个字。
• 完成时态：用来描述已经发生的一件事，翻译的时候do变成have done，能翻译出做了的意思，最关键的就是一个字。
• 完成进行时态：用来描述一直以来都在发生的一件事，翻译的时候do变成have been doing，能翻译出一直在做，最关键的就是一直在

# 细解时态

## 一般现在时

### 用处

• 表示现在经常或者习惯的动作

My sister wears glasses. 我妹妹戴眼镜。

He often goes to the cinema. 他经常去看电影。

• 表示现在的情况或者状态

Mother is ill. 母亲病了。

He is always like that. 他总是那样。

He likes living in the country. 他喜欢住在乡下。

We need a lot of money. 我们需要一大笔钱。

• 表示能力、特征、职业等

He sings well. 他唱歌唱得好。

Mr. Smith teaches French. 史密斯先生教法语。

• 客观真理、科学定理、格言等不受时间限制的客观存在

Summer follows spring. 春去夏来。

Knowledge is power. 知识就是力量。

The earth turns around the sun. 地球绕着太阳转。

### 练习

1. I __ ping-pong quite well, but I haven’t had time to play since the new year.

A. will play B. have played

C. played D. play

【分析】D。“我的乒乓球是打得相当好的，但自新年以来还一直没有时间去打。”球打得好是现在已有的技能，故用一般现在时。

2. You’re drinking too much.
—Only at home. No one __ me but you.

A. is seeing B. had seen

C. sees D. saw

【分析】C。由 only at home 可知“我”只在家里喝得多，除你之外，没有人看见。谈的是现在一般性情况，故用一般现在时。

3. It __ long before we __ the result of the experiment.

A. will not be; will know B. is; will know

C. will not be; know D. is; know

【分析】C。句意为：不久之后我们就会知道实验结果。在句型 It is not long before?不久之后就…)中，before 引导的是时间状语从句，用一般现在时表将来。

4. Months ago we sailed ten thousand miles across this open sea, which __ the Pacific, and we met no storms.

A. was called B. is called

C. had been called D. has been called

【分析】B。因为这是客观事实，现在也叫太平洋，用一般现在时。

5. —What would you do if it __tomorrow?
—We have to carry it on, since we’ve got everything ready.

A. rain B. rains

C. will rain D. is raining

【分析】B。在条件句中用一般现在时表示将来。

6. —What are you going to do this afternoon?
—I am going to the cinema with some friends. The film __ quite early, so we __ to the bookstore after that.

A. finished, are going B. finished, go

C. finishes, are going D. finishes, go

【分析】C。由问句和答语I am going…可知，要用将来时态，排除选项A和B; 电影的开始和结束是影院在时刻表中已有的计划，用一般现在时表示，表示最近的打算或安排，可用现在现进时表示。

## 一般过去时

### 用法

• 表示过去发生的动作或存在的状态

He bought the computer five years ago. 这电脑是他五年前买的。

It was then a small fishing village．那时它只是一个小渔村。

• 表示过去经常性或习惯性的动作

We often played together when we were children．我们小时候常在一起玩。

He used to go to work by bus. 他过去常乘公共汽车去上班。

### 练习

1. Helen __ her keys in the office so she had to wait until her husband __ home.

A. has left; comes B. left; had come C. had left; came D. had left; would come

解析：答案选 C。leave 应发生在 had to wait 这个过去动作之前，“过去的过去”用过去完成时; 后一空用一般过去时表示过去将来。

2. —Nancy is not coming tonight.
—But she __!

A. promises B. promised C. will promise D. had promised

解析：答案选 B。“但她曾经答应要来的”，过去的许诺，故用一般过去时。

3. —You haven’t said a word about my new coat, Brenda. Do you like it?
—I’m sorry I __ anything about it sooner. I certainly think it’s pretty on you.

A. wasn’t saying B. don’t say C. won’t say D. didn’t say

解析：答案选 D。用一般过去时，指“我刚才没急于说”。

4. All morning as she waited for the medical report from the doctor, her nervousness __.

A. has grown B. is growing C. grew D. had grown

解析：答案选 C。紧张伴随等的过程而产生，应同时发生，waited 是一般过去时，grow 也用一般过去时。

5. I thought Jim would say something about his school report, but he __ it.

A. doesn’t mention B. hadn’t mentioned C. didn’t mention D. hasn’t mentioned

解析：答案选 C。只描述过去所发生的情况，但没有强调对现在的影响，用一般过去时。

6. I __ while reading the English textbook. Luckily, my roommate woke me up in time!

A. had fallen asleep B. have fallen asleep C. fell asleep D. fall asleep

解析：答案选 C。描写过去发生的情况用一般过去时。

7. Sales of CDs have greatly increased since the early 1990s, when people __ to enjoy the advantages of this new technology.

A. begin B. began C. have begun D. had begun

解析：答案选 B。when引导的是一个非限制性定语从句，when指20世纪90年代初，当然用一般过去时。

8. —I hear Jane has gone to the Holy Island for her holiday.
—Oh, how nice! Do you know when she __?

A. was leaving B. had left C. has left D. left

解析：答案选 D。因为Jane已经度假去了，“离开”此地就当然是在此之前的过去某个时间了，所以用一般过去时，选D。另外，when通常都不与完成时连用，排除B和C，A也与语境不符。

## 一般将来时

### 基本构成

will/shall do sth. = be going to do sth. = be (about/due) to do sth. = be + 现在分词

The students are leaving on Sunday. 学生们星期日出发。

### 用法

• 表示在现在看来即将要发生的动作或存在的状态

What will you do this afternoon. 你今天下午干什么？

We will have a meeting tomorrow. 我们明天要开会。

He is going to study abroad next year. 明年他要出国学习。

### 【可略】各种表示法的比较

(1) “will / shall＋动词原形”与“be going to ＋动词原形”>

I think it’ll rain this evening. / I think it’s going to rain this evening. 我想今晚会下雨。>

I won’t tell you about it. / I’m not going to tell you about it. 我不会把这事告诉你的。>

① 若是强调某个意图是经过事先考虑好的，则通常要用be going to；若是表示某个意图没有经过事先考虑，而是在说话的当时才临时想到的，则通常用will。比较：>

“Ann is in hospital.” “Oh, really? I didn’t know. I’ll go and visit her.” “安住院了。”“啊，真的吗？我还不知道。我要去看看她。” (临时想法，不能用be going to)>

“Ann is in hospital.” “Yes, I know. I’m going to visit her tomorrow. “安住院了。”“我知道，我打算明天去看看她。” (事先考虑的意图，不能用will)>

② 若是有迹象表明要发生某事，通常只用be going to，不用will：>

Look at those black clouds. It’s going to rain. 看那些乌云，要下雨了。>

③ 带有时间或条件状语从句的主句通常不宜用be going to，而用will：>

When he comes back, I will tell him the news. 他回来时我就告诉他这个消息。>

If he comes back, I will tell him the news. 他若回来我就告诉他这个消息。>

(2)“be going to+动词原形”与“现在进行时”>

① be going to主要表示主观想法或意图，而现在进行进表示将来则主要已经强调作出的安排。比较：>

I’m going to wash the car if I have time. 若有时间我想洗洗车。(主观想法)>

I’m picking you up at 6; don’t forget. 我6点钟来接你，不要忘了。(已作出的安排)>

② 但是当要表示主观无法控制的预测时，通常要用be going to，不能用现在进行时态：>

It’s going to snow before long. 不久会下雪。>

Things are going to get better soon. 情况很快就会好起来。>

③ 当表示坚持要(不要)某人做某事时，两者均可用：>

She’s taking [going to take] that medicine whether he likes it or not. 不管她喜欢不喜欢，她都得吃那药。>

You’re not wearing [going to wear] that skirt to school. 你不可以穿那条裙子去上学。>

(3) “be going to+动词原形”与“be to+动词原形”的区别>

Where are we going to stay tonight? 我们今晚住哪里？>

I’m (going) to play tennis this afternoon. 我打算今天下午打网球。>

Look, it’s going to rain. 看，要下雨了。

### 练习

【例1】Turn on the television or open a magazine and you __ advertisements showing happy families

A. will often see B. often see

C. are often seeing D. have often seen

【例2】He was hoping to go abroad but his parents __ that they won’t support him unless he can borrow money from the bank.

A. were deciding B. have decided

C. decided D. will decide

【例3】 —How can I apply for an online course?
—Just fill out this form and we __ what we can do four you.

A. see B. are seeing

C. have seen D. will see

【例4】If their marketing plans succeed, they _ their sales by 20 percent.

A. will increase B. have been increasing

C. have increased D. would be increasing

【例5】 Population experts predict that most people _ in cities in the near future.

A. live B. would live

C. will live D. have lived

【例6】When I talked with my grandma on the phone, she sounded weak, but by the time we __ up, her voice had been full of life.

A. were hanging B. had hung

C. hung D. would hang

【例7】—Ann is in hospital.
—Oh, really? I __ know. I __ go and visit her.

A. didn’t; am going to B. don’t; would

C. don’t; will D. didn’t; will

【例8】I’ll go to the library as soon as I finish what I __.

A. was doing B. am doing

C. have done D. had been doing

He is studying architecture. 他在学习建筑。
The ambulance is carrying wounded people to the nearest hospital. 救护车正在把受伤的人送到最近的医院。

## 一般过去将来时

### 用法

• 表示过去将来要发生的情况或者动作

It was six o’clock. The sun would soon set. 这时是六点钟，太阳即将落山。

In Berlin, he first met the woman whom he would one day marry. 在柏林，他第一次遇见那个女人，后来他终于跟她结了婚。

• 表示过去的习惯或者倾向

When I worked on a farm, I used to get up at 5 a.m. 我在农场劳动时，总是早上5点钟起床。

Most often we would find him lying on a couch, reading. 我们经常看到他躺在一张长沙发上看书。

She used to be a thin girl, but now she’s on the fatty side. 她曾是个苗条女孩，但现在却变得很胖。

• 【可略】用于虚拟语气
1. 对于现在的虚拟：

If I were taller, I would become a policeman. 如果我个子再高一点，我就当警察了。

If I knew her number I could ring her up. 要是我知道她的号码，就能给她打电话。

第一句所表示的实际情况是：我的个子不够高，所以不能当警察；第二句所表示的实际情况是：我现在不知道她的电话号码，所以不能给她打电话。

2. 对于将来的虚拟：

If it rained tomorrow, we’d stay at home. 如果明天下雨，我们就待在家里。

If you took a taxi, you’d get there quicker. 如果你叫一辆出租汽车，你就会快点儿到那儿。

第一句所表示的实际情况是：估计明天会天晴，所以我们侍在家里的可能性不大；第二句所表示的实际情况是：你不愿叫出租车，所以你不能较快到达。

### 【可略】其它结构

would do sth. = was/were going to do sth. = was/were (about/due) to do sth. = was/were + 现在分词

### 练习

1. Did you predict that many students __ up for the dance competition?

A. would sign B. signed C. have signed D. had signed

分析：A。根据主句谓语动词predict（预计）的意思可知，从句应用过去将来时，即指预计将要发生某事。又如：
She predicted that the improvement would continue. 她预测情况将继续好转。

2. He didn’t sell half as many videos as he thought he __.

A. had B. would C. was D. sold

分析：B。he would为he would sell之省略，为过去将来时，表示在当时看来将会出现的情况。句意为：他售出的录像带还不到他设想的一半。又如：
It’s curious (that) Billy hasn’t phoned when he promised he would. 比利答应要打电话来的，但一直没有打，这很反常。

## 现在进行时

### 用法

• 正在进行的事情

He is writing on the desk. 他再课桌上写字。

• 短期内在进行的事情

Her car has broken down. She’s going to work by bike. 她的汽车坏了，骑自行车上班。

The professor is typing his own letters while his secretary is ill. 秘书生病时，教授自己打他的信。

• 计划或安排

Are you working next week? 你下星期工作吗?

We are having a few guests tonight. 今晚我们有几个客人来。

She is buying a new bike soon. 她不久将买一辆新自行车。

We’re spending next winter in Australia. 我们将要在澳大利亚度过明年冬天。

He is arriving tomorrow morning on the 16:40 train. 他乘下午4:40的火车明天上午到。

• 【可略】屡次发生

He is always losing his keys. 他老是丢钥匙。

He is always thinking of his work．他老是想到他的工作。

She’s constantly changing her mind. 她老是改变主意。

Some students in my class are forever talking. 我班上有些学生老是在说话。

### 练习

1. I’ve won a holiday for two weeks to Florida. I __ my mum.

A. am taking B. have taken C. take D. will have taken

分析：A。现在进行时表示按计划或安排将要发生的动作。

2. －What’s that terrible noise?
－The neighbors __ for a party.

A. have prepared B. are preparing C. prepare D. will prepare

分析：B。由What’s=What is可知，现在在出声音; 进而知道“邻居们正在为一个晚会作准备”，所以用现在进行时。再说，已经准备好了或者将作准备，我们不可能听得到声音，问句也就不成立了，排除A和D。

3. Because the shop __, all the T-shirts are sold at half price.

A. has closed down B. closed down C. is closing down D. had closed down

分析：C。由all the T-shirts are sold at half price可知，这家商店还没有关闭，但准备将要关闭，所以选C，用现在进行时表示最近的打算。

4. Since I won the big prize, my telephone hasn’t stopped ringing. People __ to ask how I am going to spend the money.

A. phone B. will phone C. were phoning D. are phoning

分析：D。指赢大奖以来的，近阶段正在发生的事，用现在进行时。

5. They __ on the program for almost one week before I joined them, and now we __ it as no good results have come out so far.

A. had been working; are still working B. had worked; were still working

C. have been working; have worked D. have worked; are still working

分析：A。在I joined them之前，就是“过去的过去”，要用过去完成时或过去完成进行时，排除选项C和D; 由now和“到目前还没有结果”可知，现在仍在进行这项工作，用现在进行时，排除选项B。

6. Listen to the two girls by the window. What language __?

A. did they speak B. were they speaking

C. are they speaking D. have they been speaking

分析：C。由Listen to…可知，要用现在进行时。

7. —Are you still busy?
—Yes, I __ my work and it won’t take long.

A. just finish B. am just finishing C. have just finished D. am just going to finish

分析：B。由it won’t take long可知即将做完了，用现在进行时表示即将发生的事; 选项D表示“正打算做完”，与句意不符。

A. takes off B. is taking off C. has taken off D. took off

分析：B。用现在进行时表示马上要发生的情况(主要表示按计划或安排要发生的动作).

## 过去进行时

### 用法

• 表示在过去某一点时间或某一段时正在进行的动作

I was having a bath when the phone rang. 我正在洗澡，突然电话铃响了。

She was writing letters. I didn’t want to disturb her. 她在写信。我不想打扰她。

• 【可略】表示在过去短期内正在进行的动作或存在的情况，这种情况通常不会长期如此。如：

It happened while I was living in Eastboume last year. 这件事发生于去年我住在伊斯特本的时候。

• 表示为过去的将来安排好的活动和事件。这类用法在没有明确上下文的情况下，通常会连用一个表示将来时间的状语。如：

He said that his sister was getting married next December. 他说他妹妹12月结婚。

Four of them were coming for Sunday lunch. 他们有四个人将在星期天来吃午饭。

Her daughter was going to a summer camp the following day. 她的女儿将在第二天去参加夏令营。

• 【可略】动词 hope, wonder 等的过去进行时常用来表示提出要求，虽然表示现在的内容，但语气比一般现在时或一般过去时要委婉。如：

I was wondering if you could give me a lift. 我不知您能不能让我搭一下车。

I was thinking it might be a good idea to keep the window open. 我看还是把窗户开着的好。

• 【可略】过去进行时有时可以与always, constantly, continually, forever, perpetually, repeatedly等表示动作屡次发生的副词连用，强调动作的不断重复的。如：

She was always thinking of others. 她老是想到别人。

He was constantly changing his mind. 他老是改变主意。

She was forever complaining. 她老是抱怨。

### 练习

1. The reporter said that the UFO __ east to west when he saw it.

A. was traveling B. traveled C. had been traveling D. was to travel

分析：答案为A。过去进行时表示报告人当时所看到的情景。

2. I called Hnnah many times yesterday evening, but I couldn’t get through. Her brother __ on the phone all the time!

A. was talking B. has been talking C. has talked D. talked

分析：答案为A。I called…和I couldn’t get through…用的都是一般过去时，而talk on the phone这一动作正是发生在I couldn’t get through…期间，故要用过去进行时。

3. —What were you doing when Tony phoned you?
—I had just finished my work and to take a shower.

A. had started B. started C. have started D. was starting

分析：答案为D。过去进行时表示过去将要发生的事。句意是：(Tony给我打电话时)我刚好做完工作，准备去冲凉。

4. —Has Sam finished his homework today?
—I have no idea. He __it this morning.

A. did B. has done C. was doing D. had done

分析：答案为C。由上文可知，下文的大意是：“我不知道Sam现在是否已经做完了作业，(但是我知道)他今天早上在做作业”，所以用过去进行时态。

5. —You were out when I dropped in at your house.
—Oh, I __for a friend from England at the airport.

A. was waiting B. had waited C. am waiting D. has waited

分析：答案为A。句意是：(你来我家时) 我正在机场等候一位从England来的朋友。表示在过去某一时刻或在过去某一段时间内正在发生的事，用过去进行时，所以选A。

6. — Where did you put the car keys?
— Oh, I __ I put them on the chair because the phone rang as I __ in.

A. remembered; come B. remembered; was coming

C. remember; come D. remember; was coming

分析：答案为D。第一空用一般现在时，指的是“现在”还记得; 第二空用过去进行时，指的是当时正在做的事。

7. I __ along the street looking for a place to park when the accident __.

A. went; was occurring B. went; occurred

C. was going; occurred D. was going; had occurred

分析：答案为C。第一空用过去进行时，表示过去正在发生的情况; 第二空用一般过去时，表示过去突然发生的一件事。

8. —I saw Jane and her boyfriend in the park at eight yesterday evening.
—Impossible. She __ TV with me in my home then.(www.yygrammar.com)

A. watched B. had watched C. would watch D. was watching

分析：答案为 D。表示过去正在进行的动作，用过去进行时。第二句的意思是：不可能。她当时与我一起在我家看电视。

9. —Is there anything wrong, Bob? You look sad.
—Oh, nothing much. In fact, I __ of my friends back home.

A. have just thought B. was just thinking C. would just think D. will just be thinking

分析：答案为B。指刚刚在想念老家的朋友，故用过去进行时。

10. —Did you watch the basketball match yesterday?
—Yes, I did. You know, my brother __ in the match.

A. is playing B. was playing C. has played D. had played

分析：答案为B。此处用过去进行时表示当时正在进行的情况。

## 将来进行时

### 用法

• 表示将来某一时间正在进行的动作

Hurry up!The guests will be arriving at any minute! 快! 客人就要来了!

A space vehicle will be circling Jupiter in five years’ time. 航天器5年后将绕木星飞行。

Don’t phone me between 5 and 6. We’ll be having dinner then. 五点至六点之间不要给我打电话，那时我们在吃饭。

When I get home, my wife will probably be watching television. 当我到家时，我太太可能正在看电视。

• 将来进行时表示表示按时划或安排要发生的动作

I will be seeing you next week. 我下个星期来看你。

I’ll be taking my holidays soon. 不久我将度假了。

We shall be going to London next week. 下周我们要去伦敦。

We’ll be spending the winter in Australia. (=we are spending) 我们将在澳大利亚过冬。

Professor Craig will be giving a lecture on Etruscan pottery tomorrow evening. (=is giving) 克雷格教授明晚作关于伊特拉斯坎陶器的讲演。

• 【可略】将来进行时表示委婉语气

Will you be having some tea? 喝点茶吧。

Will you be needing anything else? 你还需要什么吗？

When will you finish these letters? 你什么时候会处理完这些信件? (如上司对下属)

When will you be seeing Mr White? 你什么时候会见到怀特先生? (如下属对上司)

Mary won’t pay this bill. 玛丽不付账。(她拒绝付账)

Mary won’t be paying this bill. 玛丽不会付账。(将来)

Will you bejoining us for dinner? 你会和我们一起吃饭吗? (将来)

Won’t you come with us? 你和我们一起去好吗? (邀请)

Won’t you be coming with us? 你会和我们一起去吗? (将来)

## 过去将来进行时

“对于过去的某个时间点是将来”应该怎么理解？

### 句中位置

• 用于宾语从句中

I felt it would be presuming on our friendship to keep asking her for help. 我觉得不断要她帮忙是利用了我们的交情。

We informed them by telegram that we would be arriving early. 我们打电报通知他们，我们将在早上到达。

The announcer informed viewers that programmes would be running late. 播音员通知观众节目时间可能推后。

It was thoughtless of her to have rushed out and not said where she would be going. 她这样冲出去又不说去哪里，真是太不为别人着想了。

He announced that there would be more stringent controls on the possession of weapons. 他宣布将对武器的持有实行更严格的控制。

A sixth sense told her that he would be waiting for her when she got home. 她有一种第六感觉，就是她到家时他一定在那儿等候她呢。

She glanced about the hall, hoping against hope that Richard would be waiting for her. 她眼睛扫过大厅，对理查德会在那里等她仍怀有一丝希望。

On May 18, the employee wrote to the council that he would be taking the doctor’s advice. 5月18日，这位雇员致信委员会，称他将遵照医嘱。

• 【可略】用于虚拟语气的主句

If she could get sponsors, she would be sitting pretty. 如果能得到赞助，她会极占优势。

I was excited. Next Wednesday we would be flying to Sydney. 我很兴奋。下星期三我们就会飞往悉尼了。

I would be exceeding my powers if I ordered the march to be halted. 如果我命令停止游行，我就越权了。

If I was to insult the contestants I would be shooting myself in the foot. 如果我羞辱参赛者，就会搬起石头砸自己的脚。

You would be spending your time to better advantage if you did what I suggested. 如果你按我的建议去做，你的时间会得到更有效的利用。

• 【可略】用在其他从句中

The new name he would be using was Jack Jones. 他将用的新名是杰克•琼斯。

He would pay the rest as he would be leaving France. 其余款项，他将在离开法国时付清。

The course leader outlined the programme we would be following. 课程负责人扼要地介绍了我们要学习的课程。

Sue looked at the college where she would be studying in October. 休看了看那所学院，10月份她就到这里学习。

• 【可略】用在独立的句子中

Jack said he had found a job. He would be working as a bartender in Detroit. 杰克说他找到了工作。他将在底特律做酒吧间伙计。

I was excited. Next Wednesday we would be flying to Sydney. 我很兴奋。下星期三我们就会飞往悉尼了。

Television cameras would be monitoring his every step. 电视摄像机将监视他的一举一动。

He would be inspiring young people to get into the political fray. 他会激励年轻人投身政治战斗。

A few months more and the hydro-electric station would be providing power. 再过几个月，水电站就要供电了。

He would be setting out his plans for the party in a keynote speech. 他将在其主旨发言中阐述他对该党的计划。

I was excited. Next Wednesday we would be flying to Sydney. 我很兴奋。下星期三我们就会飞往悉尼了。

The car started. Ellen James would be driving off to the university. 车子发动了。埃伦•詹姆斯要开车到大学去。

## 现在完成时

1. 表示已完成【即影响】：该用法的现在完成时表示一个过去发生的动作在过去已经完成，并且这个过去发生并完成的动作对现在有影响或结果，同时说话强调的或感兴趣的就是这个影响或结果，如汉语说“他已离开这个城市了”，其中的“离开”肯定发生了，它对现在的影响或结果就是“他现在已不在这个城市了”；又如汉语说“有人把窗户打破了”，显然“打破窗户”这一动作发生在过去，并且在过去已经完成了，但说话人强调的重点是打破窗户对现在的影响——窗户现在仍是破的。

2. 表示未完成【即持续】：该用法的现在完成时表示一个过去发生的动作或开始的状语在过去并未完成或结束，而是一直持续到现在，并且有可能继续下去(也可能到此结束)，如汉语说“他在我们教书已有30年了”，显然“他在我们学校教书”是从30年前开始，并且一直教到现在，已经持续了30年；又如汉语说“自上个星期以来他一直很忙”，显然“忙”是从上个星期开始的，并且这一“忙”就一直忙到现在。

### 用法

• 影响性用法实例分析

I have lost my pen. 我把钢笔丢了。

We have finished the work. 我们已把工作干完了。

• 持续性用法实例分析

We have lived here quite a number of years. 我们在这里住了很多年了。

### 现在完成时与一般过去时的区别

I’ve washed the car. 我已经洗过车了。

I washed the car. 我洗了车子。

The lift has broken down. 电梯坏了。

The lift broke down. 电梯坏了。

### 特殊用法

• 【可略】现在完成表示重复性

How often have you seen her? 你隔多少见她一次?

My father has always gone to work by bike. 我父亲一向骑车上班。

• 现在完成表示将来

Don’t get off until the bus has stopped. 等车停稳之后再下车。

You can go out if you have finished your homework. 如果你做完了作来，你就可以出去。

When you have rested, I’ll show you the garden. 等你休息好之后，我领你看我们的花园。

### 重要考点

#### have been to与have gone to

have been to表示曾经去过某地，但现在不在那儿；have gone to表示现在已去某地，现在不在这儿。如：

Have you ever been to Greece? 你去过希腊吗?

The Smiths have gone to Canada for a holiday. 史密斯全家都到加拿大度假去了。

She has been to Europe twice. 她到欧洲去过两次。

She’s just been to a party. 她刚参加一个晚会回来。

He has never been to see me since I have been ill. 我生病以来他从未来看过我。

#### 现在完成时的标志

• since

since表示“自从……以来”时，无论是用作介词、连词还是副词，since都通常要与现在完成时连用。如：

I’ve had nothing to eat since lunchtime. 从午饭时间到现在我什么都没吃。

We’ve lost a lot of custom since our prices went up. 自从提价以后，我们失去了许多顾客的生意。

It’s a long time since they left. 他们走后很久了。

It is ten years since he left here. 他离开这儿已10年了。

• so far = up to now

So far 500 people have died in the earthquake. 到现在为止，已有500人在地震中丧生。

So far the work has been easy, but things may change. 到目前为止，这工作很容易，但情况可能有变化。

I can only help him so far. 我只能帮他到这种程度。

• in the last(past) five years = over the years

I’ve seen little of her in the past few weeks. 近几周我很少见到她。

We’ve planted thousands of trees in the past five years. 过去五年我们种了成千上万棵树。

The house has changed hands three times in the last two years. 在过去两年中，这栋房子已转手三次。

She’s brought us so much happiness over the years. 这些年来，她给我们带来了不少的幸福。

We’ve had a few arguments over the years, but in general we get on very well. 最近几年来，我们争吵过几次，但总的说来，我们相处得很好。

### 练习

【例题1】. —__ my glasses?
—Yes, I saw them on your bed a minute ago.

A. Do you see B. Had you see C. Would you see D. Have you seen

—Have you waited long? 你等了很久吗？
—No, I just arrived five minutes ago. 没等多久，我刚到五分钟。

【例题2】. I wonder why Jenny __ us recently. We should have heard from her by now.

A. hasn’t written B. doesn’t write C. won’t write D. hadn’t written

I’ve been on rather too many planes and trains recently. 近来我乘飞机和火车次数太多了。
We haven’t seen enough of Ray and Barbara recently. 近来, 我们没怎么看见雷和巴巴拉。

【例题3】. John and I __ friends for eight years. We first got to know each other at a Christmas party. But we __ each other a couple of times before that.

A. had been; has seen B. have been; have seen

I have had this car for ten years. 这辆车我已经买了十年了。
I haven’t seen Tom for two years. 我已经有两年没见到汤姆了。
I’ve lived in Central London for six years now, so I’m used to the noise. 到目前为止，我已在伦敦中区住了6年，已经习惯于那里的喧闹声了。

【例题4】. —How long __ David and Vicky __ married?

A. were; being B. have; got C. have; been D. did; get

I’ve worn glasses for ten years. 我戴眼镜已经十年了。
The Kenways have lived here for five years. 肯威家在这儿已经住了5年了。

【例题5】. How can you possibly miss the news? It __ on TV all day long.

A. has been 　　　　B. had been 　　　　C. was 　　　　 D. will be

We have waited all day. 我们等了整整一天了。
I haven’t seen her all day. 我一整天都没看见她。

【例题6】. She has set a new record, that is, the sales of her latest book__50 million.

A. have reached B. has reached C. are reaching D. had reached

【例题7】. The first use of atomic weapons was in 1945, and their power __ increased enormously ever since.

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

【例题8】. Years ago we didn’t know this, but recent science __ that people who don’t sleep well soon get ill.

A. showed B. has shown C. will show D. is showing

【例题9】. The coffee is wonderful! It doesn’t taste like anything I __ before.

【例题10】. My brother is an actor. He __in several film so far.

A. appears B. appeared C. has appeared D. is appearing

【例题11】. The country life he was used to __ greatly since 1992.

A. change B. has changed C. changing D. have changed

【例题12】. Although medical science __ control over several dangerous diseases, what worries us is that some of them are returning.

A. achieved B. has achieved C. will achieve D. had achieved

【例题13】. — __ leave at the end of this month.
— I don’t think you should do that until __ another job.

A. I’m going to; you’d found B. I’m going to; you’ve found

C. I’ll; you’ll find D. I’ll; you’d find

【例题14】. This machine __. It hasn’t worked for years.

A. didn’t work B. wasn’t working C. doesn’t work D. isn’t working

【例题15】. My friend, who __ on the International Olympic Committee all his life, is retiring next month. (www.yywords.com)

A. served B. is serving C. had served D. has served

【例题16】. I __ in London for many years, but I’ve never regretted my final decision to move back to China.

A. lived B. was living　 C. have lived D. had lived

regretted为现在完成时，同时选项C也是现在完成时，结果滥用时态呼应，将答案误选C。其实，此题的最佳答案是A。句中but后的句子告诉我们，说话者现在已搬回了上海，所以他住在伦敦应属于过去的事情，故应用一般过去时。

【例题17】. We __ our new neighbors yet, so we don’t know their names.

A. don’t meet B. won’t meet C. haven’t met D. hadn’t met

【例题18】. Danny __ hard for long to realize his dream and now he is popular.

A. works B. is working C. has worked D. worked

## 过去完成时

### 用法

• 对于过去发生的一件事，另一件事已经发生

When the doctor arrived the patient had died. 医生到时病人已死了。

She told me she had been with IBM for five years. 她告诉我说，她在国际商用机器公司已工作5年了。

“我醒了”为过去发生的情况，用一般过去时；我为什么醒了呢？是因为我做了个噩梦，显然“做噩梦”发生在“醒”之前，也就是说发生在过去的过去时间里，所以“做噩梦”要用过去完成时。

“我们到达那里”为过去发生的情况，故用一般过去时；而我们到那里时篮球赛已经开始了，这说明“篮球赛开始”发生在“我们到达那里”这一过去时间之前，即属于过去的过去，所以“篮球赛开始”要用过去完成时。

• 表示过去未曾实现的想法

I had meant to come, but something happened. 我本想来，但有事就没有来。

I had hoped to send him a Christmas card, but I forgot to do so. 我本来希望寄给他一张圣诞卡的，但我忘了寄了。

• 【可略】过去完成时用于特殊句式

I had hardly closed my eyes when the telephone rang. 我刚合上眼，电话铃就响了。

I had no sooner checked into the hotel than he arrived. 我一住进旅馆，他就到了。

### 过去完成时用法的一点注意

Bill saluted, turned, and went out. 比尔敬礼后转身就出去了。

He paused and shook his head. 他稍停了一下，然后摇了摇头。

I told them the news after you (had) left. 你走后我把这消息告诉了他们。

As soon as I (had) put the phone down it rang again. 我刚把电话一放下，它又响了。

### 过去完成时与一般过去时

• 过去完成时表示以过去某时间为起点以前所发生的动作或存在的状态，即：过去完成时强调“过去的过去”，而一般过去时只表示以现在时间为起点以前所发生的事情或存在的状态。如：

He studied there two years ago. 他在那儿学习了两年。(离现在两年)

He said he had studied there two years ago. 他说他在那儿学习了两年。(离他说话时两年)

• 表示过去某个时间以前所连续发生的两个或两个以上的动作时，一般用and, then, but按照动作的先后顺序连接，此时通常用一般过去时而不用过去完成时。如：

He said he went the shop and bought some food. 他说他去商店买了一些食品。

### 练习

1. Helen __ her keys in the office so she had to wait until her husband __ home.

A. has left; comes B. left; had come C. had left; came D. had left; would come

分析：C。leave 应发生在 had to wait 这个过去动作之前，“过去的过去”用过去完成时; 后一空用一般过去时表示过去将来。又如：
The house was quiet. Everybody had gone to bed. 屋子里很安静，大家都睡觉了。
They had finished the exam and the teacher was hustling to get the papers gathered up. 他们已经考完试了，老师正在赶紧收卷子。
People were quite often rude about him, often the people he had helped. 人们经常对他很无礼，其中有很多还曾得到过他的帮助。

2. By the time Jack returned home from England, his son __ from college.

The weather was rather worse than I had expected. 天气要比我预料的还坏。

3. He kept looking at her, wondering whether he __her somewhere.

A. saw B. has seen C. sees D. had seen

分析：D。因为由语境可知，see应当发生在kept looking之前，即过去的过去，所以用过去完成时，只有D正确。又如：
When I had opened the windows I sat down and had a cup of tea. 我打开窗户后，就坐下来喝了一杯茶。
When I had written my letters I did some gardening. 我写完信之后，就在花园里干了点活儿。
When he had shut the window we opened the door of the cage. 他关了窗户之后，我们把笼门打开了。

4. She __her hairstyle in her hometown before she came to Chongqing for a better job.

A. would change B. has changed C. changed D. was changing

分析：C。由came可知，她已来重庆了，而改变发型是在来重庆之前，即过去的过去，按理要用过去完成时，但before已经表明紧接着发生的先后两个动作，所以也可用一般过去时，所以选C。

5. He __more than 5000 English words when he entered the university at the age of 15.

A. has learned B. would have learned C. learned D. had learned

分析：D。因为上大学是过去，学了5千个英语单词是在上大学之前，即“过去的过去”，所以用过去完成时。

6. Father __for London on business upon my arrival, so I didn’t see him.

A. has left B. left C. was leaving D. had left

分析：D。由“我没见到他”可知，“在我到达”前“父亲已经去伦敦”了，即父亲去伦敦发生在“过去的过去”，用过去完成时。

7. The policeman’s attention was suddenly caught by a small box which __ placed under the Minister’s car.

A. has been B. was being C. had been D. would be

分析：C。因为这个小盒子“被放在部长车下”发生在“引起警察注意”之前，即“过去的过去”，所以用过去完成时。

8. Susan decided not to work on the program at home because she didn’t want her parents to know what she __.

A. has done B. had done C. was doing D. is doing

分析：C。因decided和didn’t want都是过去式，排除选项A和D; 因“做”发生在“决定”之后，而不是之前，不能用过去完成时，排除选项B。

9. —Hurry up! Alice and Sue are waiting for you at the school gate.
—Oh ! I thought they __ without me.

A. went B. are going C. have gone D. had gone

分析：D。因为thought(原以为)是过去，他们“走了”就是“过去的过去”，所以用过去完成时。

10. They __ on the program for almost one week before I joined them, and now we __ it as no good results have come out so far.

A. had been working; are still working B. had worked; were still working

C. have been working; have worked D. have worked; are still working

分析：A。在I joined them之前，就是“过去的过去”，要用过去完成时或过去完成进行时，排除选项C和D; 由now和“到目前还没有结果”可知，现在仍在进行这项工作，用现在进行时，排除选项B。

11. The coffee is wonderful! It doesn’t taste like anything I __ before.

分析：C。与before连用，用现在完成时。再说，此处没有一个过去时间或动作作比较，是不能用过去完成时的。

12. The young girl sitting next to me on the plane was very nervous. She __ before.

A. hasn’t flown B. didn’t fly C. hadn’t flown D. wasn’t flying

13. I was giving a talk to a large group of people, the same talk I __ to half a dozen other groups.

A. was giving B. am giving C. had given D. have given

分析：C。许多同学可能会简单地根据前面的was giving而误选A。但事实上，此题提供的语境是：我当时正在给一群人作报告，这个报告我曾给其他若干批人讲过。由于was
giving为过去进行时，而“曾给其他若干批人讲过”显然发生在was giving这一过去时间之前，故用过去完成时，即答案选C。

14. John, a friend of mine, who got married only last week, spent \$3, 000 more than he __ for the wedding.

A. will plan B. has planned C. would plan D. had planned

分析：D。首先将选项分成两组：C和D为“过去组”，A和B为“非过去组”，而根据句中的got married和last week可推知，此题的答案应在“过去组”中。然后再根据句意比较get
married与plan的先后关系，显然是先“计划”，后“结婚”，而“结婚”在句中用了一般过去时，故“计划”要用过去完成时。

15. They became friends again that day. Until then, they __ to each other for nearly two years.

A. didn’t speak B. hadn’t spoken C. haven’t spoken D. haven’t been speaking

分析：B。由于他们再次成为朋友发生在过去(因为became用的是一般过去时)，这就说明他们差不多有两年没说过话属于“过去的过去”，所以要用过去完成时。

16. —It was really very kind of you to give me a lift home.
—Oh, don’t mention it. I __ past your house anyway.

A. was coming B. will come C. had come D. have come

分析：A。根据前面一句中的was可知，搭车的事发生在过去，所以“我开车要经过你的家门口”也发生在过去，因此可排除B和D。而在剩下的A和C中，不能选C，是因为C为过去完成时，表示“过去的过去”，与句意不符。

17. I __ there little more than a week when I set to work with the scientist.

A. would be B. have been C. had been D. will be

分析：C。由于set to work with the scientist这一动作发生在过去，而be there与set to work的先后关系是：be there在先，set to work在后。所以be there发生的时间属于“过去的过去”，故用过去完成时。

18. The play had already been on for quite some time when we __ at the New Theatre.

A. have arrived B. arrived C. had arrived D. arrive

19. —Did Alan enjoy seeing his old friends yesterday?
—Yes, he did. He __ his old friends for a long time.

A. didn’t see B. wouldn’t see C. hasn’t seen D. hadn’t seen

分析：D。由于见朋友发生在过去(即昨天)，而很久没有见到朋友自然是昨天的见面之前，即属于过去的过去，故用过去完成时。

20. The hotel wasn’t particularly good. But I __ in many worse hotels.

A. was staying B. stayed C. would stay D. had stayed

分析：D。根据The hotel wasn’t particularly good这一句中的一般过去时可推知stay in many worse hotels要用过去完成时，因为它发生在wasn’t之前。

## 将来完成时

### 用法

• 表示“将来完成”，即表示到将来某个时间为止势必会完成或预计要完成的动作。如：

When we get there, she’ll have gone to work. 我们到那里时她会已上班去了。

I expect you will have changed your mind by tomorrow. 我预料到明天你就会改变主意了。

• 表示“持续”，即表示某种状况将一直持续到说话人所提及的某一将来时间。如：

We will have been married a year on June 25th. 到6月25日我们俩结婚就满1年了。

By this time next week, I will have been working for this company for 24 years. 到下星期此刻，我就已经为该公司干了24年了。

• 【可略】表示“推测，即表示根据某情况作出的推测。如：

That will have been Roland. He said he’d be back at 7. 准是罗兰。他说他7点钟回来。

There will have been a definite result before Friday. 星期五以前肯定会有结果。

### 现在完成时、过去完成时与将来完成的区别

1. 现在完成时以现在时间为参照点，表示在“现在”以前完成的动作或持续到“现在”的状态；
2. 过去完成时则以过去时间为参照点，表示在“过去”某一时间以前发生的动作或持续到“过去”某一时间的状态；
3. 将来完成时则以将来时间为参照点，表示在“将来”某一时间为止已经完成的动作或持续到“将来”某一时间的状态。

He has finished writing his novel. 他已写完了他的小说。

He had finished writing his novel by the end of last year. 去年年底他就写完他的小说。

He will have finished writing his novel by the end of next year. 到明年年底他就会写完他的小说了。

I will go with you when I have finished my work. 等我完成工作之后我就同你去。

I will go with you when I finish my work. 我完成工作后就同你去。

### 练习

1. By the time Jane gets home his aunt __ for London to attend a meeting.

A. will leave B. leaves

C. will have left D. mind

分析：C。时间状语从句中用一般现在时表示将来，by加将来时间与将来完成时连用。又如：
By May I will have got a new car. 到5月我将已买到一辆新汽车。
The old currency will have been phased out by 2020. 旧币分阶段至2020年将全部禁止流通。

2. On her next birthday, Ann __ married for twenty years.

A. is B. has been

C. will be D. will have been

分析：D。表示到将来某时（her next birthday）为止势必会完成的情况，英语要用将来完成时，故选D。又如：
Don’t worry. It’s a storm in a teacup. Everyone will have forgotten about it by tomorrow. 别担心，这不过是茶杯里掀风浪，到明天大家就都把这事给忘了。
If they succeed on Europe, then they will have reshaped the political and economic map of the world. 如果他们在欧洲获得成功，他们将会改变世界政治和经济格局。

3. —I hear that Jason is planning to buy a car.
—I know. By next month, he ___ enough for a used one.

A. will have saved B. will be saving

C. has saved D. saves

分析：A。根据句中的by next month可知空格处应填将来时态，故可排除C和D；至于是选A还是B，则需根据句意来确定，由于前文已说“正准备买车”，说明存钱已经存够了，故不宜选B。句意为：“我听说詹森计划要买一辆车。”“我知道，到下个月，他积蓄的钱就够买一辆二手车了。”

## 过去将来完成时

She said she’d have finished her exams by then. 她说那时她会已经考完试了。

The party would have arrived by four o’clock. 这一行人将于4时前到达。

She said she’d have finished her exams by then. 她说那时她会已经考完试了。

### 用法

• 表示从过去某一时间来看将来某时会已经完成的动作

I thought Sophia would have told you something. 我想索菲娅会已告诉你一地情况。

He knew by the time he arrived she would have gone home. 他知道他到时她会已经回家。

The day was drawing near when we would have completed the reservoir. 我们建成水库的日子不远了。

He said he would have done with my camera by the end of next month. 他说到下月底就不用我的照相机了。

I guessed that Mother would have made some sandwiches by the time we got back. 我猜我们回来时妈妈已经做好一些三明治了。

If I’d left sooner, I’d have been on time. 要是我早点动身，我就准时到了。(但我动身太迟了)

If we had found him earlier we could have saved his life. 要是我们当时早点找到他的话，我们就可以救活他。(可惜我们找到他太晚了)

If I had known that you were coming I would have met you at the air-port. 要是我早知道你要来的话，我就会在机场接你了。

If he had lived, some day Michael would have done something important. 假定麦克尔当时在世的话，他本可做出了不起的事。

If I had known how he felt, I would never have let him adopt those children. 我要是知道他的想法，我是决不会让他领养那些孩子的。

He would have forgotten the boy’s birthday if you hadn’t reminded him. 要不是你提醒他，他会忘记这男孩的生日的。

Our lives would have been greatly impoverished if we had not known our dear friend. 若不是得识我们这位好朋友，我们的生活一定十分不妙。

• 【可略】“would + have + 过去分词”的情态用法，would 后接完成式除用于构成过去将来完成时外，它还有其情态动词用法的一面。如：

Only somebody with a small mind would have refused to help. 只有心胸狭窄的人才不肯帮助别人。（表推测）

Few men would have bared their soul to a woman as he had. 很少有男人能像他一样对一个女人敞开心扉。（表怀疑）

I’m surprised you didn’t like the film. I would have thought it was just your kind of thing. 你不喜欢这部电影，这让我感到奇怪。我本来还觉得正对你的路呢。（表过去的想法）

My father would have driven me to Cornwall, but we decided it would be quicker by train. 父亲原本要开车送我去康沃尔，但我们还是觉得坐火车更快。（表过去的想法）

The scar added interest to a face that otherwise would have appeared too bland. 这处伤疤为本显得平淡无奇的脸增添了些吸引力。（表示未曾发生的情况）

## 现在完成进行时

### 用法

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

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. 该部落一直居住在柬埔寨的丛林深处。

• 【可略】表示“重复”，即表示在一段持续的时间内动作的多次重复，而这个重复的动作在说话时并不一定在进行。如：

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

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

### 【可略】现在完成进行时与现在完成时的区别

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

分析：C。over 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

分析：A。has been working 为现在完成进行时，是许多中学生不太熟悉的一种时态，因此要想通过分析句子直接从正面选出答案可能有一定困难。但是，如果我们用排除法来分析，则问题变得很简单：首先，由于until引导的
是时间状语从句，根据“主将从现”原则，当主句为将来时态时，时间状语从句不能直接用将来时态来表示将来意义，据此可排除B和C; 而选项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可知，空格处应填完成时态，故可排除B和C；根据句意，空格处填现在完成进行时比填现在完成时更合适，因为它更强调“一直在做某事”。又如：He has been working since noon.
他从中午就开始工作了。He was taken ill and no wonder, considering he has been overworking for years. 他生病了，也难怪，多少年他一直过度辛劳。

## 过去完成进行时

### 用法

• 过去完成进行时表示持续到过去某时的一个动作(可算是现在完成进行时的过去式)：

The ground was wet. It had been raining. 地是湿的。此前一直在下雨。

At last the bus came. I had been waiting for half an hour. 最后公共汽车来了，我已等了半小时。

She was out of breath. She had been running. 她气喘吁吁，她一直在跑来着。

He gave up smoking last year. He’d been smoking for twenty years. 去年他戒烟了。他抽烟已经二十年。

• 过去时间可用一个时间状语表示：

When I first met her, she had been working in the company for ten years. 我第一次见到她时，她在那家公司已工作十年了。

I had not been waiting long when a taxi drew up. 我没等多久就来了一辆出租车。

She had been looking at the parcel for some time before she realized that it was for her mother. 这包裹她看了好一会儿才明白这是寄给她妈的。

Until/Up till then she had been living with her daughter. 到那时为止她一直和她女儿一起住。

• 但在更多情况下过去时间由另一句子表示出来，毋需加上时间状语：

Her eyes were red. It was obvious she had been crying. 她眼睛红红的，显然她是哭了。

Jane was annoyed. Peter had been phoning her every night. 简很不高兴。彼得一直每晚给打电话。

He was very tired. He had been working all day. 他很累。他干了一整天活。

She couldn’t understand him. She hadn’t been learning English long. 她不懂他的话。她学语的时间还不长。

• 有时上下文可说明是谈过去的事，因此不需要时间状语：

She had been watching TV all day. 她看了一天的电视。

The rain had been pouring all night. 倾盆大雨下了一整夜。

We had been travelling in many countries. 我们一直在许多国家旅游。

• 这个时态也可用在某些从句中，这时从句的动作发生在主句的动作之前而对其有影响：

I heard you’d been looking for me. 我听说你一直在找我。

That was just the letter I had been expecting. 这正是我一直期待的信。

That was exactly what we had been trying to do. 这正是我们一直想做的事。

I wanted to know what had been going on. 我想知道一直在发生什么事。

The drive increased the fatigue she had been feeling. 开车增加了她一直感到疲惫感觉。

They said that they had been fighting for their rights all these years. 他们说这些年来他们一直在为他们的权利而斗争。

### 【可略】特别补充

1. 凡不能用于进行时的动词均不能有这种时态，但动词want (有时还有wish) 除外。如：

The boy was delighted with his new knife. He had been wanting one for a long time. 男孩对新小刀很高兴。他早就想要一把了。

## 将来完成进行时

### 常见结构

• 将来完成进行时连用的时间状语，与将来完成进行时连用最多的时间状语时是“by+将来时间”，见上面的例子。当然除“by+将来时间”外，连用其他的时间状语也是可能的。如：

He will have been working all day. 他整天将都在工作。

She will have been having treatment all her life. 她将终生受到治疗。

I’ll have been teaching for thirty years this winter. 到今年冬天我就已任教三十年了。

• 将来完成进行时的情态意义，“will / shall have been+现在分词”结构除表示将来完成进行时外，有时其中的 will 也可能是情态动词，具有情态意义，比较表示推测或猜想等。如：

They will have been having a holiday yesterday. 他们昨天大概是在度假。

You’ll have been wondering all this time how my invention works. 我想你这些时候一直想知道我的发明怎样会行得通的。

### 【可略】将来完成进行时与将来完成时比较

1. 动作本身就是连续的：

By the end of the month he will have been living / working / studying here for ten years. 到了月底他在这里居住 / 工作 / 学习就满十年了。

2. 一种经常进行的动作被表示为连续的动作：

By the end of this month he will have been training horses / climbing mountains for twenty years. 到了这个月底他驯马 / 登山就满 20年了。

但是如果提到所驯马匹或所攀登的山峰的数目，或用任何方式把动作分割为一次又一次的动作，就必须用将来完成时：

By the end of the month he will have trained 600 horses / climbed 50 mountains. 到本月底，他驯服的马就有600匹 / 攀登的山峰就有50座了。

## 过去将来完成进行时

### 常见结构

• 间接引语与过去将来完成进行时，在间接引语中，若主句为过去时态，则用于宾语从句中的间接引语则要把将来完成进行时改为过去将来完成进行时。如：

I know by this time next week you’ll have been working here for 30 years.

→I knew by that time he would have been working there for 30 years.

She will have been teaching in this university for 20 years by this summer.

→She told me she’d have been teaching in that university for 20 years by that summer.

• 【可略】过去将来完成进行时与虚拟语气，在特定的语境中，有时过去将来完成进行时可用虚拟语气中。如：

At the time of the accident I was sitting in the back of the car，because Tom’s little boy was sitting

beside him in front. If Tom’s boy had not been there I would have been sitting in front. 事故发生的时候，我坐在车子的后座，因为汤姆的小儿子坐在前边他的身旁。要是汤姆的孩子没坐在那里的话，我就会坐在前面了。

• 【可略】过去将来完成进行时的情态意义，“would have been+现在分词”结构除用于表示过去将来完成进行时外，有时其中的 would 也可能是情态动词，具有情态意义，比较表示推测或猜想等。如：

“What interesting job have you found?” Helen asked him; he knew she would have been thinking about it. “你找到什么有趣的工作啦?”海伦向他问道。他知道海伦一定会一直想这件事的。

16种时态详解