have been 的用法_have been用​法

发布时间:2017-06-01 11:00

have been 是动词be的现在完成时行式,当主语为第三人称单数时,使用has been的形式。和不同的单词连用,表达不同的意思。have been 的用法有哪些呢?本文是小编整理的have been 的用法资料,仅供参考。

have been 的用法

用法一:现在完成进行时(have been doing)

用法:表示某一动作开始于过去某一时间,延续或重复地出现至今,或将继续延续至将来.

例:We have been working on this project for over a month now.(到目前为止,我们一直在处理那个项目,已经花了一个多月时间了.)

注意事项:与现在完成时相比,现在完成进行时更强调:在从过去到现在的时间里,动作或状态一直持续或一直反复出现.

例:1997年6月四级第45题

It seems oil ___________ from this pipe for some time.We'll have to take the machine apart to put it right.

A) had leaked B) is leaking

C) leaked D) has been leaking

从本题上下文看,这两个句子的意思是:“看来,这个管道漏油已有一段时间了,我们将不得不拆卸机器排除故障.”第二句表示将要采取的措施.第一句动作发生在第二句之前,并且延续到现在为止仍在继续.因此,空格中需用现在完成时或现在完成进行时.D) has been leaking是现在完成进行时,因此是本题的答案.有11%的考生误选了B) is leaking.由于本句有时间状语for some time,表示谓语动作延续,谓语不能用现在进行时,必须用和完成时有关的时态.有些考生误选了C) leaked或A) had leaked.是因为他们没有注意到本题第二句是一般将来时,所以第一句的谓语不能用过去时或过去完成时.

用法二:have been +及物动词的过去分词,为现在完成时被动语态的形式,表示一个已完成的被动动作.例如:

The moon has been visited by human being already.月亮已经被人类访问过了.

Man-made satellites have been sent up into space by many countries.人造卫星已经被很多国家发射到了太空.

用法三:

have been和不同的单词连用,表达不同的意思.

一、have been与表示职业的名词连用,用来询问或说明某人所从事的职业.例如:

Have you ever been a teacher 你曾经当过教师吗?

I've been a doctor before .以前我曾经是一位医生.

这种表达与how long,for或since等表示时间的短语连用后,则表示此种状态的持续时间.例如:

How long have you been a player 你当运动员有多久了?

I've been a worker for twelve years.我当工人十二年了.

I've been a soldier since two years ago.自从两年前我就当了战士.

二、have been后接形容词,表示某种行为或状态.此时和表示时间的短语how long,for或since等连用时,则表示这种状态持续的时间.例如:

The shop has been open .这家商店营业了.

How long has this factory been open 这家工厂开工多久了?

The factory has been open for several years.这家工厂开工好几年了.

The baby has been asleep since his mother left.自从他妈妈走后,这小孩就睡着了.

I have so tired these days.这些天我很累.

这种方式也用来表示天气等:

It has been hot since last week.自从上周以来,天气一直很热.

某些动词的分词用作形容词时,也可以使用这种句式表达.例如:

Jim's purse has been missing (for a week).吉姆的钱包丢了(一周了).

The train has been gone (for half an hour).火车开走了(半小时了).

三、have been 可以和表示地点的介词短语连用,依据介词的不同和语境的不同,可以表示相当于汉语中的“去过”、“来”、“到”、“在”等不同动词的意思.和how long ,for ,since等表示时间的短语连用后,表示这种状态的持续时间.例如:

Have you been to Beijing 你去过北京吗?(不在北京问)

Has Jim been to China?吉姆来过中国吗?(在中国问)/ 吉姆去过中国吗?(在中国以外的地方问)

How long have you been at the school?你在/到/来这所学校多久了?

They have been in China for more than two years.他们来中国两年多了.

have been与表示地点的副词here 或there等连用时,与上述意思相同:

I have been here for two hours.我来这儿两个小时了.

He has been there for three years.他在那儿已经三年了.

Where have you been (to)?你刚才去哪里了?

四、have been可以与away,back,in,on,out,over等小品词连用,相当于一个表示动作动词的现在完成时的用法,表示某种状态.当这种状态与for等表示段时间的短语连用时,表示这个状态的延续时间.例如:

Tom has been away (for a week).= Tom has left (for a week).汤姆离开(一周)了.

The film has been on (for half an hour).= The film has begun (for half an hour).电影开演(半小时)了.

He has been out (for two days).= He has left his home (for two days).他不在家(两天)了.

The train has been in (for two hours).= The train has arrived (for two hours).火车到达(两小时)了.

He has been back (for a week).= He has come back (for a week).他回来一周了.

[请注意上述例子中的后一种说法.我们一直在教学生不能说 I've come for an hour.之类的句子,让学生记住所谓的“瞬间动词”不能和表示一段时间的状语连用,然而,这种观点是违背英语使用原则的.

have been 用法

一、have been与表示职业的名词连用,用来询问或说明某人所从事的职业。例如:

Have you ever been a teacher ?你曾经当过教师吗? I've been a doctor before .以前我曾经是一位医生。

这种表达与how long, for或since等表示时间的短语连用后,则表示此种状态的持续时间。例如:

How long have you been a player ?你当运动员有多久了?

I've been a worker for twelve years. 我当工人十二年了。 I've been a soldier since two years ago. 自从两年前我就当了战士。

二、have been后接形容词,表示某种行为或状态。此时和表示时间的短语how long, for或since等连用时,则表示这种状态持续的时间。例如:

The shop has been open .这家商店营业了。

How long has this factory been open ?这家工厂开工多久了?

The factory has been open for several years. 这家工厂开工好几年了。

The baby has been asleep since his mother left. 自从他妈妈走后,这小孩就睡着了。

I have so tired these days. 这些天我很累。

这种方式也用来表示天气等:

It has been hot since last week. 自从上周以来,天气一直很热。

某些动词的分词用作形容词时,也可以使用这种句式表达。例如:

Jim's purse has been missing (for a week). 吉姆的钱包丢了(一周了)。

The train has been gone (for half an hour). 火车开走了(半小时了)。

三、have been 可以和表示地点的介词短语连用,依据介词的不同和语境的不同,可以表示相当于汉语中的“去过”、“来”、“到”、“在”等不同动词的意思。和how long , for ,since等表示时间的短语连用后,表示这种状态的持续时间。例如: Have you been to Beijing ?你去过北京吗?(不在北京问) Has Jim been to China? 吉姆来过中国吗?(在中国问)/ 吉姆去过中国吗?(在中国以外的地方问)

How long have you been at the school? 你在/到/来这所学校多久了?

They have been in China for more than two years. 他们来中国两年多了。

have been与表示地点的副词here 或there等连用时,与上述意思相同:

I have been here for two hours. 我来这儿两个小时了。 He has been there for three years. 他在那儿已经三年了。 Where have you been (to)? 你刚才去哪里了?

四、have been可以与away, back, in, on, out, over等小品词连用,相当于一个表示动作动词的现在完成时的用法,表示某种状态。当这种状态与for等表示段时间的短语连用时,表示这个状态的延续时间。例如:

Tom has been away (for a week). = Tom has left (for a week). 汤姆离开(一周)了。

The film has been on (for half an hour). = The film has begun (for half an hour). 电影开演(半小时)了。

He has been out (for two days). = He has left his home (for two days). 他不在家(两天)了。

The train has been in (for two hours). = The train has arrived (for two hours). 火车到达(两小时)了。

He has been back (for a week). = He has come back (for a week). 他回来一周了。

[请注意上述例子中的后一种说法。我们一直在教学生不能说 I've come for an hour.之类的句子,让学生记住所谓的“瞬间动词”不能和表示一段时间的状语连用,然而,这种观点是违背英语使用原则的。详情请见2003年第三期《中学外语教与学》或《中学英语学习与辅导误区100例》(金盾出版社2005年2月出版)]

五、have been后接动词的现在分词,为现在完成进行时,强调从过去某一时间到现在为止的一段时间内一直进行或反复多次发生的动作,这个动作到说话时是否停止,视上下文或当时语言环境而定。例如:

He has been working in that factory for five years.

他在这工厂工作五年了。(现在是否仍在该工厂工作,视上下文而定。)

I have been surfing every day. 每天我都要冲浪。

六、have been +及物动词的过去分词,为现在完成时被动语态的形式,表示一个已完成的被动动作。例如:

The moon has been visited by human being already. 月亮已经被人类访问过了。

Man-made satellites have been sent up into space by many countries. 人造卫星已经被很多国家发射到了太空。

have been 的用法_have been用​法的评论条评论