Hi,大家好:
The car should not have be driven anymore yesterday.上述這句話的英文文法我不懂,有沒有人能教我。為何用be而不是用been? 例如下列這句 The package might have been delivered by an express mail service.另外它们之間又有何不同?
謝謝!
2005-04-23 10:50:56 · 2 個解答 · 發問者 Anonymous in 社會與文化 ➔ 語言
1. The car should not have be driven anymore yesterday.
這句話的意義與文法都有點問題。它的意思好像是 「這輛車從昨天以來應該
就沒有被人再開過了」,假如是這樣的話,它應該被改寫為:
”This car should not have been driven anymore since yersterday."
原文的have 後面跟動詞原形 be是不對的。
2. The package might have been delivered by an express mail service.
這句話文法是正確的。但如果能改為 " The package might have been delivered by
am express mail company." 竟更合乎邏輯,因為只有一個人或者一家公司才能
遞送包裹,一個「服務」(Service) 是沒有行為能力的。
比較兩個句子,文法上都是以「現在完成式被動語氣」呈現,而且都帶有假設或不確定的意思。
2005-04-23 11:16:56 · answer #1 · answered by 菜英文 7 · 0⤊ 0⤋
害羞樓主提出的問題是屬於「假設句型」,很重要 (不單是指考試上的重要,而是在實際生活中就是這樣講,這對英美人士來說一點都不文謅謅,是日常基本巨型),但對中國人來說有些複雜 (可能是因為需連用三至四個動詞),是中國人的英文弱點之一。個人強烈建議想學英文的人一定要想辦法學會「關係子句」和「假設句型」,他們就像拉鍊一樣,到處都看得到,雖然是個小東西,日常生活中卻少不了。
先說答案:
第一句初步要改成 The car shouldn't have “been” driven anymore yesterday.
可是這樣還是怪怪的,再把 anymore 拿掉就比較自然了:
The car shouldn't have “been” driven yesterday. (昨天根本就不該開這台車)
若要保留 anymore,的確再加個 since 比較好。
The car shouldn't have “been” driven anymore since yesterday. (從昨天開始就不該再開這台車。)
第二句沒有問題。
The package might've been delivered by an express mail service. (這包裹好像是用快遞送來的。)
假設句型:
我個人是覺得「假設句型」這名字取得不好,因為這種句型和「假設」之間的關係沒那麼強,比較像是在「追悔」(要是沒這樣的話,不應該是這樣)、「指示或建議」(你可以怎樣怎樣的,這應該要怎樣怎樣)。這是碰到有「事情怎麼會這樣呢?」這種心情時使用的。個人覺得改成「無奈句型」或「早知道句型」可能比較好。
公式:
(這邊先針對符合題目範圍的「與過去相反的假設句型」)
【過去式助動詞 + have 動詞的過去分詞】
亦即
【would / could /should / might + have Vpp 】(例外:“may” have Vpp 也可以)
碰到「被怎樣的動詞 (被動)」時,就在 have 的後面多一個 been,成為
【would / could / should / might + have been Vpp】(例外同上:“may” have been Vpp 也可以)
could的意思可以是「可以」或「可能」。若是「可能」,則可與 might、may互通。
用這種句型是想表達「有一件事發生了 (過去的事),但事實與字面意義相反」,如題中第一句 shouldn't have been driven,字面上是「不該被開」,這就代表事實上「被開了」。
但 might / may have Vpp 只是:「單純對一件發生了的事做猜測或估計」。如題中第二句 might have been delivered,字面上是「可能被送」,代表事實上的確「被送了」,但純猜測或估計「可能是這樣被送的」。could 的意思若不是「可以」的話,也可以用在這邊。
所以若是你怪一個朋友怎麼沒把一件事告訴你,「你 (當時) 應該要跟我說啊」不是「You should tell me.」而是「You should've told me.」(事實上「說」這個動作在過去未執行);怪一個朋友怎麼當初有麻煩竟沒打電話真不夠義氣,「你 (當時) 可以打電話給我的啊」不是「You could call me.」而是「You could've called me.」(事實上沒打);差點被一台車撞時,「我 (剛剛) 差點被撞到」不是「I could / might / may be hit.」而是「I could / might / may have been hit.」(純猜測估計)。
其他所謂的「與現在相反的假設句型」和「與未來相反的假設句型」就先不講了。希望講得還算可以,參考看看。
2005-04-24 14:13:17 · answer #2 · answered by Anonymous · 0⤊ 0⤋