I was really anxious about you. You____ home without a word.
A.mustn’t leave
B.shouldn’t have left
C.couldn’t have left
D.needn’t leave
答案:B
题目分析:句意,我真的很担心你,你本不应该一句话都不说就离开家。“shouldn't+have+done”表示本来不应该做某事,而实际做了。含有指责对方或自责的含意,故选B。
点评:情态动词+have done的用法,“would+have+done”虚拟语气,表示对过去事情的假设,意思是“本来会做”。“could+have+done”是虚拟语气,表示对过去事情的假设,意思是本来能够做某事而没有做。 “must+have+done”表示对过去事情的肯定推测,译成“一定做过某事”,该结构只用于肯定句。“can't+have+done”表示对过去事情的否定推测,译成“不可能做过某事”。“can+have+done”表示对过去行为的怀疑,用于疑问句,译成“可能做过……吗?”。“could+have+done”是虚拟语气,表示对过去事情的假设,意思是本来能够做某事而没有做。“may+have+done”表示对发生过的事情的推测,意思是“可能已经”或“也许已经”,用于肯定句中。 “might+have+done”表示对过去事情的推测,might与may意思相同,但可能性更小。多用于虚拟语气结构中。 “would+have+done”虚拟语气,表示对过去事情的假设,意思是“本来会做”。“should+have+done”意思是“本来应该做某事,而实际没做。” “shouldn't+have+done”表示本来不应该做某事,而实际做了。含有指责对方或自责的含意。 “ought to+have+done”表示过去应该做而实际并没有做,译成“理应做……”,往往表示遗憾。与“should+have+done”用法基本一样。“need+have+done”表示本来需要做某事而没有做。“needn't+have+done”则表示“本来不需要做某事而做了”。would like to have done sth 本打算做某事would rather +have done 当时宁愿做了或没做。