21. How I wish every family ________ a large house with a beautiful garden.
A. has B. had C. will have D. have
22. But for the party, he ________ of hunger 30 years ago.
A. would have died B. would die
C. must have died D. must die
【解析】考查虚拟语气。but for (要不是因为、如果没有) 通常与虚拟语气连用，由30 years ago可知，这是与过去事实相反的情况，所以选would have died。
23. In the office I never seem to have time until after 5:30 p.m., ________ many people have got home.
A. whose time B. by that time C. on which D.by which time
【解析】本题是由介词+关系代词+名词引导的定语从句。短语by that time 意思为“到那时”，在定语从句中，要用 by which time。故选择D。
24. ________ today, he would get there for holiday.
A. Was he leaving B. Were he to leave
C. Would he leave D. If he leaves
【解析】本题考查虚拟语气的倒装。在虚拟语气中, 如if条件句中有were, should, had done(过去完成),则可把if省略, 并把were, should, had提前，故选择B。
25. John’s score on the test is the highest in the class; he ________ last night.
A.should study B. should have studied
C.must have studied D. must have to study
【解析】考查虚拟语气。句意：约翰的考试分数全班最高，他昨天晚上一定学习了。表示对过去动作行为的肯定猜测要用 must have done这一句型结构。