could (不能用 can) have done 表示“过去本能够做某事却未做.”注意:其否定形式 couldn't have done 没有虚拟语气的用法,couldn't have done 只能表推测,相当于 can't have done,意为:“过去不可能做了某事.”
mustn't have done和can't have done的区别最好有例子
最佳答案
首先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
请问老师,wouldn't have done 都有哪些用法?
它和would have done 用法是否完全相同?
【答】从网友的提问看出,似乎是:否定的wouldn't have done,能否表示对过去情况的推测?
答案应该是肯定的。例如:
Any thinking person would not have accepted such a condition. 任何一个有思想的人(在当时)是都不会接受这个条件的。
A wiser man would not have done such a foolish thing. 聪明一点的人是不会干出这等蠢事的。
【说明】上句话有两层意思:
1. 对过去情况的推测。
2. 隐含的虚拟语气。等于:If he had been a wiser man, he would not have done such a foolish thing.
联系客服