个人选D。理由: might have done指本来可以做某事做没有做,符合题意;C有干扰,can have done一般表示此种虚拟语气时用否定形式 can't have done
本句句意为:太遗憾了!鉴于他的能力和经验,他本可能做得更好。need have done本来有必要做(而没做);must have done是对过去发生的事情的肯定的推测,表示“过去一定做了”;can have done是对过去发生的事情的不肯定的推测;might have done表示“本来可以”。请认真领悟!
选D
描述事实:
It can be done better
he can do it better
虚拟语气:
might have done
对过去完成的事做推测。
Can表示能力、可行性;Might强调不确定性。
所以,Can简单翻译成“能”Might翻译成“应该”。
选择D must have done 指过去一定做过某事
can have done 指过去可能做了某事
might have done 指本可以做而没做
need have done 指过去有必要做某事,却没有做
根据意思判断选择D
答案应该选D。这是对过去时态中虚拟语气的情态动词的用法的考察。虚拟语气中与过去事实相反 : 从句 :had + 过去分词主句 :would/ should/ could/ might + have + 过去分词
D虚拟语气,这题考点是虚拟语气,ABC选项都不符合。