题目
31 [单选题] He must have had an accident, or he ( ) thenA. would have been hereB. would be hereC. should be hereD. had just had
31 [单选题] He must have had an accident, or he ( ) then
A. would have been here
B. would be here
C. should be here
D. had just had
题目解答
答案
A. would have been here
解析
本题考查虚拟语气在表示与过去事实相反的假设中的用法。关键点在于:
- 前半句“must have had an accident”是对过去事件的推测,后半句需通过虚拟语气表达与该推测相反的结果;
- “or”在此处连接的是一个含蓄的条件句,相当于“if he hadn’t had an accident”;
- 虚拟语气的结构需与过去时间一致,正确形式为“would have + 过去分词”。
选项分析
A. would have been here
- 符合虚拟语气结构:“would have + 过去分词”表示与过去事实相反的假设。
- 逻辑:如果他没有出事故(与“must have had an accident”构成反义),那么“would have been here”表示“本应该出现在这里”。
B. would be here
- 错误原因:使用“would be”表示现在或将来的虚拟,但题目中“then”明确指向过去时间,需用完成时态。
C. should be here
- 错误原因:虽然“should”有推测含义,但“should be”是现在时态,无法体现与过去事实相反的虚拟关系。
D. had just had
- 错误原因:仅用过去完成时描述事实,未体现假设关系,且“had just had”与前文“must have had”重复。