上一讲,我们学习了-全力直击英语语法第11讲一般将来时,这一讲,我们来学一下现在完成时。我们将从以下三部分理解现在完成时 (Present
Perfect1)。
第一部分
现在完成时表示过去发生或已经完成的动作对现在造成的影响或结果,也可表示过去已经开始,一直延续到现在的动作或状态。学习现在完成时,先从结构和句式开始:
构成:主语 + have/has + 过去分词 + 其他。(当主语是第三人称单数时用has,其余人称用have。过去分词:规则动词的过去分词构成与动词过去式相同;不规则动词需要特殊记忆。)
否定式:主语 + haven't/hasn't + 过去分词 + 其他。
疑问式: Have /Has + 主语 + 过去分词 + 其他?
简略答语: Yes, 主语 + have/has.(肯定)
No, 主语 + haven't/hasn't.(否定)
第二部分
现在完成时的含义之一是过去完成的动作对现在仍有影响,用以下四大标志词可以表达这种含义:
* 以already, just和yet为标志
already2, just和yet 表示到现在为止动作或状态已经、刚刚或还没有发生。
He has already got4 her help. 他已得到她的帮助。
He has just seen5 the film. 他刚刚看过这场电影。
He hasn't come back yet3. 他还没有回来。
* 以ever和never为标志
ever和never 表示到现在为止动作或状态曾经或从来没有发生过。
This is the best film I have ever6 seen. 这是我曾经看过的最好的一部电影。
He has never been to Beijing. 他从没有到过北京。
* 以动作发生的次数为标志
若某一动作到现在为止已经发生了若干次,则要使用现在完成时。
He says he has been to the USA three times. 他说他已经去过美国三次了。
* 以so far为标志
so far往往表示到目前为止动作或状态已经发生。
He has got to Beijing so far. 到目前为止他已到了北京。
She has passed the examso far. 到目前为止她已经通过了考试。
第三部分
过去已经开始的动作一直延续到现在, 甚至有可能继续延续下去,我们可以从动作“延续”的特性和“时间”点段的区分入手,进一步学习现在完成时。
*“终止”、“延续”要转换
英语中的动词从词义上可以分为延续性和非延续性两种,在现在完成时态中一定要注意动词这一特性,应将这类非延续性动词转换为延续性动词。如:
“The cat play” has been on for half an hour. 《猫》已经开演半个小时了。
How long have you had7 this dictionary8? 这本字典你买了多久了?
初中阶段常见的有:come-be, go out -be out, leave-be away (from), begin-be on, buy-have, borrow-keep , join-be a member / 介词短语, die-be dead9, become-be, open(v.)-be open(adj.) 等。
* 时间“点”、“段”须分清
过去开始的动作可以延续到某一点结束,也可能继续延续,这时就要根据时间“点”、“段”选择相应的介词for或since。如:
He has been away for two years. 他已走了两年。(for+时间段)
He has been an English teacher since10 1992. 自从1992年以来他一直当英语教师。
(since+过去某一时刻)
第四部分
一、动词的过去分词形式:通常一个动词的过去分词和他的过去式是一样的,在动词后面加ed构成过去分词,但是有一些动词的过去分词有不规则的形式。
be--been go--gone come--come run--run swim--swum fly--flown see--seen
speak--spoken11 do--done give--given12 hide--hidden become--become
take--taken get--gotten / got break--broken shake--shaken wake--waken
awake--awaken rise--risen lay--lain fall--fallen begin--begun know--known
forget--forgotten write--written choose--chosen drink--drunk13 eat--eaten
bite--bitten show--shown
She has forgotten her name. She has amnesia15.
她已经忘记了自己的名字。她有健忘症。
I have already drunk the coffee.
我已经喝过咖啡了。
They have gone to see the President16.
他们已经去见校长了。
She has come to see you.
她来看过你了。
二、当have被用在现在完成时态中时,它可以和前面的代名词一起组成缩写形式。
I've been to New York once before.
我曾经到过纽约。
He's gone to the fish market17.
他已经去过鱼市了。
We've come to help.
我们已经提供了帮助。
三、现在完成时用not来表达否定形式。当有not出现的时候,have可以和not组成缩写,但是此时不能和前面的代名词组成缩写。
She hasn't spoken to him.
她还没和他说过话。
提问的时候,have需要被提到句首。
Have you seen Matthew?
你见过马休了么?
四、简单过去时和现在完成时在一定程度上有共同之处,当然事实上两者之间有本质区别。当需要指明过去一个特定的时刻发生的事情时,需要使用简单过去式。
He finished18 three days ago.
他三天前做完了工作。
They finished a long time ago.
他们老早就完成工作了。
五、当没有特定指明的时间,现在完成时和一般过去时都可以使用。
I have already finished.
我早就完工了。
I already finished.
我早就完工了。
一般过去时比现在完成时更能表达事情的结果。
John has taught19 math for twenty years.
约翰已经教了20年的数学。
John taught math for twenty years.
约翰教了20年数学。
在上面的句子中,第一句保留了约翰继续教数学的可能性。第二句表明约翰已经不再教数学了,他可能退休了,换工作了,或者去世了。
Steve and Carol20 have eaten at that restaurant twice21. They really like it.
史蒂文和卡洛尔已经在那家饭店吃过两次饭了。他们真的喜欢那里。
Steve and Carol ate14 at that restaurant twice.
史蒂文和卡洛尔两次在那家饭店吃饭。
六、如果一件事情发生在过去并且延续到说话的这个时刻,就需要使用现在完成时。
They have lived here for a long time.
他们在这里已经生活了很长一段时间。
She has been in Australia for two years.
她到澳大利亚已经两年了。
We have studied for 5 hours straight22.
我们已经连续学习了5个小时。
Tim has waited for 30 minutes.
蒂姆已经等了30分钟了。
下面的句子包含了“动作在过去发生并且已经结束”的含义。
They lived here for a long time.
他们在这里住了很长一段时间
Melissa waited for 30 minutes.
梅丽莎等了30分钟。
通常当句子里有since时我们使用现在完成时。
We have lived here since June.
我们从六月份开始就住在这里。
She has been in China since last month.
她从上个月起就在中国了。
当现在完成时前有might时,就算主格是第三人称单数形式,我们还是使用have的动词原型形式。
She might23 have forgotten to lock24 the door.
她可能忘记了关门。
He might have given the painting25 to someone26.
他可能已经把画给别人了。
Should、could27、must没有简单过去时.他们用现在完成时来表达过去的状态。
He should have told you earlier.
他应该早点告诉你的。
I should have tried harder.
我应该更努力的。
She could have been nicer.
她可以做得更好的。
You must have seen him.
你一定已经见过他了。
现在完成时和一般过去时的区别
一、现在完成时一般不与表示过去某具体时间的词语搭配使用;一般过去时常常与过去的某个具体时间搭配使用。
如:I went home at 10:00 yesterday.
I have got home now.
二、现在完成时--ever和never
ever和never常用于现在完成时,放在过去分词前面;表示“经历”。ever表示“曾经”,never表示“从不”;not ever=never。现在完成时--ever和never。ever多用于疑问句,never一般用于否定句;
例句:Have you ever been to Japan?(你去过日本吗?)I have never been to Japan.(我从未去过日本。)
三、现在完成时一般疑问句的回答
现在完成时的结构是:“have/has + 过去分词”,这里have是助动词,因此,现在完成时的一般疑问句的结构是:Have/Has +主语+过去分词?
四、现在完成时一般疑问句的回答
简要回答这类疑问句时结构为:Yes, 主语+have/has. No, 主语+haven’t/ hasn’t.
为了进一步说明,常常再加一句一般过去时的句子,如:A:Have you been to Shanghai?
B: Yes, I have. I went there last year.
have been / have gone
have been to…表示“去过某地”(表示过去的经历,现在已经回来)
have gone to…表示“去了某地”(表示出去了,还没有回来)