高考英語語法復習——虛擬語氣
虛擬語氣在條件狀語從句中的應用
【經典例題】
1. If my lawyer _______ here last Saturday, he _______ me from going.
A. had been; would have prevented B. had been; would prevent
C. were; would prevent D. were; would have prevented
2. If I had worn my overcoat, I _______cold.
A. wont have caught B .couldnt have caught
C. wont catch D. wouldnt catch
3.If he ______ , he ______ that food.
Luckily he was sent to the hospital immediately.
A. was warned; would not take B. had been warned; would not have taken
C. would be warned; had not taken D. would have been warned; had not taken
4. I didnt see your sister at the meeting. If she _______, she would have met my brother.
A. has come B. did come C. came D. had come
【答案與解析】
1.A.本題考查虛擬語氣。因為從句表示與過去事實相反的假設,故從句謂語動詞用過去完成時,而主句謂語動詞用would have +過去分詞形式。
2.B.本題考查虛擬條件句中主句謂語動詞的使用。因為從句用了過去完成時,可知主句謂語動詞用would / could have +過去分詞形式。根據句意,可知選B。
3.B. 根據答語,可知本題考查與過去事實相反的虛擬語氣。故從句謂語動詞用過去完成時,而主句謂語動詞用would have +過去分詞形式。
4.D. 根據句意在會上我沒有看到你的姐姐。如果她來的話,她就見到我哥哥了可知,這是考查對過去事實的虛擬。主句用could have done,故從句謂語動詞應該用過去完成時。
【重點歸納】
一、虛擬條件句的類別
虛擬條件句可分為三類:一類是敘述與現在事實相反的情況;一類是敘述與過去事實相反的情況;另一類是敘述與將來事實相反的情況。其主句和從句的謂語動詞構成如下:
1. 與現在事實相反
條件從句用過去時(be動詞的過去式一律用were),主句用would (should/ might / could)+動詞原形。如:
If I were you, I would accept the invitation to the party.
如果我是你的話,我將接受去舞會的邀請。
If I knew her well, I would tell you about her.
如果我很了解她的話,我將告訴你關于她的事情。
2. 與過去事實相反
條件從句用過去完成時,主句用would /should/ might / could + have +過去分詞, 如:
If you had been there last night, nothing would have happened.
如果你昨天晚上在那兒的話,就沒有什么事情發生了。
If I had got up earlier, I would have caught the first bus.
如果我起得更早一些的話,就趕上頭班車了。
3.與將來事實相反
條件從句用過去時或者were to + 動詞原形或者should+ 動詞原形,主句用would (should/ might / could)+動詞原形, 如:
If it were Saturday tomorrow, we wouldnt have an exam.
如果明天是周六的話,我們就不考試了。
If you were to visit the school tomorrow, you would see Professor Smith.
如果你明天去參觀學校的話,你就會看到史密斯教授。
If it should rain tomorrow, the sports meet would be put off until next Friday.
如果明天下雨的話,運動會將被推遲到下周五舉行。
【特別提示】
在虛擬條件句中,謂語動詞按照后退一步法使用,即:與現在事實相反,從句中用一般過去時;與過去事實相反,從句中用過去完成時;與將來事實相反,從句中用過去將來時。
二、虛擬條件句中的省略與倒裝
如果if虛擬條件句中有were, had, 或者should等詞時,可以省略if,把這些詞放在主語前,形成倒裝句。如:
If I should meet her (Should I meet her), I would tell her.
如果我遇見她的話,我就告訴她。
If I were in your position (Were I in your position), I would do it better.
如果我在你的位置上,我會做得更好。
If they had made preparations (Had they made preparations), they would have succeeded.
如果他們做了準備的話,他們就已經成功了。
Grammar work語法專練
動詞變形
用所給動詞的適當形式填空。
1. If the factory ___________ (belong) to me, I ___________ (not sell) it.
But it isnt yours.
2. If you ___________ (keep) the secret, nobody ___________ (know) it.
Im sorry for making such a mistake.
3. If the weather were to be (be) fine tomorrow, I ______ (go) for an outing with my parents.
4. ___________ (be) I you, I would think about this problem once again.
5. ___________ (have) I had time last night, I ___________ (go) to see this wonderful film.
完成句子
根據中文提示完成下列各句。
1. 如果你年輕五歲,你該怎么辦?
What ___________ you ___________, if you ___________ five years younger?
2. 如果你開車更小心一點,就不會出這樣的事故。
If you ______________________ your car more carefully, such a traffic accident _________________________________.
3. 如果明天下霧,我就不能開車去購物。
If it ___________ foggy tomorrow, I ______________________ my car to go shopping.
4. 如果明天天氣轉晴,我們就去野餐。
If it ______________________ clear up tomorrow, we ______________________ for a picnic.
5. 如果我是一個男孩,我當然會去參軍。
If I ___________ a boy, I ___________ certainly join the army.
6. 如果你是我兄弟,你也會一樣對我。
If you ___________ my brother, you ___________ treat me in the same way.
7. 如果我有你這樣的姐姐會非常幸福的。
I ___________ ___________ very happy, if I ___________ an elder sister like you.
8. 如果我撿到了那只錢包,一定交給失主了。
If I ______________________ up the wallet, I _________________________________ it to its owner.
9. 萬一明天下大雪,一切都將被改變。
If it ___________ snow heavily tomorrow, everything ___________ be changed.
10. 如果你那天沒有抽煙,火災就不會發生。
If you ______________________ that day, the fire _________________________________ out.
Grammar quiz語法小測
測一測
選擇最佳答案。
1. He ______ you more help, even though he was very busy.
A. might have given B. might give C. should give D. may give
2. What would have happened ________ as far as the river bank?
A. Bob had walked B. if Bob should walk
C. had Bob walked D. if Bob walked
3. ________ I in your position, I would not accept the invitation.
A. Was B. Were C. Be D. Am
4. If my father ________ here the day after tomorrow, he ________ me at all.
A. came, cant see B comes, couldnt see
C. comes, couldnt have seen D. came, couldnt see
5. If it ________ to snow next week, I would not go to visit that mountain village.
A. is B. be C. were D. are
6. If it ________ rain this evening, I would not go to see this American film.
A. would B. should C. could D. might
7. __________ asked to do this, I would certainly do it in a different way.
A. Were I B. Am I C. If I am D. Was I
8. If he could help us, I am sure he ________. Hes always ready to help others.
A. should B. had C. would have D. did
9.________ her in time, she would have jumped into the river.
A. If I stopped B. Did I stop
C. If I didnt stop D. If I hadnt stopped
10. If I _________ ten years younger, I _________ out to try my luck.
A. am, would go B. was, will go C. were, would go D. were, would have gone
11. If you __________ my advice, you _________ such a serious mistake.
A. followed, cant make B. followed, couldnt have made
C. had followed, couldnt make D. had followed, couldnt have made
12. If I _________ that crowded bus yesterday morning, I _________ my purse with a lot of money in it.
A. didnt take, couldnt lose B. hadnt taken, wouldnt have lost
C. hadnt taken, couldnt lose D. didnt take, cant have lost
語法專練 (One possible version)
動詞變形
1. belonged; wouldnt sell 2. had kept; would have known 3. would go 4. Were 5. Had; would have gone
完成句子
1. would; do; were 2. had driven; couldnt have happened 3. were; couldnt drive 4. were to; would go 5. were; would 6. were; would 7. would be; had 8. had picked; would have returned 9. should; would 10. hadnt smoked; wouldnt have broken
語法小測
測一測 1-5 ACBDC 6-10 BACDC 11-12 DB
虛擬語氣(二)
虛擬條件句的一些特殊用法
【考點導航】
1. My cats really fat. (2007浙江)
You ______ have given her so much food.
A. wouldnt B .couldnt C. shouldnt D. mustnt
2.Hows your tour around the North Lake? Is it beautiful? (2007全國卷I)
It _____ be, but it is now heavily polluted.
A. will B. would C. should D. must
3. I told your friend how to get to the hotel, but perhaps I _____ have driven her there. (2007陜西)
A. could B. must C. might D. should
【答案與解析】
1.C。shouldnt have done表示本來不應該做某事而實際做了。
2.C。根據句意,本來這個湖應該是很漂亮的,但是現在被嚴重污染了可知選C。should 在這里表示本來應該,暗含著實際上不之意。
3.D。should have done表示本應該做某事而實際上未做,本句意為:我告訴你朋友該怎么到達旅館了,但是也許我應該開車把她送到那兒去。
【重點歸納】
1. 錯綜時間條件句:
有時在非真實條件句中,主句謂語動詞所表示的動作和條件從句中謂語動詞所表示的動作并不同時發生,這時主句和從句的謂語動詞要根據各自所指的不同時間選用適當的虛擬語氣形式。如:
Had I taken my umbrella with me when I came out this morning, I should not be wet now.
如果我今天早上出來的時候帶著傘的話,現在就不會淋濕了。(從句說的是過去的事情,而主句說的是現在的事情)
If you had followed the doctors advice, you would be all right now.
如果你(那時)聽從我的建議的話,現在就不會有事了。(從句說的是過去的事情,而主句說的是現在的事情)
If I hadnt finished my composition by now, I would be working on it tomorrow.
如果到現在為止我還沒有完成作文的話,我明天還要接著寫。(從句說的是現在的事情,而主句說的是將來的事情)
2.含蓄虛擬條件句:
有時一個假設的情況并不用條件從句表示,而用其它方式來表示,這樣的句子叫含蓄條件句。主要有以下幾種情況。
1) 用with, without,but for等介詞短語來替代條件從句, 它們都可以轉換成由if引導的虛擬條件句。如:
We might have died without your help. =We might have died if you hadnt helped us.
如果(那時)沒有你們的幫助,我們可能已經死了。
Without the sun, nothing would grow. = If there was no the sun, nothing would grow.
沒有太陽,萬物都不能生長。
2) 用or, otherwise, but that, suppose/ supposing (that), provided / providing (that) 等引導的虛擬語氣。如:
You didnt come yesterday, or you would have seen him.
你昨天沒有來,否則的話,你就已經看到他了。
I was very busy last week, otherwise I would have come to see you.
我上周很忙,否則的話,我就來看你了。
Supposing I was still a little child, I would study hard from now on.
假如我還是一個小孩子的話,我將從現在開始努力學習。
3) 通過上下文來表示虛擬:這種情況下,需要加以分析。
I would have given you more money, but I was so poor then.
我(那時如果有錢的話)就可以給你更多的錢了,但是我當時太窮了。
I would have called you, but I forgot your telephone number.
我本來可以給你打電話,但是我(那時)忘了你的電話號碼。
Having known the fact in time, we couldnt have said that. = If we had known the fact in time, we couldnt have said that.
如果我們(那時)及時知道事實的話,就不會說那件事了。
Any man in his position would have done that.
處于他那個位置的任何人都會那樣做的。
4)由should +動詞原形或者should/could/might have +過去分詞構成的虛擬語氣。
種情況下,虛擬條件句經常省略,而只剩下主句結構,如:
I should have told you that, but I was afraid that you couldnt accept the fact.
我本應該告訴你那件事,但我擔心你不能接受這個事實。
Tom, you are so lazy! This work should have been finished hours ago.
湯姆,你太懶了!這個工作本應該幾個小時之前完成。
3. 在if it were/had been not for 句型中的虛擬語氣
If it were not for,表示對現在事實的假設;If it had not been for,表示對過去事實的假設。
If it were not for the Internet, everything would be very difficult.
要不是互聯網,一切都會變得很難。
Had it not been for your overcoat, I would have died.
要不是你那件大衣,我就被凍死了。
Grammar work語法專練
選擇最佳答案。
1. _________ the thick forest, we would often have to suffer from a sandstorm.
A. If it is not for B. If it were not for C Is it not for D. Was it not for
2. _________ your offer of rice and vegetables, we would have gone hungry.
A. If it hasnt been for B. With
C. Has it not been for D. Had it not been for
3. __________ your timely and correct guidance, I couldnt have solved the problem so smoothly.
A. Had it not been for B. Were it not for
C. If it has not been for D. If it is not for