儿子在读高中,我看到他做有关现在(或过去)完成进行时的题目常常做错,特意写作此文,希望能讲得浅显而全面。
1、 现在完成进行时表示持续了一段时间的动作,现在完成时表示已经结束的动作,这是本质的区别。比如,说I’ve been repairing the car.和I’ve repaired the car.意思就不同。前者表示我一直在修车,但是否修好未知;后者表示车已经修好了。具体用哪个,要看上下文。通常,用完成进行时侧重表示持续到现在,并带有一定的感情色彩;而用完成时侧重结束,一般仅陈述这个事实。如,I feel really tired. I’ve been cleaning the window for hours.
2、 完成进行时通常和表示一段时间的状语连用,而完成时通常和表示多少的词汇连用。如,
I’ve been ironing shirts since ten o’clock.
I’ve ironed eight shirts.
3、 现在完成进行时不能同状态动词连用,因为这些状态动词没有进行时态。如,
I’ve known the secret for a long time.
不可以说,I’ve been knowing the secret for a long time.
4、 live、work、study、stay等词汇,用完成进行时和完成时,意思差不多。比如说:I’ve been living in Beijing for ten years.和I’ve lived in Beijing for ten years.都可以。但仍可以对照第1条感觉一下,前者的说法更有感情色彩,更偏向于告知持续到现在的情况。
请看这个对话:
A: You’ve got mud on your shoes.
B: OK. I’ve worked/been working in the garden.
显然,此处两种时态都可以。
又如,Ive worked/been working for the company for three years now.两者都可以。当然细微差别是用现在完成进行时更有感情色彩。
5、 通常来说,现在完成进行时没有被动语态。这是很显然的,总不能说 have been being done吧?尽管从语法上看可以,但这也太拗口了!比如,We have been studying this problem for ten days.强调我们一直在研究这个问题已经10天了,但仍然要继续研究下去,因为可能还没有研究出来结果。改成被动语态是This problem has been being studied for ten days.这种说法就没什么意思,如果非得用被动语态,我们宁愿说,This problem has been studied for ten days.
其实,说一千道一万,语法是对活的语言的总结,而不是对语言的限制。如果一种英语语法对Native speakers来说都非常拗口,那必然也不是我们需要学习的。
练习:
You look tired.Im tired, I__the living room all day.A.painted B.had patinted C.have been painting D.have painted
网站声明:文章内容来源于网络,本站不拥有所有权,请认真核实,谨慎使用,本站不承担相关法律责任。