學好現在完成時應注意的六方面
一、基本構成方法
現在完成時由“have/has+過去分詞”構成。其中的have/has爲助動詞,構成疑問句
時,可將其提前;構成否定句時,可直接在其後加not。
二、兩種常見用法
現在完成時主要有兩種用法,一種是已完成用法,也叫影響性用法;另一種是未完成用
法,也叫持續性用法。兩種用法的特點是:
1.已完成用法(影響性用法):該用法的現在完成時表示一個過去發生的動作在過去已經完
成,並且這個過去發生並完成的動作對現在有影響或結果,同時說話者強調的或感興趣的就
是這個影響或結果。如:
She has left.她離開了(對現在的影響或結果:她現在不在這兒)。
Has she found her ear key?她找到她的車鑰匙了嗎(對現在的影響或結果:她能開她的車
了嗎)?
I have finished my work.我的工作做完了(對現在的影響或結果:現在我沒事了)。
He has eaten nothing today.他今天什麼也沒吃(對現在的影響或結果:他現在一定很餓)
。
2.未完成用法(持續性用法):該用法的現在完成時表示一個過去發生的動作並未在過去完
成,而是一直持續到現在,並且有可能繼續下去(也可能到此結束)。如:
How have you been?你近來怎樣?
She has been a teacher for 20 years.她已當了20年的老師。
How long have you lived here?你在這裏住了多久了?
They have been married for ten years.他們結婚已經10年了。
I've known her for a long time.我認識她很長時間了。
注:除以上用法外,現在完成時還可表示過去的重複動作甚至將來動作。如:
He has always gone to work by bike.他總是騎自行車上班。
I'll go to bed when I've finished my homework.我做完作業後就上牀睡覺了。
三、通常連用的副詞
經常與現在完成時連用的副詞有already,never,ever,just,before,recently等。
如:
We have finished our work already.我們已經完成了工作。
He has never driven a car before.他過去從未開過車。
Have you ever been a teacher?你當過教師嗎?
She's just been to a party.她剛參加一個晚會回來。
I've just had some photos taken.我剛照了幾張相。
但若不強調動作對現在的影響,這些副詞也可用在一般過去時的句子中。如:
He just arrived in Japan.他剛到日本。
Such things didn't happen before.那樣的事以前沒有發生過。
I hear that he went abroad recently.我聽說他最近出國了。
四、since與現在完成時
since不管用作介詞、連詞還是副詞,句子(主句)謂語通常都用現在完成時。如:
I haven't seen her since last week.自上週以來我一直未見過她。
I met him in 1975 and haven't seen him since.1975年我見過他,但自那以後就一直未
見到他。
We have been good friends since we met at school.自從讀書相識以來,我們一直是好
朋友。
注:表示時間長度時,通常用一般現在時代替現在完成時。如:
It's a long time since I met you last.好久不見了。
It's about six months since we arrived here.我們到這裏大約有半年了。
五、現在完成時與一般過去時的區別
現在完成時的已完成用法很容易與一般過去時相混淆,其區別是:前者強調對現在的影
響和結果,後者不強調這個影響和結果,而是強調這個動作發生的時間是在過去。如:
I've lived here for ten years.我在這裏住了10年。(現在仍住這兒)
I lived here for ten years.我在這裏住過10年。(現在不住這兒了)
Has he got up?他起來了嗎?(着眼現在情況)
Did you get up very early?你起來很早嗎? (着眼動作本身)
I've got no news from him.我沒聽到他的消息。(不知道他的情況怎樣)
I got the news from Jim.這消息我是從吉姆那聽來的。(單純談論動作)
六、have been t0和have gone t0的用法區別
兩者均可後接地點,前者表示去過某地,通常可與表示次數的狀語連用;後者表示到某
地去了,強調說話的當時去某地的人不在場。比較:
She has been to Europe twice.她到歐洲去過兩次。
She has gone to Europe.她到歐洲去。(即現在不在這兒)
注:若其後不是接名詞,而是接副詞,則不用to。如:
He has been abroad many times.
He has gone home.他回家去了。
現在完成時由“have/has+過去分詞”構成。其中的have/has爲助動詞,構成疑問句
時,可將其提前;構成否定句時,可直接在其後加not。
二、兩種常見用法
現在完成時主要有兩種用法,一種是已完成用法,也叫影響性用法;另一種是未完成用
法,也叫持續性用法。兩種用法的特點是:
1.已完成用法(影響性用法):該用法的現在完成時表示一個過去發生的動作在過去已經完
成,並且這個過去發生並完成的動作對現在有影響或結果,同時說話者強調的或感興趣的就
是這個影響或結果。如:
She has left.她離開了(對現在的影響或結果:她現在不在這兒)。
Has she found her ear key?她找到她的車鑰匙了嗎(對現在的影響或結果:她能開她的車
了嗎)?
I have finished my work.我的工作做完了(對現在的影響或結果:現在我沒事了)。
He has eaten nothing today.他今天什麼也沒吃(對現在的影響或結果:他現在一定很餓)
。
2.未完成用法(持續性用法):該用法的現在完成時表示一個過去發生的動作並未在過去完
成,而是一直持續到現在,並且有可能繼續下去(也可能到此結束)。如:
How have you been?你近來怎樣?
She has been a teacher for 20 years.她已當了20年的老師。
How long have you lived here?你在這裏住了多久了?
They have been married for ten years.他們結婚已經10年了。
I've known her for a long time.我認識她很長時間了。
注:除以上用法外,現在完成時還可表示過去的重複動作甚至將來動作。如:
He has always gone to work by bike.他總是騎自行車上班。
I'll go to bed when I've finished my homework.我做完作業後就上牀睡覺了。
三、通常連用的副詞
經常與現在完成時連用的副詞有already,never,ever,just,before,recently等。
如:
We have finished our work already.我們已經完成了工作。
He has never driven a car before.他過去從未開過車。
Have you ever been a teacher?你當過教師嗎?
She's just been to a party.她剛參加一個晚會回來。
I've just had some photos taken.我剛照了幾張相。
但若不強調動作對現在的影響,這些副詞也可用在一般過去時的句子中。如:
He just arrived in Japan.他剛到日本。
Such things didn't happen before.那樣的事以前沒有發生過。
I hear that he went abroad recently.我聽說他最近出國了。
四、since與現在完成時
since不管用作介詞、連詞還是副詞,句子(主句)謂語通常都用現在完成時。如:
I haven't seen her since last week.自上週以來我一直未見過她。
I met him in 1975 and haven't seen him since.1975年我見過他,但自那以後就一直未
見到他。
We have been good friends since we met at school.自從讀書相識以來,我們一直是好
朋友。
注:表示時間長度時,通常用一般現在時代替現在完成時。如:
It's a long time since I met you last.好久不見了。
It's about six months since we arrived here.我們到這裏大約有半年了。
五、現在完成時與一般過去時的區別
現在完成時的已完成用法很容易與一般過去時相混淆,其區別是:前者強調對現在的影
響和結果,後者不強調這個影響和結果,而是強調這個動作發生的時間是在過去。如:
I've lived here for ten years.我在這裏住了10年。(現在仍住這兒)
I lived here for ten years.我在這裏住過10年。(現在不住這兒了)
Has he got up?他起來了嗎?(着眼現在情況)
Did you get up very early?你起來很早嗎? (着眼動作本身)
I've got no news from him.我沒聽到他的消息。(不知道他的情況怎樣)
I got the news from Jim.這消息我是從吉姆那聽來的。(單純談論動作)
六、have been t0和have gone t0的用法區別
兩者均可後接地點,前者表示去過某地,通常可與表示次數的狀語連用;後者表示到某
地去了,強調說話的當時去某地的人不在場。比較:
She has been to Europe twice.她到歐洲去過兩次。
She has gone to Europe.她到歐洲去。(即現在不在這兒)
注:若其後不是接名詞,而是接副詞,則不用to。如:
He has been abroad many times.
He has gone home.他回家去了。