初中英語語法必備大全:現(xiàn)在完成時(shí)和過去完成(典型例題分析)
現(xiàn)在完成時(shí) 和過去完成
定義現(xiàn)在完成時(shí)用來表示之前已發(fā)生或完成的動(dòng)作或狀態(tài),其結(jié)果的確和現(xiàn)在有聯(lián)系。動(dòng)作或狀態(tài)發(fā)生在過去 但它的影響現(xiàn)在還存在;也可表示持續(xù)到現(xiàn)在的動(dòng)作或狀態(tài)。其構(gòu)成: have (has) +過去分詞。
用法:
1) 現(xiàn)在完成時(shí)所表示的動(dòng)作在說話之前已完成,但對(duì)現(xiàn)在有影響,句中沒有具體的時(shí)間狀語。此時(shí)多于never, ever, just,before,already,yet等連用。
2) 現(xiàn)在完成時(shí)所表示的動(dòng)作開始于過去,持續(xù)到現(xiàn)在,也許還會(huì)繼續(xù)持續(xù)下去。常與for,since等一段時(shí)間狀語連用。
注意:表示暫短動(dòng)作的詞(如come,go,borrow,lend,die,bur,marry等)的完成時(shí)不能與for,since等表示一段時(shí)間的狀語連用。
例如:How long may I keep the book?這本書我可以借多久?
Two weeks
Borrow和lend 都是暫短性動(dòng)詞,當(dāng)表示借多久時(shí),用動(dòng)詞keep
常見的短暫性動(dòng)詞轉(zhuǎn)換成延續(xù)性動(dòng)詞
leave --- be away, borrow --- keep, buy --- have, begin/start --- be on, die --- be dead, finish --- be over, join --- be in+組織機(jī)構(gòu),
be a member of+組織機(jī)構(gòu), open sth --- keep sth open,
fall ill --- be ill, get up---be up, catch a cold --- have a cold,
come here --- be here, go there --- be there, become --- be,
come back --- be back, fall asleep --- be asleep,
get to/ arrive/reach --- be (in), leave --- be away from,
get to know --- know, go (get) out →be out,
put on→ wear;catch a cold →have a cold等。
例:The old man died 4 years ago. ----The old man has been dead for 4 years. ---- It is 4 years since the old man died. ----Four years has passed since the old man died.
He joined the Party 2 years ago. -----He has been in the Party for 2 years. I bought the book 5 days ago. ---- I have had the book for 5 days.
比較過去時(shí)與現(xiàn)在完成時(shí)
1)過去時(shí)表示過去某時(shí)發(fā)生的動(dòng)作或單純敘述過去的事情,強(qiáng)調(diào)動(dòng)作;現(xiàn)在完成時(shí)為過去發(fā)生的,強(qiáng)調(diào)過去的事情對(duì)現(xiàn)在的影響,強(qiáng)調(diào)的是影響。
2)過去時(shí)常與具體的時(shí)間狀語連用,而現(xiàn)在完成時(shí)通常與模糊的時(shí)間狀語連用,或無時(shí)間狀語。
一般過去時(shí)的時(shí)間狀語:
yesterday, last week,…ago, in1980, in October, just now, 具體的時(shí)間狀語
現(xiàn)在完成時(shí)的時(shí)間狀語
for, since, so far, ever, never, just, yet, till / until, up to now, in past years, always,
3)現(xiàn)在完成時(shí)可表示持續(xù)到現(xiàn)在的動(dòng)作或狀態(tài),動(dòng)詞一般是延續(xù)性的,如live, teach, learn, work, study, know.
過去時(shí)常用的非持續(xù)性動(dòng)詞有come, go, leave, start, die, finish, become, get married等。
舉例:
I saw this film yesterday.(強(qiáng)調(diào)看的動(dòng)作發(fā)生過了。)
I have seen this film. (強(qiáng)調(diào)對(duì)現(xiàn)在的影響,電影的內(nèi)容已經(jīng)知道了。)
句子中如有過去時(shí)的時(shí)間副詞(如 yesterday, last, week, in 1960)時(shí),不能使用現(xiàn)在完成時(shí),要用過去時(shí)。
(錯(cuò))Tom has written a letter to his parents last night.
(對(duì))Tom wrote a letter to his parents last night.
句子中如有過去時(shí)的時(shí)間副詞(如 yesterday, last, week, in 1960)時(shí),不能使用現(xiàn)在完成時(shí),要用過去時(shí)。
(錯(cuò))Tom has written a letter to his parents last night.
(對(duì))Tom wrote a letter to his parents last night.
用一般過去時(shí)代替完成時(shí)
1) 兩個(gè)動(dòng)作如按順序發(fā)生,又不強(qiáng)調(diào)先后,或用then,and,but 等連詞時(shí),多用一般過去時(shí)。
When she saw the mouse,she screamed.
My aunt gave me a hat and I lost it.
2 ) 兩個(gè)動(dòng)作相繼發(fā)生,可用一般過去時(shí);如第一個(gè)動(dòng)作需要若干時(shí)間完成,用過去完成時(shí)。
When I heard the news, I was very excited.
3) 敘述歷史事實(shí),可不用過去完成時(shí),而只用一般過去時(shí)。
Our teacher told us that Columbus discovered America in 1492.
用于現(xiàn)在完成時(shí)的句型
1)It is the first / second time…. that…結(jié)構(gòu)中的從句部分,用現(xiàn)在完成時(shí)。
It is the first time that I have visited the city.
It was the third time that the boy had been late.
2)This is the… that…結(jié)構(gòu),that 從句要用現(xiàn)在完成時(shí).
This is the best film that I've (ever) seen.
這是我看過的最好的電影。
This is the first time (that) I've heard him sing. 這是我第一次聽他唱歌。
典型例題
(1) ---Do you know our town at all?
---No, this is the first time I ___ here.
A. was B. have been C. came D. am coming
答案B. This is the first time 后面所加從句應(yīng)為現(xiàn)在完成時(shí),故選B。
(2) ---Have you ____ been to our town before?
---No, it's the first time I ___ here.
A. even, come B. even, have come C. ever, come D. ever, have come
答案D. ever意為曾經(jīng)或無論何時(shí),反意詞為never,此兩詞常用于完成時(shí)。 This is the largest fish I have ever seen. It is / was the first time +that-clause 的句型中,從句要用完成時(shí)。
注意:非延續(xù)性動(dòng)詞的否定形式可以與表示延續(xù)時(shí)間的狀語連用。即動(dòng)作不發(fā)生的狀態(tài)是可以持續(xù)的。
(錯(cuò))I have received his letter for a month.
(對(duì))I haven't received his letter for almost a month.
比較since和for
Since 用來說明動(dòng)作起始時(shí)間,for用來說明動(dòng)作延續(xù)時(shí)間長(zhǎng)度。
I have lived here for more than twenty years.
I have lived here since I was born..
My aunt has worked in a clinic since 1949.
Some new oilfields have been opened up since 1976.
I have known Xiao Li since she was a little girl.
My brother has been in the Youth League for two years.
I have not heard from my uncle for a long time.
注意:并非有for 作為時(shí)間狀語的句子都用現(xiàn)在完成時(shí)。
I worked here for more than twenty years.
(我現(xiàn)在已不在這里工作。)
I have worked here for many years.
(現(xiàn)在我仍在這里工作。)
小竅門: 當(dāng)現(xiàn)在完成時(shí)+一段時(shí)間,這一結(jié)構(gòu)中,我們用下面的公式轉(zhuǎn)化,很容易就能排除非延續(xù)動(dòng)詞在完成時(shí)中的誤使。
1) (對(duì)) Tom has studied Russian for three years.
= Tom began to study Russian three years ago, and is still studying it now.
2) (錯(cuò)) Harry has got married for six years.
= Harry began to get married six years ago, and is still getting married now.
顯然,第二句不對(duì),它應(yīng)改為 Harry got married six years ago. 或 Harry has been married for six years.
since的四種用法
1) since +過去一個(gè)時(shí)間點(diǎn) (如具體的年、月、日期、鐘點(diǎn)、1980, last month, half past six)。
I have been here since 1989.
2) since +一段時(shí)間+ ago
I have been here since five months ago.
3) since +從句 Great changes have taken place since you left.
4) It is +一段時(shí)間+ since從句
It is two years since I became a postgraduate student.
延續(xù)動(dòng)詞與瞬間動(dòng)詞
1) 用于完成時(shí)的區(qū)別
延續(xù)動(dòng)詞表示經(jīng)驗(yàn)、經(jīng)歷; 瞬間動(dòng)詞表示行為的結(jié) 果,不能與表示段的時(shí)間狀語連用。
He has completed the work. 他已完成了那項(xiàng)工作。 (表結(jié)果)
I've known him since then. 我從那時(shí)起就認(rèn)識(shí)他了。(表經(jīng)歷)
2) 用于till / until從句的差異
延續(xù)動(dòng)詞用于肯定句,表示"做……直到……" 瞬間動(dòng)詞用于否定句,表示"到……,才……"
He didn't come back until ten o'clock.
他到10 點(diǎn)才回來。
He slept until ten o'clock.
他一直睡到10點(diǎn)。
典型例題
1. You don't need to describe her. I ___ her several times.
A. had met B. have met C. met D. meet
答案B. 首先本題后句強(qiáng)調(diào)對(duì)現(xiàn)在的影響,我知道她的模樣,你不用描述。再次,several times告知為反復(fù)發(fā)生的動(dòng)作,因此用現(xiàn)在完成時(shí)。
2.---I'm sorry to keep you waiting.
---Oh, not at all. I ___ here only a few minutes.
A. have been B. had been C. was D. will be
答案A. 等待的動(dòng)作由過去開始,持續(xù)到現(xiàn)在,應(yīng)用現(xiàn)在完成時(shí)。
(四)過去完成時(shí)
1) 概念:表示過去的過去
其構(gòu)成是had +過去分詞構(gòu)成
2) 用法
a. 在told, said, knew, heard, thought等動(dòng)詞后的賓語從句。
She said (that) she had never been to Paris.
b. 狀語從句
在過去不同時(shí)間發(fā)生的兩個(gè)動(dòng)作中,發(fā)生在先,用過去完成時(shí);發(fā)生在后,用一般過去時(shí)。
When the police arrived, the thieves had run away.
3) 過去完成時(shí)的時(shí)間狀語before, by, until , when, after, once, as soon as。
He said that he had learned some English before.
By the time he was twelve, Edison had began to make a living by himself.
Tom was disappointed that most of the guests had left when he arrived at the party.
典型例題
The students ___ busily when Miss Brown went to get a book she ___ in the office.
A. had written, left B,were writing, has left C. had written, had left D. were writing, had left
答案D. "把書忘在辦公室"發(fā)生在"去取書"這一過去的動(dòng)作之前,因此"忘了書"這一動(dòng)作發(fā)生在過去的過去,用過去完成時(shí)。句中when表示的是時(shí)間的一點(diǎn),表示在"同學(xué)們正忙于……"這一背景下,when所引導(dǎo)的動(dòng)作發(fā)生。因此
注意: had no … when 還沒等…… 就……
had no sooner… than 剛…… 就……
He had no sooner bought the car than he sold it.
過去完成時(shí)與現(xiàn)在完成時(shí)的比較
I have known him for three years.我認(rèn)識(shí)他三年了。
I had known him when I was a student.
我當(dāng)學(xué)生時(shí),就已經(jīng)認(rèn)識(shí)他了。
過去完成時(shí)與現(xiàn)在完成時(shí)二者用法基本相同,但現(xiàn)在完成時(shí)以現(xiàn)在的時(shí)間為基點(diǎn),過去完成時(shí)則以過去的時(shí)間為基點(diǎn),與現(xiàn)在無關(guān),即過去的過去。
I have finished my experiment.
我已經(jīng)做完實(shí)驗(yàn)了。
(表示現(xiàn)在說話時(shí)已經(jīng)做完實(shí)驗(yàn))
By six o'clock,I had finished my experiment.
在六點(diǎn)以前,我就已經(jīng)做完實(shí)驗(yàn)了。
(表示在過去的某一時(shí)間six o'clock以前已經(jīng)做完實(shí)驗(yàn),與現(xiàn)在毫無關(guān)系)
注意
過去完成時(shí),主要用于間接引語中。
閩公網(wǎng)安備35010202002010號(hào)