havebeen的用法?
havebeen的用法?
havebeen的用法?
havebeen的用法?
用法一:现在完成进行时(havebeendoing)
用法:表示某一动作开始于过去某一时间,延续或重复地出现至今,或将继续延续至将来.
例:Wehavebeenworkingonthisprojectforoveramonthnow.(到目前为止,我们一直在处理那个项目,已经花了一个多月时间了.)
注意事项:与现在完成时相比,现在完成进行时更强调:在从过去到现在的时间里,动作或状态一直持续或一直反复出现.
例:1997年6月四级第45题
Itseemsoil___________fromthispipeforsometime.We'llhavetotakethemachineaparttoputitright.
A)hadleakedB)isleaking
C)leakedD)hasbeenleaking
从本题上下文看,这两个句子的意思是:“看来,这个管道漏油已有一段时间了,我们将不得不拆卸机器排除故障.”第二句表示将要采取的措施.第一句动作发生在第二句之前,并且延续到现在为止仍在继续.因此,空格中需用现在完成时或现在完成进行时.D)hasbeenleaking是现在完成进行时,因此是本题的答案.有11%的考生误选了B)isleaking.由于本句有时间状语forsometime,表示谓语动作延续,谓语不能用现在进行时,必须用和完成时有关的时态.有些考生误选了C)leaked或A)hadleaked.是因为他们没有注意到本题第二句是一般将来时,所以第一句的谓语不能用过去时或过去完成时.
用法二:havebeen+及物动词的过去分词,为现在完成时被动语态的形式,表示一个已完成的被动动作.例如:
Themoonhasbeenvisitedbyhumanbeingalready.月亮已经被人类访问过了.
Man-madesatelliteshavebeensentupintospacebymanycountries.人造卫星已经被很多国家发射到了太空.
用法三:
havebeen和不同的单词连用,表达不同的意思.
一、havebeen与表示职业的名词连用,用来询问或说明某人所从事的职业.例如:
Haveyoueverbeenateacher你曾经当过教师吗?
I'vebeenadoctorbefore.以前我曾经是一位医生.
这种表达与howlong,for或since等表示时间的短语连用后,则表示此种状态的持续时间.例如:
Howlonghaveyoubeenaplayer你当运动员有多久了?
I'vebeenaworkerfortwelveyears.我当工人十二年了.
I'vebeenasoldiersincetwoyearsago.自从两年前我就当了战士.
二、havebeen后接形容词,表示某种行为或状态.此时和表示时间的短语howlong,for或since等连用时,则表示这种状态持续的时间.例如:
Theshophasbeenopen.这家商店营业了.
Howlonghasthisfactorybeenopen这家工厂开工多久了?
Thefactoryhasbeenopenforseveralyears.这家工厂开工好几年了.
Thebabyhasbeenasleepsincehismotherleft.自从他妈妈走后,这小孩就睡着了.
Ihavesotiredthesedays.这些天我很累.
这种方式也用来表示天气等:
Ithasbeenhotsincelastweek.自从上周以来,天气一直很热.
某些动词的分词用作形容词时,也可以使用这种句式表达.例如:
Jim'spursehasbeenmissing(foraweek).吉姆的钱包丢了(一周了).
Thetrainhasbeengone(forhalfanhour).火车开走了(半小时了).
三、havebeen可以和表示地点的介词短语连用,依据介词的不同和语境的不同,可以表示相当于汉语中的“去过”、“来”、“到”、“在”等不同动词的意思.和howlong,for,since等表示时间的短语连用后,表示这种状态的持续时间.例如:
HaveyoubeentoBeijing你去过北京吗?(不在北京问)
HasJimbeentoChina?吉姆来过中国吗?(在中国问)/吉姆去过中国吗?(在中国以外的地方问)
Howlonghaveyoubeenattheschool?你在/到/来这所学校多久了?
TheyhavebeeninChinaformorethantwoyears.他们来中国两年多了.
havebeen与表示地点的副词here或there等连用时,与上述意思相同:
Ihavebeenherefortwohours.我来这儿两个小时了.
Hehasbeenthereforthreeyears.他在那儿已经三年了.
Wherehaveyoubeen(to)?你刚才去哪里了?
四、havebeen可以与away,back,in,on,out,over等小品词连用,相当于一个表示动作动词的现在完成时的用法,表示某种状态.当这种状态与for等表示段时间的短语连用时,表示这个状态的延续时间.例如:
Tomhasbeenaway(foraweek).=Tomhasleft(foraweek).汤姆离开(一周)了.
Thefilmhasbeenon(forhalfanhour).=Thefilmhasbegun(forhalfanhour).电影开演(半小时)了.
Hehasbeenout(fortwodays).=Hehaslefthishome(fortwodays).他不在家(两天)了.
Thetrainhasbeenin(fortwohours).=Thetrainhasarrived(fortwohours).火车到达(两小时)了.
Hehasbeenback(foraweek).=Hehascomeback(foraweek).他回来一周了.
[请注意上述例子中的后一种说法.我们一直在教学生不能说I'vecomeforanhour.之类的句子,让学生记住所谓的“瞬间动词”不能和表