单选题 David did not tell his wife that he had been fired, but he{{U}} {{/U}}.
【正确答案】 C
【答案解析】[考点] 对过去事情的虚拟 [解析] 情态动词的完成式有两种情况:1)must/might/couldn't + have done表示对过去动作或状态的推测。2)should(ought to)/could/needn't+have done“过去本应该/能够/不必要做……”,表示对过去事情的虚拟。本题属于第二种情况。should have后省略了过去分词短语told her。 [避错]would do表示过去将来的动作;had to表示过去不得不;might与have to很少一起使用。