04.01 if虛擬語氣一次學會!

我們在生活中常常做假設

通常假設未來發生的事都不會有什麼問題

但若是假設過去發生的事,那可能就頭痛了

怎麼有時用一般過去時,有時又用過去完成時?

到底用had, would, would have 還是 were 都搞不清楚

別煩惱!今天讓你看一次就清楚明白IF怎麼用

首先,你分得清楚這三句話嗎?

1. If Tom has time, he will visit us.

2. If Tom had time, he would visit us.

3. If Tom had had time, he would have visited us.

分不清楚的話沒關係,看完這篇你就清楚明白囉!

if虛擬語氣一次學會!

我們從基本的三種假設語氣講起:

一、現在與未來皆真實

if虛擬語氣一次學會!

第一種用法代表你假設的句子是在現在與未來都可能發生的。如此就必須使用以下句型:

我們從例句來看

  • 句型一:If you want to get good scores, practice more!如果你想拿到好分數,多練習吧!

If條件句使用現在簡單式,結果句使用原形動詞,表示命令。

  • 句型二:If the sun shines all day, it gets hot.如果陽光普照一整天,天氣會很熱。

If條件句使用現在簡單式,結果句也使用現在簡單式,表示一種事實、真理,或習慣。而此例句是表示一個不變的事實,也就是說若陽光普照整天,天氣就一定會很熱,所以結果句使用現在簡單式。

  • 句型三:If it rains tomorrow, I will stay inside the room.如果明天下雨,我會待在房間裡。

前面if條件句使用現在簡單式,結果句使用未來簡單式,表示單一事件。並不一定每次明天下雨,我都會待在房內,這也不是一個不變的真理。這個句型是大家最常使用的假設句型。

*注意*

if 條件句沒有未來式,所以即使是描述未來時間,也千萬不要加 will 唷!只有結果句可以加 will。

當然 if 條件句不是一定要擺在前面,也可以先寫結果句,再寫條件句

  • I will stay inside the room if it rains tomorrow.

二、與現在事實相反

if虛擬語氣一次學會!

第二種用法指你假設的句子跟現在的事實相反,例如假設自己是別人,假設自己很閒(但實際上現在很忙)。

*注意*

結果句必須用帶有過去意思的情態助動詞,也就是 would, should, could, might,不能用 will, can, may 唷

以上述例句解釋:

  • 例句一:If Tom had time, he would visit us. Tom現在要是有空,他會來拜訪我們的。

“If Tom had time” → 用過去簡單式表達與現在事實相反的假設,現在的事實是Tom現在沒空

“he would visit us” → 用助動詞would+原V,表達與現在事實(他現在來拜訪我們)相反的假設

此例句隱含的意思是“

Tom現在沒空,所以他現在無法來拜訪我們”。

  • 例句比較:If Tom has time, he will visit us.如果Tom有空,他會來拜訪我們

此例句使用上面第一種用法(現在與未來皆真實)的句型三,意思是如果Tom有空(他現在可能有空、可能沒空),他(在有空的時間)會來拜訪我們。很奇妙吧!中文聽起來差不多,但英文時態用的不一樣,就代表了不一樣的意思!

  • 例句二:If I were you, I could marry a rich man.如果我是你,我就可以嫁給有錢人了

If條件句使用過去式Be動詞,表示與現在事實相反,我現在不可能是你。

*注意*

這個句型的be動詞只能用were,例如”if I were you”、”if she were me”、”if he were her”,不能用was哦

三、與過去事實相反

if虛擬語氣一次學會!

第三種用法指你假設的句子與過去的事實相反,也就是對過去發生的事情做假設。

  • 例句一:If you had studied hard, you could have passed the test.如果當時你有認真讀書,就已經通過考試了。

“If you had studied hard” → 用過去完成式代表你當時沒有認真讀書,

“you could have passed the test” → 用would+現在完成式代表你當時可以通過考試但卻沒通過

與過去事實相反的假設,英文句子裡不會特別寫出時間點,但從時態就可以知道它是要表達“當時”

  • 例句二:If he hadn’t jaywalked, the truck might not have hit him.如果當時他沒有亂穿越馬路,卡車可能就不會撞到他

“If he hadn’t jaywalked” → 用過去完成式假設他當時沒有亂穿越馬路,但事實上當時他有穿越馬路

“the truck might not have hit him” → 用might+現在完成式隱含著他在過去已被卡車撞到的事實

if虛擬語氣一次學會!

記住用法小口訣

If條件句:

現在與未來皆真實用現在式

與現在事實相反用過去式

與過去事實相反用過去完成式

三種基本假設語氣句型整理

大家都學會基本的假設語氣句型了嗎?來檢視一下自己有沒有確實理解吧!


Exercise

1. If we _____ (take) MRT, we could arrive here earlier.如果搭地鐵,我們就可以早點到這裡了

2. Stacy _____ (be) angry if she knows that you broke her favorite vase.如果Stacy知道你打破了她最愛的花瓶,她會非常生氣

3. Linda would have caught the train if it _____ (rain).如果沒下雨,Linda就會趕上火車了

(答案在文章最下面唷)

現在你分得清楚這三句了嗎?

If Tom has time, he will visit us. → 如果Tom有時間,他會來拜訪我們

If Tom had time, he would visit us. → 如果Tom現在有時間,他(現在)會來拜訪我們

If Tom had had time, he would have visited us. → 如果Tom當時有時間,他(當時)會來拜訪我們

if虛擬語氣一次學會!


補充:混合用法

有時候If條件句與結果句的時間點會不一樣,例如我們對過去的事做假設,但結果是現在發生,透過以下例句比較容易理解。

  • 例句一:If my uncle had worked hard, he would be a rich man now.如果我叔叔年輕時有認真工作的話,他現在就會是個有錢人了

If條件句“If my uncle had worked hard”與過去事實相反(即他過去不認真工作) →用過去完成式

結果句”he would be a rich man now”與現在事實相反(即他現在不有錢) →用助動詞would+原形V

  • 例句二:If he were not a bad guy, he would not have cheated you of your money.如果他不是個壞人,他當時就不會騙你的錢

If條件句”If he were not a bad guy” 與現在事實(他是個壞人)相反→用過去簡單式

結果句”he would not have cheated you of your money” 與過去事實(他騙你錢)相反→用would+現在完成式


進階學習:條件句的簡化

如果都會使用以上基本假設語氣的句型後,進階一點就可以來學條件句的簡化囉!

規則:在條件句中有“助動詞”或“Be動詞”,可將其移至句首,再把if省略。

  • 例句一:If I were you, I would not skip the lecture. (如果我是你,我不會要翹課)

Were I you, I would not skip the lecture.與現在事實相反的假設,結果句用would+原V。

  • 例句二:If you had studied hard, you could have passed the test. (如果你當時有認真讀書,就可以通過考試了)

Had you studied hard, you could have passed the test.這裡的had是助動詞,所以可以移到句首,如果是一般動詞“有”的意思的話,就不是助動詞囉,要注意。

希望大家看完都能夠理解並正確運用假設語氣!有時候中文的假設句子,可能需要上下文或特別提到時間點,才能判斷它的假設是已經發生,還是未來可能發生,但是英文句子只要透過時態,就能夠明白說話者假設的事情是否已發生,其實這很有趣呢!建議各位可以多看一些句子,或自己假設一些情境來熟悉假設語氣的用法


Exercise答案:

1. took

2. will be

3. had not rained


分享到:


相關文章: