有关现在完成时的知识.

如题所述

第1个回答  2006-05-14
1.现在完成时

现在完成时用来表示之前已发生或完成的动作或状 态,其结果的确和现在有联系。动作或状态发生在过去 但它的影响现在还存在;也可表示持续到现在的动作或 状态。其构成: have (has) +过去分词。

2.比较过去时与现在完成时

1)过去时表示过去某时发生的动作或单纯叙述过去的事情,强调动作;现在完成时为过去发生的,强调过去的事情对现在的影响,强调的是影响。

2)过去时常与具体的时间状语连用,而现在完成时通常与模糊的时间状语连用,或无时间状语。

一般过去时的时间状语:
yesterday, last week,…ago, in1980, in October, just now, 具体的时间状语

共同的时间状语:
this morning, tonight,this April, now, once,before, already, recently,lately

现在完成时的时间状语
for, since, so far, ever, never, just, yet, till / until, up to now, in past years, always,
不确定的时间状语

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?
(强调有卷子,可能为不公平竞争。)
She has returned from Paris.
她已从巴黎回来了。
She returned yesterday.
她是昨天回来了。
He has been in the League for three years.
(在团内的状态可延续)
He has been a League member for three years.
(是团员的状态可持续)
He joined the League three years ago.
( 三年前入团,joined为短暂行为。)
I have finished my homework now.

---Will somebody go and get Dr. White?
---He's already been sent for.
句子中如有过去时的时间副词(如 yesterday, last, week, in 1960)时,不能使用现在完成时,要用过去时。
(错)Tom has written a letter to his parents last night.
(对)Tom wrote a letter to his parents last night.
3. 比较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.

4. 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
5.延续动词与瞬间动词

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. 等待的动作由过去开始,持续到现在,应用现在完成时。

参考资料:www.wwenglish.com

本回答被提问者采纳
相似回答