have been的用法?

 我来答
seed1314
2023-01-09 · TA获得超过1024个赞
知道答主
回答量:1
采纳率:0%
帮助的人:1715
展开全部
用法一:现在完成进行时(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.之类的句子,让学生记住所谓的“瞬间动词”不能和表示一段时间的状语连用,然而,这种观点是违背英语使用原则的。
张达人zhdr
培训答主

2023-09-11 · 关注我学习会变得更厉害哦
知道顶级答主
回答量:4.2万
采纳率:91%
帮助的人:1.2亿
展开全部
have been 有以下几种用法:
1. have been in ... 已经在某处
2. have been to ... 去过某地
3. have been doing sth.(现在完成时)
4. have been done(被动语态)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式