牛津高中英語語法復習:動詞時態
注意:非延續性動詞的否定形式可以與表示延續時間的狀語連用。即動作不發生的狀態是可以持續的。
(錯)i have received his letter for a month.
(對)i haven't received his letter for almost a month.
12 比較since和for
since 用來說明動作起始時間,for用來說明動作延續時間長度。
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 作為時間狀語的句子都用現在完成時。
i worked here for more than twenty years.
(我現在已不在這里工作。)
i have worked here for many years.
(現在我仍在這里工作。)
小竅門: 當現在完成時+一段時間,這一結構中,我們用下面的公式轉化,很容易就能排除非延續動詞在完成時中的誤使。
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.
13 since的四種用法
1) since +過去一個時間點 (如具體的年、月、日期、鐘點、1980, last month, half past six)。
i have been here since 1989.
2) since +一段時間+ ago
i have been here since five months ago.
3) since +從句
great changes have taken place since you left.
considerable time has elapsed since we have been here.
4) it is +一段時間+ since從句
it is two years since i became a postgraduate student.
14 延續動詞與瞬間動詞
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告知為反復發生的動作,因此用現在完成時。