過去完成進行時
過去完成進行時表示在過去較早的時間內進行的動作,并對過去某一刻的動作或狀態產生結果。過去完成進行時由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.
他停止了游泳。他剛才已經游三個小時了。