英语的现在完成时表示过去发生或已经完成的某一动作对现在造成的影响或结果。这个是大家在中学时期就知道的,今天,小编为同学们带来了相当丰富的与英语现在完成时的相关语法,一起来看看吧!
1.表示过去发生或已经完成的某一动作对现在造成的影响或结果。(瞬间动词适用于这种情况)
2.表示过去已经开始并持续到现在的动作或状态,可以和表示从过去某一时刻延续到现在(包括“现在”在内)的一段时间的状语连用。(延续性动词适用于这种情况)
(1) “过去对现在”(瞬间动词)
(2) “过去到现在”(延续性动词)
一、现在完成时的构成(结构)
1. 现在完成时由“助动词have(has) 过去分词”构成。我们可以简记为:
① have(has)在前面,
② 过去分词在后边,
③ 以前(before) 从来不(never) 出现,
④最近(recently) 曾经(ever) 一(once) 两遍(twice),
⑤自从(since) 刚刚(just) for一段,今天(today) 已经(already/yet) 很明显。
2. since (1)(过去的)月份/年份
since (2) 一段时间 ago
since (3)一般过去时从句
二、瞬间动词
1 .瞬间动词又叫非延续性动词,还叫终止性动词。瞬间动词可以有现在完成时态, 但不可以接一段时间,若要接一段时间,须要做一些相应的变换。
2. 瞬间动词在完成时态中的否定式可以接一段时间。
常见的瞬间动词:
(1) 来(come)、去(go)、到(get to/reach/arrive at)、离(leave)、看(see)、听(说)hear
(2) 买(buy)、卖(sell)、开(open)、关(close)、起床(get up)
(3) 参加(join/take part in)、开发(begin/start)、还(return/give)(与)借(borrow/lend)
(4) 变成(become/turn)、带(bring/take)、给(give)、死(die)、完(finish/end)、接(receive/hear from)
瞬间动词接一段时间:
⑴.将时间状语改为时间段 ago,句中谓语动词用一般过去时.
eg.我弟弟参军两年了. My brother joined the army two years ago.
⑵.若保留for 时间段,since 时间点/从句, 或用在 how long 句型中,则需将终止性动词改为相应的状态动词或延续性动词
常见终止性动词与延续性动词(或状态动词)的对应关系:
come/go/arrive/get/reach/move------be in/at o pen-----be open
die------be dead close----be closed become---be
borrow---keep begin/start-----be on put on----wear
leave-----be away (from) fall asleep----be asleep
end/finish-----be over catch a cold-----have a cold
join the army----be in the army be a soldier
join the Party----be in the Party be a Party member
→My brother has been in the army for two years.
→My brother has been a soldier for two years.
1.现在完成时中been to, gone to和been in/at been to去过某地,表示某人的一种经历,可以和once, twice, already, ever, never等连用.
eg. She has been to Shanghai twice. (表示目前人在这里)
2.现在完成时中的 for 与 since
for 时间段 与延续性动词的现在完成时连用
since 时间点/从句
I have kept the library book for a week.= I have kept the library book since a week ago.
3. It is /has been 一段时间 since 从句.自从某事发生已有一段时间了.
eg. It is /has been two years since my brother joined the army.
注意:
1.since 引导的从句中动词用过去时
2.when 引导 的特殊问句不与现在完成时连用.
3.have got, has got 虽然是现在完成时,但have got=have has got==has