一、构成方法
1.肯定式构成法:由“have /has +过去分词”构成。如:
I've seen this film.我看过这部电影。
He has lost his maths book.他把数学书丢了。
2.否定式构成法:由“have /has +not +过去分词”构成。have,has与not分别缩写为 haven't或hasn't。如:
They haven't come back yet.他们还没回来。
She hasn't bought that book.她没买那本书。
3.一般疑问句构成法:将have /has提到主语前,简略答语用:Yes,主语+have/has.或No,主语+haven't/hasn't.。如:
—Have you ever made cakes?你做过蛋糕吗?
—Yes,I have.是的,我做过。
(No,I haven't.不,我没做过。)
—Has Tom finished his homework?汤姆已完成家庭作业了吗?
—Yes,he has.是的,他已完成了。
(No,he hasn't.不,他没有完成。)
〔特别注意〕
在现在完成时的各种结构中,have,has均为助动词,无实际意义,只起构成时态结构的作用,但不可以省略。have,has之后要用动词的过去分词,不可用过去式。规则动词的过去分词的构成规则与规则动词的过去式的构成规则相同。不规则动词的过去分词要特别牢记,详见课后附录中的不规则动词变化表。
二、用法
1.意义
现在完成时表示过去发生或已完成的某一动作对现在造成的影响或结果。也就是说,现在完成时虽与过去有关,但实际上看重的是对现在的影响或结果。如:
I have closed the door.我把门关上了。(实际是:The door is closed now.)
2.标志词
(1)与现在完成时连用的时间副词常见的有:already,yet,just,never,ever,before等等。每一个副词都可作为现在完成时的标志,但它们在句中的位置不尽相同:放在助动词 have /has之间的有already,just,never,ever;放在句尾的有already,yet,before。
注意:a.通常情况下,already用于肯定句中,但有时可放在疑问句的末尾,表示惊讶、怀疑等语气。如:
I have already sung this song.我已唱过这道歌曲了。
Has he returned already?他已回来了?
b.yet通常放在否定句的末尾,表示“仍然、还”之意,还可放在疑问句的末尾,表示“已经”之意。如:
He hasn't known this news yet.他还不知道这个消息呢。
—Has Jim left here yet?吉姆已离开这儿了吗?
—Not yet.还没呢。
c.never表示“从来、从不”之意,本身已表否定。如:
I've never spoken to foreigners.我从未与外国人讲过话。
d.before后面无其它词时,与现在完成时连用,不可用ago代替,ago只与一般过去时连用。如:
He has visited the Great Wall before.以前他参观过长城。
He visited the Great Wall two days ago.两天以前他参观过长城。
(2)“for +一段时间”或“since +表过去的时间点”或“since +从句”
现在完成时表示过去已经开始,持续到现在的动作或状态,可以和表示从过去某一时刻延续到现在(包括“现在”在内)的一段时间的状语连用。这类时间状语有:“for +一段时间”,“since +表过去的时间点”或“since +从句”连用。其中前两项可以互换。如:
He has worked here for five years.=He has worked here since five years ago.他已在这里工作五年了。
We have taught in this school since we came to China.自从我们来到中国就在这所学校教书。
〔特别注意〕
a.不论时间状语是“for +一段时间”、“since +表示过去的时间点”,还是“since +从句”,现在完成时结构中必须使用延续性的动词。瞬间动词的否定式可与这类时间状语连用。如:
这本书他已借三天了。
(×)He has borrowed this book for three days.
(√)He has kept this book for three days.
好长时间我没见到他了。
(√)I haven't met him for a long time.
b.since引导时间状语从句,主句用现在完成时,从句用一般过去时。也可以用固定句式:It is +时间段+since +从句(一般过去时)。此时主句中仍可用现在完成时结构has been。如:
We haven't heard from him since he left here.自从他离开这里,我们就没收到他的信。
It is /has been three weeks since he went to Shanghai.自从他去上海,已有三周了。
c.“for +一段时间”、“since +表过去的时间点”及“since +从句”均用how long来提问。如:
He has been here for a month.�
How long has he been here?他到这儿多久了?
参考资料:http://school.ecp.com.cn/school9/c3tb_0301/ca20.htm