过去完成进行时
过去完成进行时表示在过去较早的时间内进行的动作,并对过去某一刻的动作或状态产生结果。过去完成进行时由had been加现在分词构成。
基本结构:
肯定句:主语 + had been + 现在分词...
疑问句:疑问代词/疑问副词 + had + 主语 + been + 现在分词...?
例句:
She had been suffering from a bad cold when she took the exam.
她在考试之前一直患重感冒。
They had been expecting the news for some time?
他们期待这个消息有一段时间了吧?
Rafael was scolded even though he hadn't been doing anything wrong.
尽管拉斐尔没做什么错事,但他还是挨骂了。
过去完成进行时的用法
1. 表示过去某时以前持续的动作
a.过去完成进行时的主要特点与现在完成进行时的主要特点基本相似,只是时间推移到了过去:
例句:
I was tired that day,because I had been working all day.
我那天累了,我干了一整天的活。
His eyes were red. It was obvious that he had been working too hard.
他眼睛红了,显然是前一段时间他工作太紧张了。
b. 过去完成进行时表示一个动作从过去某时开始,一直延续到另一个过去时刻,到那个时刻,该动作可能刚刚终止,也可能还在继续:
例句:
At last they got the information they had been expecting.
最后他们得到了盼望得到的信息。(刚刚终止)
When I got home, I found that Jack had been working on his home-work.
当我回家时,发现杰克在做作业。(可能还在继续)
c. 过去完成进行时表示一个动作已经结束,但其结果仍影响到过去某一时刻:
例句:
It had been snowing for several days. The ground was all covered with snow.
接连下了几天的雪,地上到处是积雪。
d.某些表示持续动作的动词如 work(工作),teach(教授),study(学习),sing(演唱)等,在与表示一段时间的状语连用时,可用过去完成进行时和过去完成时,表示一个动作一直延续到过去某一时刻,但过去完成进行时更强调动作的持续性和不间断性:
例句:
I'd been studying for2hours when he called.
他打电话来的时候,我持续学习了两个小时。
I'd studied for2hours when he called.
他打电话来的时候,我已经学习了两个小时了。
2. 用于得出结论
过去完成进行时可以表示根据直接或间接的证据而得出结论:
例句:
His eyes were red. It was obvious that he had been working too hard.
他的眼睛红了,显然前一段时间他工作太紧张了。
3. 用于间接引语
例句:
The doctor asked what he had been eating.
医生问他吃了什么。
4. 具有“突然”之意,通常与when进行连接使用。
例句:
I had only been reading a few minutes when he came in.
我刚看了几分钟他就进来了。
I had been sleeping when my friend telephoned me.
我正在睡觉时,我的朋友给我打电话。
过去完成进行时与过去完成时的比较
a. 过去完成进行时与过去完成时的用法很相近,它通常表示某个过去正在进行的动作或状态,持续到过去某个时刻,还未完成,一直持续到之后才结束:
例句:
He had been waiting for two weeks.
他已经等了两个星期。(有一个表示一段时间的状语)
Up to that time he had been translating those books.
直到那时他一直在翻译这些书。
He was thirty years old.He had been gambling since he was ten.
他三十岁。他从十岁开始就一直在赌博。(三十岁的他仍然赌博。)
He had been standing there in the sun.
他一直站在太阳底下。
He had been thinking about his marriage.
他一直在对他的婚姻思考。
b. 而过去完成时则表示过去某一时间或动作以前已经发生或完成了的动作,更强调对过去的某一点造成的某种影响或是结果,用来指在另一个过去行动之前就已经完成了的事件。
例句:
When the doctor arrived, the patient had died.
医生到时病人已死了。
I woke up because I had had a bad dream.
我醒了,因为我做了个噩梦。
I had hardly closed my eyes when the telephone rang.
我刚合上眼,电话铃就响了。
c. 特殊情况:过去完成进行时有时并不一定表示这个过去动作将持续下去,要根据上下文来进行判断:
例句:
He stopped swimming.He had been swimming for the last three hours.
他停止了游泳。他刚才已经游三个小时了。