英语选则问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 20:20:55
It;s wonderful that you ______ have achieved so much in these years
A.may B.can C.should D.would
选哪个,为什么?
正确答案说选则D,我不明白,为什么他会用would
有may have done形式表示对过去的猜测,can have done表示对过去的否定猜测,should have done 表示对过去本该做的事情却没做而表示责备,那would have done 表示什么呢?

D

should+have+done表示过去应该做某事却没做,有后悔之意。
eg:I should told you.我应该告诉你的。

would+have+done表示与过去事实相反的情况,即虚拟语气。
eg: I would have done it if I were you.我如果是你,就会那样做。

B

虚拟语气

这是题有问题,既然是D的话,虚拟语气表示与事实相反,这样题的意思就很别扭了。