英語語法之現在完成時

現在完成時

一、概念:現在完成時用來表示之前已發生或完成的動作或狀態,其結果的影響現在還存在;也可表示持續到現在的動作或狀態。

1.現在完成時的結構: 主語 + “have(has) + 過去分詞”

2.常與現在完成時連用的時間狀語有:since, for, during, over等引導出的短語;副詞already, yet, just, ever, now, before, often, lately, recently等;狀語詞組this week (morning, month, year), so far, up to now, many times, up to the present等。例如:

1)I haven’t been there for five years.

2)So far, she hasn’t enjoyed the summer vacation.

3)There have been a lot of changes since 1978.

(3)用法:

1) 表示動作到現在為止已經完成或剛剛完成。(常與yet,already,just連用)

  例:I bought a new house, but I _________ my old one yet, so at the moment I have two houses.

  A) didn't sell B) sold C) haven't sold D) would sell

  答案是C) haven't sold。

2) 表示從過去某時刻開始,持續到現在的動作或情況,並且有可能會繼續延續下去。此時經常用延續性動詞。時間狀語常用since加一個過去的時間點,或for 加一段時間,或by加一個現在時間。

  例:Great as Newton was, many of his ideas ___________ today and are being modified by the work of scientists of our time.

  A) are to challenge C) have been challenged

  B) may be challenged D) are challenging

  全句的意思是:“雖然牛頓是個偉大的人物,但他的許多見解直到今天還在受到挑戰,並且被現代科學家的工作所修正。”challenge是及物動詞,在本句中應當是被動語態;其動作延續到今天,所以要用現在完成時態。可見答案是C) have been challenged。A) are to challenge和D) are challenging都是主動語態,不可能是答案。B) may be challenged雖然是被動語態,但意思與全句內容不合,所以不對。

  C) 表示發生在過去,但對現在仍有影響的動作或情況。通常用點動詞,如:arrive, begin, find, give, lose等。

  例:John has broken his left leg.(約翰摔斷了左腿。)

  注意事項

  A) 現在完成時是聯繫過去和現在的紐帶。現在完成時和過去時的區別在於:現在完成時強調動作的動態,或受動態的影響,是動態的結果,對現在有影響;過去時只表示過去的某個具體時間裡發生的動作,與現在沒有聯繫。

  例:He worked in that hospital for 8 years.(他曾經在那家醫院工作了8年。這只是講述一個過去的事實,他現在已經不在那家醫院了。)

  He has worked in that hospital for 8 years.(他已經在那家醫院裡工作了8年。表示他從過去開始工作,一直工作到現在,現在仍在那家醫院工作。)

  B) 因為含有for加一段時間或since加一個時間點這樣的時間狀語的完成時,有動態和延續性的特點,所以不能使用終端動詞或瞬間動詞。

  例:My sister has been married for 5 years.(過去分詞做表語表示狀態,可以延續)

  My sister has married. Don't disturb her.(終端動詞)

  C) 在"this is the first/ second/ third…… time that……"句型裡要求用完成時。

  例:This is the second time that the products of our company have been shown in the International Exhibition.(這是我公司產品第二次參加國際展覽會。)

  D) 句型"It is/ has been……since"所使用的兩種時態都正確。

  例:It is/ has been 10 years since I last saw him.(從我上次見到他以來已經10年了。)

  E) 在"no sooner than"、"hardly/ scarcely ……when"、"before"、"prior to"等句型中,主句要求完成時。

  例:I haven't met that professor prior to today.(以前我從未見過那位教授。)

二、 比較一般過去時與現在完成時

1)一般過去時表示過去某時發生的動作或單純敘述過去的事情,強調動作;現在完成時為過去發生的,強調過去的事情對現在的影響,強調的是影響。

2)一般過去時常與具體的時間狀語連用,而現在完成時通常與模糊的時間狀語連用,或無時間狀語。

一般過去時的時間狀語:yesterday, last week,…ago, in1980, in October, just

now等,皆為具體的時間狀語。

現在完成時的時間狀語:for, since, so far, ever, never, just, yet, till/until, up to now, in past years, always等,皆不確定的時間狀語。

共同的時間狀語:this morning, tonight, this April, now, already, recently, lately 等。

3)現在完成時可表示持續到現在的動作或狀態,動詞一般是延續性的,如live, teach, learn, work, study, know.。

一般過去時常用的非持續性動詞有come, go, leave, start, die, finish, become, get married等。例如:

I saw this film yesterday. (強調看的動作發生過了)

I have seen this film. (強調對現在的影響,電影的內容已經知道了)

Why did you get up so early? (強調起床的動作已發生過了)

Who hasn't handed in his paper? (強調有卷子未交,疑為不公平競爭)

He has been in the League for three years. (在團內的狀態可延續)

He has been a League member for three years. (是團員的狀態可持續)

句子中如有過去時的時間副詞(如yesterday, last, week, in 1960)時,不能使用現在完成時,要用過去時。

(錯)Tom has written a letter to his parents last night.

(對)Tom wrote a letter to his parents last night.

三、 用於現在完成時的句型

1)It is the first / second time.... that…結構中的從句部分,用現在完成時。例如:

It is the first time that I have visited the city. 這是我第一次訪問這城市。

This is the first time (that) I've heard him sing. 這是我第一次聽他唱歌。

注意:It was the third time that the boy had been late.

2)This is +形容詞最高級+that…結構,that 從句要用現在完成時。例如:

This is the best film that I've (ever) seen. 這是我看過的最好的電影。

典型例題

(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 後面所加從句應為現在完成時,故選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意為曾經或無論何時,反意詞為never,此兩詞常用於完成時。

注意:非延續性動詞的否定形式可以與表示延續時間的狀語連用。即動作不發生的狀態是可以持續的。

(錯)I have received his letter for a month.

(對)I haven't received his letter for almost a month.

四、 比較since和for

Since 用來說明動作起始時間,for用來說明動作延續時間長度。例如:

I have lived here for more than twenty years.我住在這兒二十多年了。

I have lived here since I was born. 我從出生起就住在這兒了。

注意:並非有for 作為時間狀語的句子都用現在完成時。

I worked here for more than twenty years. (我現在已不在這裡工作。)

I have worked here for many years.(現在我仍在這裡工作。)

注意:用句型轉換的方法,很容易排除非延續動詞在有for/since結構的完成時中的誤用。

1)(對) Tom has studied Russian for three years. = Tom began to study Russian three years ago, and is still studying it now.

2)(錯) Harry has got married for six years. = Harry began to get married six years ago, and is still getting married now.

顯然,第二句不對,它應改為 Harry got married six years ago. 或 Harry has been married for six years.

五、 since的四種用法

1) since +過去一個時間點(如具體的年、月、日期、鐘點、1980, last month, half past

six)。例如:

I have been here since 1989. 1989起,我一直在這兒。

2) since +一段時間+ ago。例如:

I have been here since five months ago. 我在這兒,已經有五個月了。

3) since +從句。例如:

Great changes have taken place since you left. 你走後,變化可大了。

Great changes have taken place since we were here. 我們走後,變化可大了。

4) It is +一段時間+ since從句。例如:

It is two years since I became a postgraduate student. 我考上研究生有兩年了。

六、 延續動詞與瞬間動詞

1) 用於完成時的區別

延續動詞表示經驗、經歷; 瞬間動詞表示行為的結果,不能與表示段的時間狀語連用。例如:

He has completed the work. 他已完成了那項工作。 (表結果)

I've known him since then. 我從那時起就認識他了。(表經歷)

2) 用於till / until從句的差異

延續動詞用於肯定句,表示"做……直到……" 瞬間動詞用於否定句,表示"到……,才……"。例如:

He didn't come back until ten o'clock. 他到10 點才回來。

He slept until ten o'clock. 他一直睡到10點。

典型例題

1. You don't need to describe her. I ___ her several times.

A. had met B. have met C. met D. meet

答案B. 首先本題後句強調對現在的影響,我知道她的模樣,你不用描述。再次,several

times告知為反覆發生的動作,因此用現在完成時。

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. 等待的動作由過去開始,持續到現在,應用現在完成時。


分享到:


相關文章: