must have been should have been could have been 这三者有什么区别?他们都表示对过去已经发生的事情的猜测吗? 还是过去可能发生的事情读猜测?
如果说话人知道事情已经在过去发生,他就不需要猜测了。他直接用一般过去时或现在完成时表示出过去的事实即可。使用情态动词,说话人并不是陈述事实,而是表示说话人自己认为(推测)某件事极可能、可能、或许在过去发生了。
must/should/could have done都可以表示说话人推测某事件在过去发生了或某状态在过去存在着。这这种用法中,三者的区别只是说话人推测时的信心程度不同,must表示信心十足的推测,肯定是、必定是...。should表示有一定的依据作这种推测。信心程度低于用must。could表示这种可能性是存在的。说话人的信心程度低于用must 和 should.
should/could have done还可以是虚拟语气形式,表示主语在过去本应该或本能够做某事,但实际上没有做。
所以,读者应该根据句子语境来判断情态动词是表示推测还是虚拟语气用法。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!