現在完成式、現在完成進行式的 3 大差別

英文文法

簡單來講,現在完成式表達已經完成的事情,現在完成進行式表達仍然在進行的事情。這兩個時態的三大差異搞清楚,你的文法觀念就不會錯,之後面對英文閱讀或聽力,也能夠馬上分析句型,理解文意。

 
觀念釐清

現在完成式:has/have + 過去分詞(或稱 p.p.)

  • I have read the book three times.

現在完成進行式:has/have + been + 現在分詞(或稱 Ving)

  • I have been reading the book for three hours.

 

現在完成式 vs. 現在完成進行式三大差別

 

一、數量、時間長短

如果表示數量,用現在完成式

  • I've read ten books this year.
  • I've seen three movies this week.

如果表示一段時間,用現在完成進行式

  • I’ve been reading for five hours.
  • I’ve been running for thirty minutes.

 

二、完成、正在進行的動作

動作已經完成,用現在完成式。

  • I’ve read the book you recommended.(書讀完了)
  • I've written the report.(報告寫完了)

動作還在進行,用現在完成進行式。

  • I’ve been reading the book you recommended.(書還在讀)
  • I've been writing the report.(報告還在寫)

如果你眼尖,看到這邊可能會問現在完成式 I've written the report. 跟簡單過去式 I wrote the report. 有什麼差別?答案,沒什麼差別。

很多人會誤以為每個時態都有固定使用時機,某個情況得用這個時態,否則就錯。其實,很多文法規則不是非 A 即 B,而是有重疊。同一個句子寫 I've written the report 或是 I wrote the report. 意思完全一樣。

 

三、短暫非永恆的事件

  • I’ve been sleeping badly.
  • I’ve been having a headache.
  • I’ve been getting up early to run.

只要你看到這種句子,表示這些事件是最近才開始的,最近才開始睡不好;最近才開始頭痛;最近才開始早起跑步。

 

例外

雖然前面說「表示時間」用現在完成進行式,但遇到例外就像遇到鬼牌,拿它沒辦法,只能記起來。這兩個單字 live, work,無論用現在完成式或現在完成進行式,語意完全一樣。

live

  • How long have you lived in Taiwan?
  • How long have you been living in Taiwan?

work

  • I have worked at this company for ten years.
  • I have been working at this company for ten years.

 

小考:現在完成式、現在完成進行式

  1. I (study) _____________ for two hours.
  2. Jack (teach) _____________ here for twenty years.
  3. The telephone (ring) _____________ five times.
  4. The telephone (ring) _____________ for thirty minutes.
  5. Jack (make) _____________ three mistakes this month.

 

解答

  1. have been studying
    「描述時間」用現在完成進行式
  2. has been teaching
    「描述時間」用現在完成進行式
  3. has rung
    「描述次數」用現在完成式
  4. has been ringing
    「描述時間」用現在完成進行式
  5. has made
    「描述次數」用現在完成式

不要死背單字!用系統化的方式學英文。

輸入 Email 即可獲得我的免費講義,讓你突破學習瓶頸。

  • 包含初級、進階必學單字,根據自己程度學習
  • 附上文章透過情境學重點句,而非死背單字
  • 選出台灣人最容易搞混的句型,文法分析讓你一次理解