题目
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
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
B. would be here
C. should be here
D. had just had
题目解答
答案
本题考察对过去情况的虚拟语气。前半句“must have had an accident”表对过去事件的推测,后半句需用“would have + 过去分词”表与过去事实相反的假设。A项“would have been here”正确,表示“否则他当时就会在这里”。B项“would be”不符过去时间;C项“should be”无虚拟含义;D项“had just had”未体现假设关系。综合分析,A项最贴合题意。
答案: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”重复。