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.
尽管拉斐尔没做什么错事,但他还是挨骂了。
2.过去完成进行时的用法
①表示过去某一时间之前一直进行的动作
过去完成进行时表示动作在过去某一时间之前开始,一直延续到这一过去时间。和过去完成时一样,过去完成进行时也必须以一过去时间为前提。
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 reading a few minutes when he came in.
我刚看了几分钟他就进来了。
She'd only been reviewing her lessons for a short while when her little
sister interrupted her. 她温习功课才一会儿,她妹妹就打断她了。
3.过去完成进行时和过去完成时的比较
She had cleaned the office, so it was very tidy.
她已经打扫过办公室了,所以很整洁。(强调结果)
She had been cleaning the office, so we had to wait outside.
她一直在打扫办公室,所以我们不得不在外面等着。(强调动作一直在进行)
|