have been的用法
have been 是動詞be的現(xiàn)在完成時行式,當(dāng)主語為第三人稱單數(shù)時,使用has been的形式。和不同的單詞連用,表達(dá)不同的意思。have been 的用法有哪些呢?本文是學(xué)習(xí)啦小編整理的have been 的用法資料,僅供參考。
have been 的用法
用法一:現(xiàn)在完成進(jìn)行時(have been doing)
用法:表示某一動作開始于過去某一時間,延續(xù)或重復(fù)地出現(xiàn)至今,或?qū)⒗^續(xù)延續(xù)至將來.
例:We have been working on this project for over a month now.(到目前為止,我們一直在處理那個項目,已經(jīng)花了一個多月時間了.)
注意事項:與現(xiàn)在完成時相比,現(xiàn)在完成進(jìn)行時更強(qiáng)調(diào):在從過去到現(xiàn)在的時間里,動作或狀態(tài)一直持續(xù)或一直反復(fù)出現(xiàn).
例: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
從本題上下文看,這兩個句子的意思是:“看來,這個管道漏油已有一段時間了,我們將不得不拆卸機(jī)器排除故障.”第二句表示將要采取的措施.第一句動作發(fā)生在第二句之前,并且延續(xù)到現(xiàn)在為止仍在繼續(xù).因此,空格中需用現(xiàn)在完成時或現(xiàn)在完成進(jìn)行時.D) has been leaking是現(xiàn)在完成進(jìn)行時,因此是本題的答案.有11%的考生誤選了B) is leaking.由于本句有時間狀語for some time,表示謂語動作延續(xù),謂語不能用現(xiàn)在進(jìn)行時,必須用和完成時有關(guān)的時態(tài).有些考生誤選了C) leaked或A) had leaked.是因為他們沒有注意到本題第二句是一般將來時,所以第一句的謂語不能用過去時或過去完成時.
用法二:have been +及物動詞的過去分詞,為現(xiàn)在完成時被動語態(tài)的形式,表示一個已完成的被動動作.例如:
The moon has been visited by human being already.月亮已經(jīng)被人類訪問過了.
Man-made satellites have been sent up into space by many countries.人造衛(wèi)星已經(jīng)被很多國家發(fā)射到了太空.
用法三:
have been和不同的單詞連用,表達(dá)不同的意思.
一、have been與表示職業(yè)的名詞連用,用來詢問或說明某人所從事的職業(yè).例如:
Have you ever been a teacher 你曾經(jīng)當(dāng)過教師嗎?
I've been a doctor before .以前我曾經(jīng)是一位醫(yī)生.
這種表達(dá)與how long,for或since等表示時間的短語連用后,則表示此種狀態(tài)的持續(xù)時間.例如:
How long have you been a player 你當(dāng)運(yùn)動員有多久了?
I've been a worker for twelve years.我當(dāng)工人十二年了.
I've been a soldier since two years ago.自從兩年前我就當(dāng)了戰(zhàn)士.
二、have been后接形容詞,表示某種行為或狀態(tài).此時和表示時間的短語how long,for或since等連用時,則表示這種狀態(tài)持續(xù)的時間.例如:
The shop has been open .這家商店營業(yè)了.
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.自從上周以來,天氣一直很熱.
某些動詞的分詞用作形容詞時,也可以使用這種句式表達(dá).例如:
Jim's purse has been missing (for a week).吉姆的錢包丟了(一周了).
The train has been gone (for half an hour).火車開走了(半小時了).
三、have been 可以和表示地點的介詞短語連用,依據(jù)介詞的不同和語境的不同,可以表示相當(dāng)于漢語中的“去過”、“來”、“到”、“在”等不同動詞的意思.和how long ,for ,since等表示時間的短語連用后,表示這種狀態(tài)的持續(xù)時間.例如:
Have you been to Beijing 你去過北京嗎?(不在北京問)
Has Jim been to China?吉姆來過中國嗎?(在中國問)/ 吉姆去過中國嗎?(在中國以外的地方問)
How long have you been at the school?你在/到/來這所學(xué)校多久了?
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.他在那兒已經(jīng)三年了.
Where have you been (to)?你剛才去哪里了?
四、have been可以與away,back,in,on,out,over等小品詞連用,相當(dāng)于一個表示動作動詞的現(xiàn)在完成時的用法,表示某種狀態(tài).當(dāng)這種狀態(tài)與for等表示段時間的短語連用時,表示這個狀態(tài)的延續(xù)時間.例如:
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).火車到達(dá)(兩小時)了.
He has been back (for a week).= He has come back (for a week).他回來一周了.
[請注意上述例子中的后一種說法.我們一直在教學(xué)生不能說 I've come for an hour.之類的句子,讓學(xué)生記住所謂的“瞬間動詞”不能和表示一段時間的狀語連用,然而,這種觀點是違背英語使用原則的.
have been 用法
一、have been與表示職業(yè)的名詞連用,用來詢問或說明某人所從事的職業(yè)。例如:
Have you ever been a teacher ?你曾經(jīng)當(dāng)過教師嗎? I've been a doctor before .以前我曾經(jīng)是一位醫(yī)生。
這種表達(dá)與how long, for或since等表示時間的短語連用后,則表示此種狀態(tài)的持續(xù)時間。例如:
How long have you been a player ?你當(dāng)運(yùn)動員有多久了?
I've been a worker for twelve years. 我當(dāng)工人十二年了。 I've been a soldier since two years ago. 自從兩年前我就當(dāng)了戰(zhàn)士。
二、have been后接形容詞,表示某種行為或狀態(tài)。此時和表示時間的短語how long, for或since等連用時,則表示這種狀態(tài)持續(xù)的時間。例如:
The shop has been open .這家商店營業(yè)了。
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. 自從上周以來,天氣一直很熱。
某些動詞的分詞用作形容詞時,也可以使用這種句式表達(dá)。例如:
Jim's purse has been missing (for a week). 吉姆的錢包丟了(一周了)。
The train has been gone (for half an hour). 火車開走了(半小時了)。
三、have been 可以和表示地點的介詞短語連用,依據(jù)介詞的不同和語境的不同,可以表示相當(dāng)于漢語中的“去過”、“來”、“到”、“在”等不同動詞的意思。和how long , for ,since等表示時間的短語連用后,表示這種狀態(tài)的持續(xù)時間。例如: Have you been to Beijing ?你去過北京嗎?(不在北京問) Has Jim been to China? 吉姆來過中國嗎?(在中國問)/ 吉姆去過中國嗎?(在中國以外的地方問)
How long have you been at the school? 你在/到/來這所學(xué)校多久了?
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. 他在那兒已經(jīng)三年了。 Where have you been (to)? 你剛才去哪里了?
四、have been可以與away, back, in, on, out, over等小品詞連用,相當(dāng)于一個表示動作動詞的現(xiàn)在完成時的用法,表示某種狀態(tài)。當(dāng)這種狀態(tài)與for等表示段時間的短語連用時,表示這個狀態(tài)的延續(xù)時間。例如:
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). 火車到達(dá)(兩小時)了。
He has been back (for a week). = He has come back (for a week). 他回來一周了。
[請注意上述例子中的后一種說法。我們一直在教學(xué)生不能說 I've come for an hour.之類的句子,讓學(xué)生記住所謂的“瞬間動詞”不能和表示一段時間的狀語連用,然而,這種觀點是違背英語使用原則的。詳情請見2003年第三期《中學(xué)外語教與學(xué)》或《中學(xué)英語學(xué)習(xí)與輔導(dǎo)誤區(qū)100例》(金盾出版社2005年2月出版)]
五、have been后接動詞的現(xiàn)在分詞,為現(xiàn)在完成進(jìn)行時,強(qiáng)調(diào)從過去某一時間到現(xiàn)在為止的一段時間內(nèi)一直進(jìn)行或反復(fù)多次發(fā)生的動作,這個動作到說話時是否停止,視上下文或當(dāng)時語言環(huán)境而定。例如:
He has been working in that factory for five years.
他在這工廠工作五年了。(現(xiàn)在是否仍在該工廠工作,視上下文而定。)
I have been surfing every day. 每天我都要沖浪。
六、have been +及物動詞的過去分詞,為現(xiàn)在完成時被動語態(tài)的形式,表示一個已完成的被動動作。例如:
The moon has been visited by human being already. 月亮已經(jīng)被人類訪問過了。
Man-made satellites have been sent up into space by many countries. 人造衛(wèi)星已經(jīng)被很多國家發(fā)射到了太空。
看了have been 的用法的人還看了:
2.知道的英文是什么
4.speak的用法