单选题 The careless man received a ticket for speeding. He ________ have driven so fast.
【正确答案】 C
【答案解析】[译文]由于超速,这位粗心的人收到了一张罚单,他本不该开那么快。 [题解]情态动词后接完成时的含义:shouldn't have done表示“本不该做某事(而实际上做了)”;can't have done表示“不可能做过某事”;前文说他因为超速而被罚,显然drive fast是他已经做了的事,所以选[C]而不选[A];would/ wouldn't have done一般与过去时间截止点连用,表示到某个时间为止,某事本可能已经/本不会发生;must后接完成时时要用肯定式,表示“某事肯定已经发生”。