华信教育英语专练
虚拟语气语法
1. But for the help of John, he _____ last night. A. should have drowned B. would have drowned C. was drowned D. may have drowned
2. If it _____ fine tomorrow, we would go for a swim in the sea. A. would be B. should be C. is D. was to
3. He suffered a sudden heart attack and her wife found him dead when she got home from work. But _____.
A. if his wife came back earlier, he might be saved B. if his wife had come back earlier, he might be saved C. if his wife came back earlier, he might have been saved D. if his wife had come back earlier, he might have been saved 4. I would rather she _____ tomorrow than by plane.
A. travel on train B. traveled by train
C. travels by train D. travelling by the train 5. How old would you _____ if you _____ in 1900?
A. be; had been born B. be; would be born C. have been; would be born D. have been; were 6. _____ the sun, nothing on earth could live.
A. Were it not to B. If it were not to C. If it had not been for D. If it were not for 7. If he _____, give him the message.
A. were coming B. would come C. should come D. were come
8. Were I to move to a foreign country, I _____ away all my furniture in my house here. A. would give B. shall give C. gave D. will give 9. I would go to the concert but I _____ no time. A. had B. had had C. have D. has
10. —Would you have told him the answer had it been possible? —Yes, I would have, but I _____ so busy then. A. had been B. were C. was D. am 11. —Why didn’t you buy it?
—I _____ but I didn’t have the money.
A. would B. would have C. had had D. had bought 12. —You should have finished it sooner. —I know but I _____ the time.
A. don’t have B. won’t have C. didn’t have D. had not 13. _____ water, we could not live a day in the desert. A. Without B. No C. Having no D. But not for
14. If you _____ the doctor’s advice, you would have recovered already. A. followed B. would followed C. will followD. had followed 15. If he had not lost the money, he _____ the piano last week.
A. could have bought B. had bought C. would buy D. have bought
虚拟语气语法专项练习
1. 选B。but for表示“如果不是??的话”,与虚拟语气搭配使用。
2. 选B。表示与将来事实相反的虚拟语气,从句用should do或者were to do. 3. 选D。表示与过去事实相反的虚拟语气。 4. 选B。would rather后面的宾语从句用虚拟语气,形式是:would rather sb. did/had done. 5. 选A。从句与过去事实相反,而主句与现在事实相反。
6. 选D。表示与现在事实相反的虚拟语气,意思是“如果不是有太阳的话”。 7. 选C。表示与将来事实相反的虚拟语气,从句用should do.
8. 选A。表示与将来事实相反的虚拟语气,主句用would/should do. 9. 选C。but后面的分句表示事实情况,不用虚拟语气。
10. 选C。but后面的分句表示过去的事实情况,因此用过去时。
11. 选B。虚拟语气和事实情况混合的用法,第一个分句是虚拟,而but后面是事实情况。 12. 选C。but后面的分句表示过去的事实情况,因此用过去时。 13. 选A。without经常代替虚拟的从句,表示假设。
14. 选D。表示与过去事实相反的虚拟语气,从句用过去完成时。 15. 选A。could have done表示“本来可以做某事”。