發布時間:2022-09-22 17:09:00來源:勵普網
(資料圖片)
have been 是動詞be的現在完成時行式,當主語為第三人稱單數時,使用has 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 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. 人造衛星已經被很多國家發射到了太空。
雅思 托福 GRE IB SAT GMAT A-Level ACT 多鄰國英語測試 OSSD 英語四六級 出國英語 詞匯 AEAS 英語口語 商務英語 考研英語 青少英語 成人英語 個人提升英語 高中英語 劍橋英語 AP課程 一級建造師 二級建造師 消防工程師 消防設施操作員 BIM 造價工程師 環評師 監理工程師 咨詢工程師 安全工程師 建筑九大員 注冊電氣工程師 一級注冊建筑師 公路水運檢測 通信工程 裝配式工程師 二級注冊建筑師 智慧消防工程師 智慧建造工程師 全過程工程咨詢師 EPC工程總承包 碳排放管理師 初級會計師 中級會計師 注冊會計師(cpa) CFA ACCA CMA 基金從業 證券從業 會計證 初中級經濟師 薪稅師 會計實操 企業合規師 FRM 會計就業 教師資格 人力資源管理 導游考試 心理咨詢師 健康管理師 家庭教育指導師 普通話 公共營養師 物流師 網絡主播 專利代理師 教師招聘 少兒編程 書法培訓 繪畫美術 音樂 舞蹈 棋類 國畫 樂器 機器人編程 小孩子注意力訓練 兒童專注力 兒童情緒管理 少兒小主播 信奧賽C++ 嵌入式培訓 軟件測試 Web前端 linux云計算 大數據 C/C++開發 電子商務 Java開發 影視后期 剪輯包裝 游戲設計 php 商業插畫 產品經理 Python photoshop UXD全鏈路 UI設計 室內設計 電商視覺設計 IT認證 PMP項目管理