上一讲,我们学习了现在完成进行时,网友们可以参考--全力直击英语语法17讲现在完成进行。这一讲,我们来学习一下过去完成进行时。首先,我们来看一下它的构成。
过去完成进行时的构成
过去完成进行时是由"had been + 现在分词"构成。
She had been suffering1 from a bad cold when she took the exam.
她在考试之前一直患重感冒。
Had they been expecting the news for some time?
他们期待这个消息有一段时间了吧?
Rafael was scolded2 even though he hadn't been doing anything wrong.
尽管拉斐尔没做什么错事,但他还是挨骂了。
下面,我们来学习一下它的用法。
过去完成进行时的用法
①表示过去某一时间之前一直进行的动作。
过去完成进行时表示动作在过去某一时间之前开始,一直延续到这一过去时间。和过去完成时一样,过去完成进行时也必须以一过去时间为前提。
I had been looking for it for days before I found it.
这东西我找了好多天才找着的。
They had only been waiting for the bus a few moments when it came.
他们只等了一会儿车就来了。
②表示反复的动作。
He had been mentioning your name to me.
他过去多次向我提到过你的名字。
You had been giving me everything.
你对我真是有求必应。
③过去完成进行时还常用于间接引语中(详见第12章)。
The doctor asked what he had been eating.
医生问他吃了什么。
I asked where they had been staying all those days.
我问他们那些天是呆在哪儿的。
④过去完成进行时之后也可接具有“突然”之意的when分句。
I had only been reading3 a few minutes when he came in.
我刚看了几分钟他就进来了。
She'd only been reviewing her lessons for a short while when her little sister interrupted4 her.
她温习功课才一会儿,她妹妹就打断她了。
接下来,我们再来看看它与过去完成时的对比。
过去完成进行时和过去完成时的比较
She had cleaned the office, so it was very tidy.
她已经打扫过办公室了,所以很整洁。 (强调结果)
She had been cleaning the office, so we had to wait outside.
她一直在打扫办公室,所以我们不得不在外面等着。 (强调动作一直在进行)
最后,我们来看道练习题。
They received the parcel5 that they ____ for a long time.
[A] expected
[B] have expected
[C] had been expecting
[D] had expected
解析:本道题强调的是一个持续性的动作,而且是在过去,所以用过去完成进行时。选C。