英语语法大全|现在完成时的结构和用法
(一)基本结构
现在完成时的句子结构一般为:
主语+have/has+过去分词+其他成分
如:
Wehavealreadyhadlunch.
Hehasbeenawayforaweek.
(二)主要用法
1、表示过去发生并且已经完成的动作对现在造成的影响或结果。此时,常和谓语动词一起使用的副词有already、just、never、ever、yet等。如:
Theyhavealreadycomebackfromthemuseum.
Shehasalreadyfinishedherhomework.
2、表示过去发生的动作持续到现在,并且有可能会继续持续下去。此时,常和谓语动词一起使用的标志性词语主要有for和since,而且此时的谓语动词往往是持续性动词(如stay、keep、wait等)。如:
Ihavelivedherefortenyears.
Hehaskepttheclavichordsincethirtyyearsago.
Youhaveneverlistenedtomelikethisbefore.
ShehaseverbeentoFrance.
TheyhavevisitedtheSummerPalacemanytimes.
(三)动词的过去分词
1、规则变化
其变化规则与动词的一般过去时基本相同,主要是在词尾加-ed或-d。具体的有:
1)直接加-ed。如:worked、played。
2)以不发音的e结尾的动词后加-d。如:lived、danced。
3)以辅音字母加y结尾的动词后改y为i,再加-ed。如:studied、cried。
4)以重读闭音节结尾的动词后,双写最后一个辅音字母再加-ed。如:stopped、patted。
2、不规则变化
如果结合动词的过去式,动词的过去分词的不规则变化中,又有一些相对的规则现象。如:
1)AAA型。如:putputput;readreadread。其中,read的过去式和过去分词虽然拼写时一样的,但其发音与原形不同,ea不再读作[i],而是[e]。
2)AAB型。如:beatbeatbeaten
3)ABB型。如:keepkeptkept;sitsatsat
4)ABC型。如:lielaylain;drinkdrankdrunk
5)ABA型。如:runranrun;comecamecome
(四)标志性词语
1、副词already、just、never、ever、yet等。如:
Shehasn'tarrivedinScotlandyet.
TheyhavejustleftforShanghai.
HehaslearnedItalianforfivemonths.
HehaslearnedItaliansincefivemonthsago.
3、sofar和upto/tillnow。表示“迄今为止”。如:
Sofar,noonehasheardanynewsabouther.
Shehasreadfiftybooksuptonow.
4、recently、lately等表示“最近;最新”的副词和形容词。如:
I'vemetheronseveraloccasionsrecently.
Hehasn'thadenoughsleeplately.
Inthepastfewyears,newbuildingshavesprungupalloverBeijing.
Hehadagedrapidlyinthelastfewmonths.
6、次数。如:
I'vetriedmanytimes,butthere'snoway.
Hehasbeenthereatleasttwice.
(五)havebeento/havegoneto/havebeenin
1、havebeento
表示“去过已回”。句子主语就在现场。如:
TheyhavebeentoRomemanytimes.
ShehasbeentoShanghaimorethanonce.
2、havegoneto
表示“去了未回”。句子主语不在现场。如:
JerryhasgonetoHangzhou.
MaryhasgonetoFinland.
3、havebeenin
表示“一直待在某地”。如:
WehavebeeninBeijingforfiveweeks.
TheyhavebeeninChinasince2012.
(六)短暂性动词和延续性动词
所谓短暂性动词主要是指一旦发生马上就结束的动作,也叫瞬间动词,如die、marry、leave等。而延续性动词主要是指可以一直持续进行的动作,也叫持续性动词,如learn、live、talk等。
错误:Hehasdiedfortenyears.
正确:Hehasbeendeadfortenyears.
错误:Shehasmarriedhimsincefiveyearsago.
正确:Shehasbeenmarriedtohimsincefiveyearsago.
(七)句型转换
因为“have/hasdone”中的have/has是助动词,所以在进行句型转换中要注意不需要再另外借助助动词do/did/does,而是直接借用have/has。如:
肯定句:Hehaslivedhereforthelastfewyears.
否定句:Hehasn'tlivedhereforthelastfewyears.
一般疑问句:Hashelivedhereforthelastfewyears
特殊疑问句:Howlonghashelivedhere(划线部分为forthelastfewyears)