现在完成进行时
1、现在完成进行时的构成
现在完成进行时是由“have/has been +现在分词”构成的。
He is ill. He's been lying in bed for three weeks.
他病了,已经卧床3个星期了。
2、现在完成进行时的用法
(1)表示动作从过去某时开始,一直延续到现在
现在完成进行时常和all this time, this week, this month, all night,all the morning, recently等状语以及since和for引导的状语连用。
She has been reciting the words all the morning.
她整个上午都在背单词。
(2)表示动作刚刚结束
My clothes are all wet. I've been working in the rain.
我的衣服全湿了,我刚才一直在雨中干活。
(3)表示一个近期内时断时续、重复发生的动作
You've been saying that for five years.
这话你已经说了五年了。
(4)表达较重的感情色彩
What have you been doing to my dictionary?
看你把我的字典弄成什么样子了!
3、现在完成进行时和现在完成时的比较
(1)现在完成进行时可以表示动作的重复,而现在完成时一般不表示重复性
Have you been meeting him recently?
你最近常和他见面吗?
Have you met him recently?
你最近见到过他吗?
(2)现在完成进行时有时含有感情色彩,而现在完成时一般是平铺直叙
I have been waiting for you for two hours.
我一直等了你两个小时。(可能表示不满)
I have waited for you for two hours.
我等了你两个小时。(说明一个事实)
(3)现在完成进行时强调动作,而现在完成时强调结果
Who has been eating the oranges?
谁一直在吃这些桔子呀?(还剩余一些)
Who has eaten the oranges?
谁把桔子吃光了?(强调吃得一个不剩)
过去完成进行时
1、过去完成进行时的构成
过去完成进行时是由“had been +现在分词”构成。
She had been suffering from a bad cold when she took the exam.
她在考试之前一直患重感冒。
2、过去完成进行时的用法
(1)表示过去某一时间之前一直进行的动作
过去完成进行时表示动作在过去某一时间之前开始,一直延续到这一过去时间。和过去完成时一样,过去完成进行时也必须以一过去时间为前提。
I had been looking for it for days before I found it.
网软有的科741cd07c优70e39c7f学d868a148东根升90b8学术0220e02d径慧fbc82a578e52广得e7fd7210学途6c2611ec5ca900c85c55学的方司ce2ae070件是cda0-元公的417947de西限心技高
这东西我找了好多天才找着的。
(2)表示反复的动作
He had been mentioning your name to me.
他过去多次向我提到过你的名字。
(3)过去完成进行时还常用于间接引语中
The doctor asked what he had been eating.
医生问他吃了什么。
(4)过去完成进行时之后也可接具有“突然”之意的when分句
I had only been reading a few minutes when he came in.
我刚看了几分钟他就进来了。
3、过去完成进行时和过去完成时的比较
She had cleaned the office, so it was very tidy.
她已经打扫过办公室了,所以很整洁。(强调结果)
She had been cleaning the office, so we had to wait outside.
她一直在打扫办公室,所以我们不得不在外面等着。(强调动作一直在进行)