英语的现在完成时

做个小测验,检验一下学习成果

现在完成时把过去和现在联系起来。它的构成是have 或 has + 过去分词,用来谈论经历、变化以及尚未结束的时间段。

现在完成时的构成

I、you、we 和 they 用 have,he、she 和 it 用 has,后面再加过去分词。

主语肯定句否定句疑问句
II have workedI haven't workedHave I worked?
youyou have workedyou haven't workedHave you worked?
he, she, itshe has workedshe hasn't workedHas she worked?
wewe have workedwe haven't workedHave we worked?
theythey have workedthey haven't workedHave they worked?

规则动词加 -ed (work, worked)。很多常用动词是不规则的,要记住它们的过去分词,参见不规则动词一课。

原形过去分词例句
gogoneShe has gone home.
seeseenI've seen this film.
eateatenWe've eaten already.
bebeenHave you been to Rome?

什么时候用

具体时间不重要或者还没有结束,重要的是现在的结果或经历。汉语里常用“过”“了”“已经”来表达类似的意思。

用法例句
人生经历I've visited Canada twice.
过去的动作对现在有影响I've lost my keys.
最新消息The prime minister has resigned.
尚未结束的时间段She's drunk three coffees today.
从过去开始并持续到现在的情况We've lived here for ten years.

ever, never, already, yet 和 just

这些词经常和现在完成时连用。注意每个词在句子中的位置。

词意思和位置例句
ever曾经,用于疑问句,放在过去分词前Have you ever ridden a horse?
never从来没有,放在过去分词前I've never ridden a horse.
already已经(比预期早),放在过去分词前He's already finished.
yet到目前为止,用于疑问句和否定句,放在句末Has the bus come yet?
just刚刚,放在过去分词前They've just arrived.

小测验

关于本课的5道小题,看看你能答对几道?

0 XP
第1题,共5题

请选择正确答案。

Tom isn't here. He ___ to the bank.

for 和 since

两者都回答 How long?(多长时间?)这个问题。for 后面接一段时间,since 后面接起始时间点。

for + 一段时间since + 起始点
for two hourssince nine o'clock
for three weekssince Monday
for ten yearssince 2015
for a long timesince I was a child

现在完成时与一般过去时

说出或问到事情发生的具体时间,或者时间已经结束时,用一般过去时。没有给出已结束的时间时,用现在完成时。

现在完成时一般过去时
I've been to Paris.I went to Paris last year.
Have you seen my phone?Did you see the match yesterday?
She's worked here since May.She worked here from 2010 to 2015.
I've had two exams this week.I had two exams last week.

been 与 gone

go 有两个意思不同的过去分词。

  • He has been to Spain:他去过西班牙,已经回来了。
  • He has gone to Spain:他去西班牙了,现在人在那里。

常见错误

现在完成时不能和已经结束的时间连用;表示持续了多久时,不能用一般现在时。

错误正确
I have seen him yesterday.I saw him yesterday.
I live here since 2018.I have lived here since 2018.
She has went home.She has gone home.
I've lived here since ten years.I've lived here for ten years.

例句

I've never eaten octopus.我从没吃过章鱼。
Have you finished your report yet?你的报告写完了吗?
She's just left the office.她刚离开办公室。
We've known each other since school.我们上学时就认识了。
They haven't called me for weeks.他们好几个星期没给我打电话了。
My brother has broken his arm.我弟弟摔断了胳膊。
How long have you lived in London?你在伦敦住了多久了?

更多英语语法课