语法与词汇 25.I______him the Christmas gift by mail because he came home during the Christmas holidays.
【正确答案】 D
【答案解析】本题考查情态动词虚拟语气。主句为与过去事实相反、表示必要性的虚拟语气。needn'thave done表示“本没有必要做某事却做了”,故答案为[D]项。ought to have done表示“应该做了而没有做”,是已经发生的事情;couldn't have done表示“过去不可能做了某事”;must have done表示“过去肯定做过某事”。