四、完成进行时
完成进行时是完成时和进行时的结合,包括现在完成进行时和过去完成进行时。
A. 现在完成进行时
1.现在完成进行时的构成
现在完成进行时是由“have/has been +现在分词”构成的。
He is
ill. He's been lying in bed for three weeks.
他病了,已经卧床3个星期了。
Your
eyes are red. Have you been crying?
你眼睛红了。你刚刚哭过了吗?
What
have you been doing all this time?
这半天你干什么来着?
2.现在完成进行时的用法
①表示动作从过去某时开始,一直延续到现在
现在完成进行时常和all
this time, this week, this month, all night, all the morning, recently等状语以及since和for引导的状语连用。
I have
been reading Hemingway's Farewell to Arms recently.
我最近一直在读海明威的《永别了,武器》。
She has
been reciting the words all the morning.
她整个上午都在背单词。
This is
what I have been expecting since my childhood.
这是我从小以来就一直期待着的事情。
②表示动作刚刚结束
My
clothes are all wet. I've been working in the rain.
我的衣服全湿了,我刚才一直在雨中干活。
He is
dead drunk. He's been drinking with his friends.
他烂醉如泥,他刚才一直在和朋友们喝酒。
③表示一个近期内时断时续、重复发生的动作
You've
been saying that for five years.
这话你已经说了五年了。
He has
been writing articles to the newspapers and magazines since he became a
teacher.
自从任教以来,他一直在为报刊杂志撰稿。
④表达较重的感情色彩
What
have you been doing to my dictionary?
看你把我的字典弄成什么样子了!
Time has
been flying so quickly!
时间过得可真快啊!
Too much
has been happening today.
今天可真是个多事的日子。
3. 现在完成进行时和现在完成时的比较
①现在完成进行时可以表示动作的重复,而现在完成时一般不表示重复性。
Have you
been meeting him recently?
你最近常和他见面吗?
Have you
met him recently?
你最近见到过他吗?
②现在完成进行时有时含有感情色彩,而现在完成时一般是平铺直叙。
I have
been waiting for you for two hours.
我一直等了你两个小时。(可能表示不满)
I have
waited for you for two hours.
我等了你两个小时。(说明一个事实)
③现在完成进行时强调动作,而现在完成时强调结果。
Who has
been eating the oranges?
谁一直在吃这些桔子呀?(还剩余一些)
Who has
eaten the oranges?
谁把桔子吃光了?(强调吃得一个不剩)
B. 过去完成进行时
1.过去完成进行时的构成
过去完成进行时是由“had been +现在分词”构成。
She had
been suffering from a bad cold when she took the exam.
她在考试之前一直患重感冒。
Had they
been expecting the news for some time?
他们期待这个消息有一段时间了吧?
Rafael
was scolded even though he hadn't been doing anything wrong.
尽管拉斐尔没做什么错事,但他还是挨骂了。
|