should have done表示本应做而没做
could have done表示本可以做而没做
must have done表示对过去事实的肯定判断,语气较重,即很肯定
might have done=may have done对过去事实的肯定猜测,语气较轻
eg.1.You should have swpet the floor.你本该扫地而没扫。(含责备语气)
2.She could have done better.她本来可以做得更好的。(而实际上做得不够好)含惋惜语气
3.It must have rained yesterday.昨儿个一定下雨了。(看到外面有很明显的下过雨的痕迹时说)
4.He might have had a fever.他可能发烧了吧。(人没来,而谁也不知道原因,就随便猜猜)
should not have done本不该做而做了
could not have done本不可以做而做了
mustn't是禁止 好像没有否定式吧
might not have done对过去事实的否定判断
温馨提示:答案为网友推荐,仅供参考