should have done .would have done. must have done三者之间的意思和用法上有什么区别?
should have done .would have done. must have done三者之间的意思和用法上有什么区别?
这三个主要用了不同的情态动词,意思完全不一样。
should have done 这本应该做某事结果却没做
would have done 指应该做某事,是对过去的一种推测
must have done 指对过去的一种肯定推测,一定做过某事
should have done = It's necessary that you did sth but you didn't.
表达“后悔、责备”:本应当做的(但实际上没有去做);
would have done = It's possible that you did sth but you didn't.
基于虚拟的假设,会发生的后果(但实际没有发生):就会……(但没有)
If you hadn't done sth, you would have done sth.
must have done.= I'm sure that you did sth
对过去的肯定推测:你肯定……/ 我断定你……
1.should/ought to have done的含义.“should/ought to have+过去分词”表示“过去应该做谋事却没有做”; “should not/ought not to have+过去分词”表示“作了不应该做的事”.含有责备或遗憾的意思.例如:
You shouldn’t /oughtn’t to have come here alone at such a late hour.你这么晚的时候本不一该一个人来这里的.(实际是一个人来的)
She should/ought to have gone there alone.她本该一个人去那里的.(实际上不是)
2.would have done的含义.would have done“本愿意做某事”,非虚拟语气时,就是would 情态动词加动词原形,
have done 就是现在完成时,所以和起来 就是将来完成时的用法
过去将来完成时表示在过去看来将来某时会已经完成的动作.例如:
She said she’d have finished her exams by then.她说那时她会已经考完试了.
He knew he arrived she would have gone home.他知道他到时她会已经回家了
3.must have done的含义.“must have+过去分词”表示对过去的推测,意思是“一定已经,想必已经,准是已经….”,只用于肯定句中.例如:
He must have been drinking beer.他肯定一直喝啤酒来着.
若要表示否定,要用“can’t/couldn’t+ have+过去分词”,意思是“不可能”:
The money can’t have been lost there.钱不可能是在那儿丢的.
should have done“本应该做某事”
might have done“可能做过某事”
could have done“本可以做到某事”
would have done“本愿意做某事”
都是表示与过去事实相反.if条件句中的虚拟基本含义相同,只是要注意主从句时态一致