基本结构:主语+have/has+动词的过去分词(p.p)(V-ed)
现在完成时的基本构成方式是用动词have加上过去分词。它是用来表达过去发生事情的另一种方式。
肯定句:主语+have/has+动词的过去分词(p.p)(V-ed)+宾语
否定句:主语+have/has+not+动词的过去分词(p.p)(V-ed)+宾语
一般疑问句:Have/Has+主语+动词的过去分词(p.p)(V-ed)+宾语
特殊疑问句:特殊疑问词或词组+一般疑问句(have/has+主语+过去分词(V-ed)+其他)
表示影响或结果
该用法的现在完成时表示一个过去发生的动作在过去已经完成,并且这个动作对现在仍有影响或结果,同时说话者强调的或感兴趣的就是这个影响或结果,如汉语说“他已离开这个城市了”,其中的“离开”肯定发生了,它对现在的影响或结果就是“他现在已不在这个城市了”;又如汉语说“有人把窗户打破了”,显然“打破窗户”这一动作发生在过去,并且在过去已经完成了,但说话人强调的重点是打破窗户对现在的影响——窗户现在仍是破的。如:
He has been away from the city.他已离开这个城市。(结果:他不在这个城市。)
Someone has broken the window.有人把窗户打破了。(结果:窗户仍破着。)
I have lost my pen.我把钢笔丢了。(结果:我现在无钢笔用。)
He has finished his work.他把工作做完了。(结果:他可以做其他的事了。)
即表示从过去某个时间直到现在的这个时间范围内不断重复发生的动作或情况,并且这个不断重复的动作有可能继续下去,也有可能到现在就结束。如:
How often have you seen her again?你隔多长时间见她一次?
表示持续
该用法的现在完成时表示一个过去发生的动作或开始的状态在过去并未完成或结束,而是一直持续到现在,并且有可能继续下去(也可能到此结束),如汉语说“他在我们学校教书已有30年了”,显然“他在我们学校教书”是从30年前开始,并且一直教到现在,已经持续了30年;又如汉语说“自上个星期以来他一直很忙”,显然“忙”是从上个星期开始的,并且这一“忙”就一直忙到现在。如:
He has taught in our school for 30 years.他在我们学校教书已有30年了。
He has been busy since last week.自上个星期以来他一直很忙。
He has worked for us ever since he left school.他离开学校以后就一直为我们工作。
注意:当现在完成时表示持续时,谓语动词不能使用非延续性动词(短暂性动词),而应该使用延续性动词,即换一种说法,如
He has been away for one minute.他已经离开一分钟了。
He has had this book for two months.他买这本书已有两个月了。
She has kept the table for three months.她已经借了这张桌子三个月了。
同一般现在时可以表示将来一样,现在完成时也可以在时间状语从句里表示将来。如:
I’ll wait until he has written his letter.我要等到他把信写完。