现在完成时
时态:现在 + 完成
构成:助动词 have + 过去分词 (简写:have done)
表示:现在已经;已经
例句:I have done my homework. 我已经做完作业了。
标志词:yet, once/twice/three times, already, just, before, never, ever
现在完成时态的含义是表示过去发生的或已完成的动作对现在造成的影响或结果。
示例 1
I have done my homework. 我已经做完作业了。
- 动作:作业是过去做的
- 结果:现在已经做完了(主要说明作业完成了)
示例 2
She has come. 她已经来了。
- 动作:她是过去某个时间来的
- 结果:她已经来了(主要说明她现在还在这里)
示例 3
She has gone. 她已经走了。
- 动作:她是过去某个时间走的
- 结果:她已经走了(主要说明她现在不在这里)
时态的理解,从 助动词 和 主动词形式 两个角度看:
- 助动词 :在前面加 have/has
- 主动词 :动词的过去分词形式(done / -ed 分词)
现在完成时各句型构成:
- 肯定句:have/has + 过去分词
- 否定句:have/has + not + 过去分词
- have not = haven't
- has not = hasn't
- 一般疑问句:Have / Has + 主语 + 过去分词 + 其他? (即助动词 have 提前)
- 肯定回答:Yes, I have. 或 Yes, he has.
- 否定回答:No, I haven't. 或 No, he hasn't.
- 特殊疑问句:特殊疑问词 + have/has + 主语 + 过去分词 + 其他?
尽管过去分词和过去式一样,都属于 -ed 分词,大部分情况都是在后面加 -ed。并且已学近 100 个不规则动词的过去分词,约有半数也和它的过去式相同。但仍有特殊情况(见不规则动词表)。
过去分词的变化规则:
- 规则变化(加 -ed)
直
:直接加 -ed(一般情况)去
:去 e 加 -ed(不发音的 e 结尾时)双
:双写最后一个字母,再加 -ed(重度闭音节结尾时)改
:改 y 为 i 再加 -ed(辅音字母加 y 结尾时)
- 不规则变化
根据出现频率排序,原型 → 过去式 → 过去分词,前 30 个不规则动词如下:
- be → was/were → been
- have → had → had
- do → did → done
- make → made → made
- go → went → gone
- get → got → got
- take → took → taken
- say → said → said
- know → knew → known
- think → thought → thought
- come → came → come
- see → saw → seen
- find → found → found
- give → gave → given
- eat → ate → eaten
- tell → told → told
- feel → felt → felt
- become → became → become
- read → read → read
- buy → bought → bought
- keep → kept → kept
- write → wrote → written
- show → showed → shown
- run → ran → run
- put → put → put
- leave → left → left
- spend → spent → spent
- drink → drank → drunk
- teach → taught → taught
- grow → grew → grown
根据出现频率排序,原型 → 过去式 → 过去分词,前 30 个不规则动词如下:
- be → was/were → been
- have → had → had
- do → did → done
- make → made → made
- go → went → gone
- get → got → got
- take → took → taken
- say → said → said
- know → knew → known
- think → thought → thought
- come → came → come
- see → saw → seen
- find → found → found
- give → gave → given
- eat → ate → eaten
- tell → told → told
- feel → felt → felt
- become → became → become
- read → read → read
- buy → bought → bought
- keep → kept → kept
- write → wrote → written
- show → showed → shown
- run → ran → run
- put → put → put
- leave → left → left
- spend → spent → spent
- drink → drank → drunk
- teach → taught → taught
- grow → grew → grown
例:Finish your homework! (使用 already 在句中练习)
- I've already finished my homework.(现在完成时)
- Clean your shoes! (already)
- I've already cleaned my shoes.
- Open the window! (just)
- I've just opened the window.
- Turn on the television! (already)
- I've already turned on the television.
- Wash your clothes! (yet)
- I haven't washed my clothes yet.
例:they / buy a new house (变成现在完成时的问句,并作肯定和否定回答)
- Have they bought a new house yet?
- Yes, they have.
- No, they haven't.
- he / meet Mrs. Jones (meet-met-met)
- Has he met Mrs. Jones yet?
- Yes, he has.
- No, he hasn't.
- the boss/ leave (leave-left-left)
- Has the boss left yet?
- Yes, he has.
- No, he hasn't.
- you / find your pen (find-found-found)
- Have you found your pen yet?
- Yes, I have.
- No, I haven't.
以下练习,若是否定形式,请用缩写:
- He has cleaned the room already. 他已经打扫过房间了。
- He cleaned the room an hour ago. 他一小时前打扫了房间。
第一句是现在完成时,强调结果(打扫过房间,房间很干净);第二句是一般过去式,强调动作和时间(一小时前在打扫房间)。
区别 | 一般过去式 | 现在完成时 |
---|
用法 | 只表示过去的动作或状态,不涉及现在 | 表示过去发生的事情对现在造成的影响或结果(与现在有联系) |
时间状语 | yesterday, last week, ... ago 等表示过去的时间状语 | already, yet, ever, never, just, for, since… (不能与表示过去的时间状语连用) |
现在完成时态既涉及过去,又联系现在,它的第二种用法就是表示过去已经开始,而延续到现在的动作或状态,可以和表示一段时间的状语连用。这段时间从过去某一时刻延续到现在(包括“现在”在内)。
这种情况可由介词 for 或 since 引导的短语表示。
- 已经持续了...:for + 时间段
- 自...起:since + 时间点
- since + 时间段 + ago
- since + 过去点时间
- since + (一般过去)从句
练习
用 for 和 since 填空
- ______ three hours
- ______ last May
- ______ two weeks
- ______ ten minutes
- ______ Sunday
- ______ five years
- ______ 1998
- ______ a month
- ______ 1st January
- ______ March
- ______ half past three
- ______ yesterday
- ______ four days ago
- ______ I came to China
- ______ a long time
答案
- for three hours
- since last May
- for two weeks
- for ten minutes
- since Sunday
- for five years
- since 1998
- for a month
- since 1st January
- since March
- since half past three
- since yesterday
- since four days ago
- since I came to China
- for a long time
表示延续的情况或动作的动词,如 wait, live, be, have, know, work, study, learn, teach, speak, talk, draw, wear, walk, sleep 等。它们的现在完成时态可以和表示一段时间的状语连用。
- Mr Li has taught this class for two years. 李先生教这个班已两年了。
- How many years have you lived here? 你在这里住了几年了。
- I’ve known him since ten years ago. 十年前我就认识他了。
表示的动作不能延续,只是一瞬间就结束的动作,常见的有:come, go, arrive, reach, see, hear, leave, begin, start, lose, buy, close, fall, join, die, get up ,move 等。它们可以用于完成时态,说明某个动作的结果还存在。
- He has come back. 他已回来。(他现在在这里。)
- The film has begun. 电影已开映。(现在正放映着。)
肯定句中:这类动词不能和表示一段时间的状语连用。像 He has come back for a week. 这样的句子是错误的,因为 come back 的动作不可能延续一个星期。
方法:将非延续性动词转化为延续性动词
- He came back for a week. ❌
- He has been back for a week. ✅
- die—— be dead(死亡)
- arrive, come——be here ,be in
- leave, move—be away, be off, be out of
- become——be
- buy——have
- begin, star——be on
- join——be in, be a member of
- marry(v 结婚) ——be/get married
- have got——have
- open——be open
- close——be closed
- borrow——keep
- return——be back
- put on——wear
- wake——be awake
- break——be broken
- get up ——be up
- go out——be out
- fall asleep(ill) ——be asleep(ill)
- finish, end——be over
- get to sleep——sleep
- get to know——know
- begin to study——study
- catch a cold——have a cold
- lose——be lost
- move in——live in
- He has become a doctor. → He has ___ a doctor for 2 years.
- He has joined the party. →He has ___ the party for 3 hours.
- The shop opened 3 years ago.→ The shop ___ since 3 years ago.
- I have borrowed the book.→ I have ___ the book for 2 weeks.
- She has bought the pen.→ She has ___ the pen for one year.
- He has ended the task. →He ___ the task since 2 days ago.
- The little boy has lost.→The little boy has ___ for several days.
- She has died.→She ___ for 3 years.
- The tower has broken.→The tower has ___ since 2000.
- The meeting has begun.→The meeting has ___ for 5 minutes.
- She has arrived here.→She has ___ here for a few days.
- I have got up. → I have ___ since 5 o’clock in the morning.