首页 > 留学知识库

问题: 两道单选题

1.Tom has been writing letters all afternoon, but he should have finished them by now, ______?
A. hasn’t he B. has he C. shouldn’t he D. didn’t you
2.I don’t think he could have done such a stupid thing last night ,_________?
A. do I B. could he C. did he D. has he
请问为什么第一道题目的答案是C,第二道题目的答案还是C? 如果说第二道题选C,是因为是对昨天晚上的事情进行推测,那么第一道题难道不是对到目前为止情况的的假设吗? 怎么就不能用现在完成时态A呢?

解答:

第一个句子不是表示推测,而是表示:应该做而没有做。“tom整个下午都在写信,到现在他本该写完了(可是他还是没有做完)” 如果表推测的话,不是用should,而是用must .
结构: should have done 本该做而没有做
shouldn't have done 本不该做而做了
could have done 能够做而没有做
可能做过(表推测)
第二个句子是表推测。couldn't have done 过去一定没有做过
must have done 过去一定做过。
表推测的反义疑问句要用本来的时态反问,既然是表对过去的事情的推测,当然要用过去时。
希望我讲明白了。