現(xiàn)在完成時與一般過去時的區(qū)別專題與練習(xí)
一、現(xiàn)在完成時
1. 現(xiàn)在完成時的構(gòu)成
現(xiàn)在完成時是由助動詞 have (has)+動詞的過去分詞構(gòu)成。助動詞說明該謂語是屬于現(xiàn)在時范圍。它和主語的人稱、數(shù)要保持一致。過去分詞是主要的謂語動詞,說明句子的意義。
2. 現(xiàn)在完成時的用法
現(xiàn)在完成時表示過去某時發(fā)生的行為對主語目前產(chǎn)生的影響。即用過去發(fā)生的某個行為來說明現(xiàn)在的某種情況。
We are good friends.(現(xiàn)在的情況)
I knew him in 1997.(過去的動作)
We have known each other since 1997.
(現(xiàn)在完成時把過去的動作和現(xiàn)在聯(lián)系起來并著眼于現(xiàn)在)
(1)表示動作發(fā)生在過去某個不確定的時間,但對現(xiàn)在留下了某種影響和結(jié)果。常被just、already、yet 等副詞修飾。如:
-Have you had lunch yet?
-Yes, I have. I've just had it.
你(已經(jīng))吃午飯了嗎? 我剛剛吃過。(現(xiàn)在我不餓了)
(2)表示從過去某一時刻開始一直持續(xù)到現(xiàn)在的動作或狀態(tài)。這個動作可能剛停止,可能仍然在進行。常帶有for和since等表示一段時間的狀語。
如:He has taught here since 1981
他自1981年就在這兒教書。(可能還要繼續(xù)教)
I haven't seen her for four years.
我有四年沒見到她了。
(3)表示說話前發(fā)生過一次或多次的動作,現(xiàn)在成為一種經(jīng)驗,一般譯為漢語“過”,常帶有twice, ever,
never, three times等時間狀語。
如: I have been to Beijing twice.我去過北京二次。
3.現(xiàn)在完成時的時間狀語
(1)現(xiàn)在完成時屬于現(xiàn)在時范圍,故不能和過去的時間狀語連用。如:yesterday,last Sunday,in1990,three years ago等。但是,在強調(diào)動作產(chǎn)生的后果和影響時,可以和一些表示不確定的時間狀語連用。
a. 用副詞already和yet。already一般用于肯定句中,yet一般用于否定句和疑問句中。
如:We have already finished our homework.我們已完成作業(yè)了。
They haven't finished their homework yet.他們還沒有完成作業(yè)。
b.用ever 和never。多用于否定或疑問句中,表示“曾經(jīng)”或“從未”等。
如:-Have you ever been to the Great Wall? 你曾經(jīng)去過長城嗎?
-I have never been to the Great Wall.我從未去過長城。
c.用表示到說話為止的過去時間狀語,如just, before, up to now, the past few years等。
例如:I have seen her before, but I can not remember where.
我以前見過她,但記不起在哪里見過。
He has been there three times the last few days.
近幾天他去過那里三次了。
d.用包括“現(xiàn)在”在內(nèi)的時間狀語,如:now, today, this morning (month, year, term)等。
例如:-Have you met him today? -No, I haven't.
今天你見過他嗎?我 沒有。
How many times have you been there this year?
今年你去過那里多少次?
(2)現(xiàn)在完成時可以和帶有since或for等表示“一段時間”的狀語連用,表示動作或狀態(tài)從某一時刻開始,一直持續(xù)到現(xiàn)在。如:I haven't seen him for two years. 但是,像come, arrive, buy等終止性動詞不能與表示“一段時間”的狀語連用。要用,必須改為“be(在)”等延續(xù)性動詞來表述,F(xiàn)歸納總結(jié)一下由非延續(xù)性動詞到延續(xù)性動詞的轉(zhuǎn)換:
arrive →be here begin(start)→be on
die →be dead come back →be back
leave →be away fall ill(sick, asleep)→be ill(sick, asleep)
get up →be up go out →be out
finish →be over put on →wear 或be on
open →be open join →be in或 be a member of…
close →be closed go to school →be a student
borrow →keep buy →have
catch(a cold)→have(a cold) get to know →know
begin to study →study come to work →work等
如:He has been a soldier for three years.他參軍三年了。
His father has been dead for two years.他父親去世二年了。
The film has been on for ten minutes.電影已開始十分鐘了。
We have studied English for three years. 我們(開始)學(xué)英語已三年了。
4.幾點注意事項
(1)have been(to)與have gone( to)的區(qū)別:have been(to)表示“去過某地(現(xiàn)在已經(jīng)回來了)”,可用于各人稱;have gone(to)表示“去某地了(說話時某人不在當(dāng)?shù)?”,常用于第三人稱,前者可與once ,never, several times等連用,后者則不能。如:They have been to Beijing twice.他們?nèi)ミ^北京兩次。
He has gone to Beijing . 他去北京了。
(2)如單純表示一段時間,或強調(diào)一段時間,雖有since一詞,也不必用完成時。