现在完成时思维导图
现在完成时对于刚刚学习的同学来说,通常会处于一种茫然,因为它看起来与过去的一般时态相似。 也就是说,这两个时态所描述的动作都是从过去开始的。 实际上,现在并非如此。 完成时,主要是指过去发生的动作一直延续到现在,并且刚刚完成,也许还会继续。 它侧重于对现在带来的结果,影响和累积总和等等。 通常,一般过去时仅表示过去发生的动作。 知道了这种差异,就很容易理解现在时。 它主要适用于以下情况
现在完成时思维导图
1)表示截止现在业已完成的动作
By now, I have collected all the data that I need .到现在为止,我已收集到了我所需的全部资料。
She has read 150 pages today .她今天已看了150页。
We haven’t met for many years .我们已多年没见了。
They have developed a new product .他们研制成功了一种新产品。
2)表示发生在过去而对现在产生影响、带来结果的动作
Have you had your dinner? 你吃晚饭了吗?
She has been to the United States. 她已去美国了。
You have grown much taller.你长高了许多。
3)表示过去发生的动作持续到现在,并可能还要延续
It has been five years since he joined the army .他参军五年了。
They have learned English for eight years .他们已学了八年的英语了。
So far we’ve only discussed the first five chapters.至今我们还只讨论了前五章。
几点注意:
1)一个句子应该用什么时态只能取决于它需要表达的意思,以及它所处的语言环境。例如:
He speaks English .(一般现在时,说明动作发生的经常性。)
He spoke English when he was in New Zealand .(一般过去时,说明动作发生的时间。)
He is speaking English.(现在进行时,说明动作正在进行。)
He has spoken English for three years since he came to the USA.(现在完成时,这里说明动作的总和。)
He has been speaking English since he came to the USA. (现在完成进行时,强调动作的连续性。)
2)在含有时间状语从句或条件状语从句的主从复合句中,如果主句的谓语动词是一般将来时,那么从句的谓语动词就只能用一般现在时来表示将来时;如果主句的谓语动词是过去将来时,那么从句的谓语动词就只能用一般过去时来表示过去将来时。
例如:I will not play tennis if it rains tomorrow.
I would not play tennis if it rained the next day.
3) 有些动词表示无法持续的动作,它们一般不宜用于进行时态中。
这类动词常见的有:be , believe , consist , find , forget , hate , have , hope , hear , know , like , love , notice , prefer , remember , see , seem , smell , suggest , taste , understand , want , wish , sit down , stand up 等等。
Be动词若是用于进行时态,可表示暂时、短暂的情况或表现。例如:
Tom is being a good boy today .汤姆今天很乖。
He is being childish .他这样做是耍孩子气。
You are not being modest .你这样说不太谦虚。
4)关于现在完成时的时间状语问题.
A. 凡是“完成时态”都表示,不知道也不管动作发生的具体时间, 所以在使用现在完成时的句子里,不可以带有表示具体过去时间的状语,如:yesterday , last week ( month , year , etc. ) , two weeks ago , in 1999等;但常和有些副词连用,如: just , before , already , often , never , ever , not…yet , always等等。
B. 在以when提问的特殊疑问中不能用现在完成时。另外,ago不能用于现在完成时的句子里,因为它表示从现在算起的以前某个时间,属于表示具体过去时间的状语。但是可以用before 来表示“以前”的意义,因为它只表示“以前”,而不知什么时候的以前。
C. 如果是不表示连续性的动词用于现在完成时的句子,不可以和以for表示的“一段时间”的状语连用。在这种情况下,应该用“It has been … ;since…”的句式来表达。如:
He has joined the army for five years. (错误)
It has been five years since he joined the army.(正确)