首先have done表示已经做过,这点就不用谈了.
can't have done 表示以前不可能做某事.
例句
---Where____Margaret have put the empty bottles?
---She________them away.They must be somewhere.
A.can;can't have thrown
B.must;must have thrown.
C.must;needn't
D.can;must throw
答案为A.第一个句子是一个疑问句而且表示可能性的推测,所以只能用情态动词can或could,第二句的答语表示对过去的推测,所以用can't have done.
请看常见的“情态动词 + have + 过去分词”的用法:
一、“must + have + 过去分词”表示对过去发生的事情或状态进行推测,语气比较坚定,通常只用于肯定句.如:
It must have rained last night,for the ground is wet.
You must have been mad to speak to the servant.
二、“can / could + have + 过去分词”表示对过去某种情况的怀疑或不确定.can和could一般用于否定句和疑问句,could的语气较can弱.如:
I didn't see her at the meeting this morning; she can't / couldn't have spoken at the meeting.
He can't have finished the work so soon.
三、“may / might + have + 过去分词”表示对已发生的动作或存在的状态进行不肯定的推测,might的语气比may弱一点.这种结构主要用于肯定句和否定句,疑问句改用can或could.如:
They may not have known it beforehand.
You might have read about it in the papers.
四、“need + have + 过去分词”表示过去做了不必做或不需要做的事情,或过去做某事纯属多余.如:
Need they have done it last week?
I needn't have bought so much wine—only five people came.
五、“should / ought to + have + 过去分词”表示过去本该做某事但没做,其否定式表示过去不该做某事但做了,这种句式含有不满或责备之意,ought to的语气比should强一些.如:
You ought to / should have studied harder.你本应该更努力学习的.(但没有)
He oughtn't to / shouldn't have done that.他本来就不该做那件事.(可是做了)
六、“would + have + 过去分词”表示对过去的某种情况进行猜测,或本来要做某事却因某种原因未做成,通常用来说明某一情况,但不像用should或ought to那样含有责备之意.如:
I guess the poet would have been about twenty when she wrote her first poem.
Another worker wouldn't have acted like that.
mustn't have done: 虽然是推测,但跟事实是一样的,即“一定没有做完某事,以至于对现在还有影响”;
He mustn't have done this project. 他必定没有完成这项工程。
但是一般不这样用,而是通常用于反义疑问句,如:
He must have done this project, hasn't he?
他一定已经完成这项工程
can't have done:
(1) 其实,是must have done 的否定形式!也就是说,通常不说 mustn't ...
(2) 表示推测,比较肯定,是说话人根据对某人某事平常的了解,不可能发生。He can't have done that for he is not that kind of man. 跟读
他不可能这么做的,因为他不是那种人。
“can't+have+done”表示对过去事情的否定推测,译成“不可能做过某事”。
Mr. Smith can't have gone to Beijing, for I saw him in the library justnow.
史密斯先生不可能去北京了,我刚才还在图书馆见过他。
Mary can't have stolen your money. She has gone home.
玛丽不可能偷你的钱,她回家去了。
“mustn't have done”没有这种搭配,这是一定要记住的!
只有mustn't do sth. 指的是明令禁止做某事
首先have done表示已经做过,这点就不用谈了.
can't have done 表示以前不可能做某事.
例句
---Where____Margaret have put the empty bottles?
---She________them away.They must be somewhere.
A.can;can't have thrown
B.must;must have thrown.
C.must;needn't
D.can;must throw
答案为A.第一个句子是一个疑问句而且表示可能性的推测,所以只能用情态动词can或could,第二句的答语表示对过去的推测,所以用can't have done.
请看常见的“情态动词 + have + 过去分词”的用法:
一、“must + have + 过去分词”表示对过去发生的事情或状态进行推测,语气比较坚定,通常只用于肯定句.如:
It must have rained last night,for the ground is wet.
You must have been mad to speak to the servant.
二、“can / could + have + 过去分词”表示对过去某种情况的怀疑或不确定.can和could一般用于否定句和疑问句,could的语气较can弱.如:
I didn't see her at the meeting this morning; she can't / couldn't have spoken at the meeting.
He can't have finished the work so soon.
三、“may / might + have + 过去分词”表示对已发生的动作或存在的状态进行不肯定的推测,might的语气比may弱一点.这种结构主要用于肯定句和否定句,疑问句改用can或could.如:
They may not have known it beforehand.
You might have read about it in the papers.
四、“need + have + 过去分词”表示过去做了不必做或不需要做的事情,或过去做某事纯属多余.如:
Need they have done it last week?
I needn't have bought so much wine—only five people came.
五、“should / ought to + have + 过去分词”表示过去本该做某事但没做,其否定式表示过去不该做某事但做了,这种句式含有不满或责备之意,ought to的语气比should强一些.如:
You ought to / should have studied harder.你本应该更努力学习的.(但没有)
He oughtn't to / shouldn't have done that.他本来就不该做那件事.(可是做了)
六、“would + have + 过去分词”表示对过去的某种情况进行猜测,或本来要做某事却因某种原因未做成,通常用来说明某一情况,但不像用should或ought to那样含有责备之意.如:
I guess the poet would have been about twenty when she wrote her first poem.
Another worker wouldn't have acted like that.