(七)现在完成时
现在完成时表示过去发生的但对现在有影响的动作,或从过去某个时间开始一直持续到现在,可能还会持续下去的动作或状态。
现在完成时的谓语形式:have / has +过去分词。
现在完成时常常与for, since 等表示一段时间的状语连用,副词 just, already, yet, never, ever, lately, recently, so far等也常用于现在完成时中。
The car has arrived.
My parents have had a good education.
I have bought a dictionary.
The delegation has already left.
So far we have only discussed the first two chapters.
We haven't had much rain this winter.
I have just received a letter from my parents.
(just already never ever放在have、has后面,过去分词前面)
We haven't reached an agreement yet.
Have they got the plan yet?
My mother has been a teacher for thirty years and now she has retired. (她退休已经十年了不能用She has been retired for ten years表达,retire不能表一段延续的时间,有for或since时谓语动词一定是可以表延续的动词)
My mother has been a teacher since she graduated from the university.
My mother has been a teacher since ten years ago.
for接一段延续的时间,since后接过去时的句子或时间状语。
I have been here since last October.
My sister has caught a bad cold.
She has been ill for a week.
完成时态的运用还应注意以下两点
1.come, go , leave, arrive, begin, start, become, join, get up 等表示短暂性动作的动词,不能与表示一段时间的状语连用,这些动作需用表示状态的词替代。
I have had this coat for one year. ( 替代have bought)
My uncle has been back for two days. (替代 has come back)
The train has been away for an hour. (替代 has left)
The twin brothers have been in the army for three years. (替代have joined the army)
The film has been on for ten minutes. (替代 has begun)
We've been up for two hours.(替代 have got up)
2.have been to 与 have gone to 的区别
have been to 表示"去过某地"或"去干过某事",人现在已经回来了;have gone to 表示"去某地了"或"去干某事了",人还没有回来。
We have been to the Great Wall.
I've been to see a doctor.
I have been to the library.
He has gone to the library.
Where is Xiao Wang? -He has gone to Shanghai.
1. "Who's that good-looking girl Frank is dancing with?"
"I don't know. I ______ her before."
A. had never seen B. was never seeing
C. have never seen D. never seen
答案 C
2. "Sorry, I'm a little bit late."
"Oh, I ______ here just a few minutes."
A. have been B. had been C. am D. will be
答案 A
3. "What a boring speaker!"
"Yes, by the time he finishes, everyone ________."
A. was asleep B. will asleep C. has been asleep D. slept
asleep只能放在系动词后面。
答案 C
4. We used to go skating in Michigan every winter, but I ______ for the past five seasons.
A. don't go B. haven't gone C. am not going D. didn't go
答案 B
used to do 过去常常做某事
5. Lead _______ as a material for sculpture since the time of the early Greeks.
A. has used B. used C. being used D. has been used
答案 D
6. "When did you decide to be a doctor?"
"Let me see. I'm twenty, and I have wanted to be a doctor since ______."
A. ten years B. ten years ago C. I was ten D. Both B and C
since接过去时的句子或过去时的状语
答案 D
(八)现在完成进行时
现在完成进行时表示在现在以前这段时间里一直在进行的动作,该动作可能仍在进行,也可能已经停止了一会儿。
现在完成进行时的谓语形式:have / has been +现在分词。
We've just been talking about you.
I've been sitting here all afternoon.
How long has it been snowing?
I have been wanting to meet you for a long time.
Recently he has been doing his work quite regularly.
所有的动词都可以有现在完成进行时,但是有些动词用于现在完成进行时和现在完成时意义差别不大,有些则只能用于现在完成进行时中。
He's been shaving since last year. (不能用has shaved)
You've been saying that for two years. (不能用have said )
My father has been writing letters all this morning.(不能用has written)
I've been going to the same grocer's since we lived here. (不能用have gone)
How long have you been waiting for me? (可以用have waited)
My family has been living here for ten years.(可以用has lived)
有些动词不表延续不可以用在现在完成时,但所有动词都可以用在现在完成进行时。
1. "Who has been planning the dance?"
"Everyone in the club ________."
A. is B. are C. have D. has
答案 D
2. Though they _______ side by side for twenty years, the two neighbors are not very friendly.
A. having been lived B. had been living
C. have been living D. having been living
答案 C
3. "You haven't got the textbook for my chemistry course yet."
"I know, and we _______ to get it for the last five weeks."
A. have been trying B. had tried
C. will be trying D. will have been trying
for the last five weeks表示延续的时间状语
答案 A