单选题 8.  ______ for the fact that he got so ill, he might have passed the exam.
【正确答案】 A
【答案解析】 考查虚拟语气。本句主句用了might have passed,说明本句内容与过去事实相反,所以从句应该使用过去完成时。Had it not been for是if it had not been for的倒装形式,表示“要不是”,故选A。B、C两个选项本身就不可用于虚拟语气。D. were it not for是if it were not for的倒装形式,但主句内容应与现在或将来事实相反。
   要不是因为病得如此厉害,他或许已经通过了考试。