现在完成时用法解析 1.构成 现在完成时是由助动词 have(has)+动词的过去分词构成。助动词说明该谓语是属于现在时范围。它和主语的人称、数要保持一致。过去分词是主要的谓语动词,说明句子的意义。 2.用法 (1)表示动作发生在过去某个不确定的时间,但对现在留下了某种影响和结果。常被just、already、yet 等副词修饰。如: -Have you had lunch yet? -Yes,I have. I’ve just had it. 你(已经)吃午饭了吗现在完成时造句? 我刚刚吃过。(现在我不饿了) (2)表示从过去某一时刻开始一直持续到现在的动作或状态。这个动作可能刚停止,可能仍然在进行。常带有for和since等表示一段时间的状语。 如:He has taught here since 1981 他自1981年就在这儿教书。(可能还要继续教) I have’t seen her for four years. 我有四年没见到她了。 (3)表示说话前发生过一次或多次的动作,现在成为一种经验,一般译为汉语“过”,常带有twice,ever,never,three times等时间状语。 如: I have been to Beijing twice.我去过北京二次。 3.现在完成时的时间状语 (1)现在完成时属于现在时范围,故不能和过去的时间状语连用。如:yesterday,last Sunday,in1990,three years ago等。但是,在强调动作产生的后果和影响时,可以和一些表示不确定的时间状语连用。 a. 用副词already和yet。already一般用于肯定句中,yet一般用于否定句和 疑问句中。如:We have already finished our homework.我们已完成作业了。 They haven’t finished their homework yet.他们还没有完成作业。 b.用ever 和never。多用于否定或疑问句中,表示“曾经”或“从未“等。 如:-Have you ever been to the Great Wall?你曾经去过长城吗? -I have never been to the Great Wall.我从未去过长城。 c.用表示到说话为止的过去时间状语,如just,before,up to now,the past few years等。例如:I have seen her before,but I can not remember where. 我以前见过她,但记不起在哪里见过。 He has been there three times the last few days. 近几年他去过那里三次了。 d.用包括“现在”在内的时间状语,如:now,today,this morning(month,year,term)等。例如:-Have you met him today?-No,I haven’t. 今天你见过他吗?我 没有。 How many times have you been there this year? 今年你去过那里多少次? (2)现在完成时可以和带有since或for等表示“一段时间”的状语连用,表示动作或状态从某一时刻开始,一直持续到现在。如:I haven’t seen him for two years. 但是,像come,arrive,buy等终止性动词不能与表示“一段时间”的状语连用。要用,必须改为“be(在)”等延续性动词来表述。现归纳总结一下由非延续性动词到延续性动词的转换: arrive→be here begin(start)→be on die →be dead come back→be back leave →be away fall ill(sick,asleep)→be ill(sick,asleep) get up→be up go out →be out finish →be over put on →wear 或be on open →be open join →be in或 be a member of… close →be closed go to school→be a student borrow →keep buy →have catch(a cold)→ have(a cold) get to know →know begin to study→study come to work→work等 如:He has been a soldier for three years.他参军三年了。 His father has been dead for two years.他父亲去世二年了。 The film has been on for ten minutes.电影已开始十分钟了。 We have studied English for three years. 我们(开始)学英语已三年了。 4.现在完成时和一般过去时的区别 现在完成时和一般过去时都表示在过去完成的动作。但现在完成时强调的是这一动作与现在的关系。如对现在产生的结果或影响等,而一般过去时只表示动作在过去某一时刻发生,不表示和现在的关系。试比较: I have lost my new book. 我把新书丢了。(现在还未找到) I lost my new book yesterday. 我昨天把新书丢了。(昨天丢的,现在找到与否没说明) 5.几点注意事项 (1)have been(to)与have gone( to)的区别:have been(to)表示“去过某地(现在已经回来了)”,可用于各人称;have gone(to)表示“去某地了(说话时某人不在当地)”,常用于第三人称,前者可与once ,never,several times等连用,后者则不能。如:They have been to Beijing twice.他们去过北京两次。 He has gone to Beijing . 他去北京了。 (2)如单纯表示一段时间,或强调一段时间,虽有since一词,也不必用完成时。如:It is two years since his father died. =His father has been dead for two years.他父亲去世已有三年了。 (3)终止性动词现在完成时的否定式,已变成一种可以延续的状态,因此可以和表示一段时间的状语连用。 如:I haven’t left here since 1997.自从1997年以来,我一直没有离开过这儿。