摘要:现在完成时是由助动词have(has) + 动词的过去分词构成。当主语是第三人称单数(he/she/it等)的时候,助动词要用has ,其余人称用have。过去分词是主要的谓语动词,体现句子的意义。比如:
中考英语必备核心语法,现在完成时用法详解解析
一、现在完成时
(一)构成
现在完成时是由助动词have(has) + 动词的过去分词构成。当主语是第三人称单数(he/she/it等)的时候,助动词要用has ,其余人称用have。过去分词是主要的谓语动词,体现句子的意义。比如:
- I have finished my homework.(我已经完成了我的作业。)
- She has gone to school.(她去学校了。)
(二)用法
1. 表示过去发生的动作对现在造成的影响或结果:动作发生在过去某个不确定的时间,但对现在留下了某种影响和结果。常被just(刚刚)、already(已经)、yet(还,已经 ,用于否定句和疑问句)等副词修饰。例如:
- Have you had lunch yet? (你吃午饭了吗?)
- Yes, I have. I've just had it.(是的,我吃了。我刚吃完。)
2. 表示从过去某一时刻开始一直持续到现在的动作或状态:这个动作可能刚停止,也可能仍然在进行。常带有for和since等表示一段时间的状语。for后面接时间段 ,since后面接过去的一个时间点或者一个一般过去时的句子。如:
- He has taught here since 1981.(他自1981年就在这儿教书。)
- I have lived in this city for ten years.(我在这座城市已经住了十年了 。)
3. 表示说话前发生过一次或多次的动作,现在成为一种经验:一般译为汉语“过”,常带有twice(两次),ever(曾经),never(从未),three times(三次)等时间状语。例如:
- I have been to Beijing twice.(我去过北京两次。)
- Have you ever seen the movie?(你曾经看过这部电影吗?)
(三)现在完成时的时间状语
1. 不能和过去的时间状语连用:如yesterday(昨天), last Sunday(上周日), in 1990(在1990年), three years ago(三年前)等。因为现在完成时属于现在时范围。但是,在强调动作产生的后果和影响时,可以和一些表示不确定的时间状语连用。
2. 常见的与现在完成时连用的时间状语:
- already和yet:already一般用于肯定句中,可放在助动词之后、过去分词之前,也可放在句末;yet一般用于否定句和疑问句中,放在句末。 例如:
- We have already finished our homework.(我们已完成作业了。)
- They haven't finished their homework yet.(他们还没有完成作业。)
- ever和never:多用于否定或疑问句中,表示“曾经”或“从未”等 。例如:
- Have you ever been to the Great Wall?(你曾经去过长城吗?)
- I have never been to the Great Wall.(我从未去过长城。)
- 表示到说话为止的过去时间状语:如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.(在过去的几天里他去过那里三次。)
- 包括“现在”在内的时间状语:如now(现在), today(今天), this morning/month/year/term(今天早上/这个月/今年/这学期 )等。例如:
- Have you met him today?(你今天见过他了吗?)
- How many times have you been there this year?(你今年去过那里多少次了?)
(四)have/has gone to, have/has been to与have/has been in的用法区别
1. have/has gone to:表示某人去了某地,现在还没有回来,经常与already, just连用 。例如:
- Where is Tom? He has gone to Shanghai.(汤姆在哪?他去上海了。) (现在不在这儿,还没回来)
2. have/has been to:表示某人去过某地,现在已经回来了,经常与ever, twice, before等词语连用 。例如:
- I have been to Beijing before.(我以前去过北京。)
3. have/has been in:表示某人在某地,已经呆了多长时间,目前可能还在某地,经常与表示一段时间的状语连用。例如:
- The Greens have been in China for five years.(格林一家在中国已经待了五年了。)
(五)延续性动词和非延续性动词在现在完成时中的运用
延续性动词和非延续性动词都可以用于现在完成时。不同的是:
1. 非延续性动词:用于现在完成时,一般来说不能与表示一段时间的状语连用(否定形式除外) 。如come(来), go(去), leave(离开), start(开始), die(死亡), finish(完成), become(成为), get married(结婚)等。例如:
- 误:He has left here for two hours.
- 正:He has been away from here for two hours.(他离开这里已经两个小时了。) 用be away from 这个延续性动词短语来表示状态的持续。
- 非延续性动词的否定形式可以和表示一段时间的状语连用,因为否定状态是可以延续的。例如:I haven't bought any books for a year.(我一年没买书了。)
2. 延续性动词:可以与“for + 一段时间”或者是“since + 时间点/谓语动词为一般过去时的句子”连用 。如live(居住), teach(教), learn(学习), work(工作), study(学习), know(知道)等。例如:
- She has lived here since 1999.(她从1999年就一直住在这里。)
- They have studied English for three years.(他们学习英语已经三年了。)
二、过去完成时
(一)构成
过去完成时的基本结构是主语 + had + 过去分词。
- 肯定句:主语 + had + 过去分词. 例如:She had finished her work before I came.(在我来之前她已经完成了她的工作。)
- 否定句:主语 + had + not + 过去分词. 例如:They hadn't left when we arrived.(我们到达的时候他们还没有离开。)
- 一般疑问句:Had + 主语 + 过去分词? 肯定回答:Yes, 主语 + had. 否定回答:No, 主语 + had not . 例如:Had you seen the movie before you read the book? Yes, I had. / No, I hadn't.(在你读这本书之前你看过这部电影吗?是的,我看过。/ 不,我没看过。)
- 特殊疑问句:特殊疑问词或词组 + 一般疑问句(Had + 主语 + 过去分词)?例如:What had he done before he went to bed?(他睡觉前做了什么?)
(二)用法
1. 表示在过去某一时刻或动作以前完成了的动作:即“过去的过去”。可以用by(到……为止), before(在……之前)等介词短语或一个时间状语从句来表示,也可以用一个表示过去的动作来表示,还可能通过上下文来表示。例如:
- By nine o’clock last night, we had gotten 200 pictures from the spaceship.(到昨晚9点钟,我们已经收到200张飞船发来的图片。)
- When I got to the station, the train had already left.(当我到达车站的时候,火车已经离开了。) (“到达车站”是过去的动作,“火车离开”在“到达车站”之前,是“过去的过去” )
2. 表示由过去的某一时刻开始,一直延续到过去另一时间的动作或状态:常和for, since构成的时间状语连用 。例如:
- I had been at the bus stop for 20 minutes when a bus finally came.(当车来的时候,我在车站已等了20分钟。)
- He said he had worked in that factory since 1949.(他说自从1949年以来他就在那家工厂工作。)
(三)与过去完成时连用的时间状语
1. by + 过去的时间点:如I had finished reading the novel by nine o'clock last night.(到昨晚9点我已经读完了这本小说。)
2. by the end of + 过去的时间点:如We had learned over two thousand English words by the end of last term.(到上学期末我们已经学了两千多个英语单词。)
3. before + 过去的时间点:如They had planted six hundred trees before last Wednesday.(在上周三之前他们已经种了六百棵树。)
三、现在完成时与过去完成时的区别
现在完成时强调过去发生的动作对现在造成的影响或结果,着眼于现在;而过去完成时强调“过去的过去”,即动作发生在过去的某个动作或时间之前 。例如:
- I have lost my key.(我丢了我的钥匙。强调现在找不到钥匙这个结果 )
- I found the key that I had lost.(我找到了我之前丢的钥匙。“丢钥匙”发生在“找到钥匙”之前,是过去的过去 )
来源:蒙古元素