要点精析
1. 现在完成进行时的构成:have/has been doing
I have been teaching English at university for 25 years.
我在大学教英语25年了。
I have been trying to find out her telephone number.
我一直在努力找出她的电话号码。
2. 现在完成进行时的用法
(1)表示动作从过去某个时刻开始, 一直持续到现在, 还可能延续下去, 强调动作的延续性。I have been waiting for an hour, but she hasn’t come yet. 我都等了一个小时了, 但是她还没来。
She has been burning the midnight oil to prepare for GRE recently. 她最近在熬夜准备研究生入学资格考试。
(2)表示从过去到现在的一段时间内反复进行的动作或存在的状态。
She has been phoning Jim every night for two weeks.
两个星期以来, 她每天晚上都给吉姆打电话。
Jack has been practicingTai Chi for more than a year.
杰克练太极一年多了。
(3)表示动作刚刚结束, 该动作一般不再继续, 有时会指出结果。
I have been playing badminton all morning, so I’m sweating heavily. 整个上午我一直在打羽毛球, 所以我浑身是汗。
I have been painting the door, so my hands are very dirty. 我一直在给门刷漆, 所以我的手很脏。
(4)表达某种感情色彩。
She has been persuading me to give up the plan.
她一直在劝我放弃这个计划。(不耐烦)
You have been daydreaming but never make an effort.
你一直在做白日梦, 却从不努力。(指责)
3. 现在完成时和现在完成进行时的区别
(1)现在完成进行时往往强调动作的延续, 现在完成时往往强调动作的完成。
They have been widening the road.
他们在加宽马路。(但尚未完工)
They have widened the road.
他们加宽了马路。(已完工)
(2)现在完成进行时往往表示动作在重复, 现在完成时表示的动作常常不带重复性。
Julia has gone to the library.
朱莉娅去图书馆了。
Julia has been going to the library for a year.
朱莉娅这一年经常去图书馆。
(3)现在完成进行时含感情色彩, 现在完成时通常只陈述事实。
I have been waiting for you for two hours.
我一直在等你, 等了两个小时。(表示不满)
I have waited for you for two hours.
我已经等了你两个小时了。(说明一个事实)