could have done

should/would/could/might/must+have+done

一、 “must+have+done”表示对过去事情的肯定推测,译成“一定做过某事”,该结构只用于肯定句。
1. It must have rained last night, for the ground is wet. 昨晚一定下雨了,因为地面还是湿的。
2. You must have been mad to speak to the servant. 你和仆人说话,一定是发疯了。
二、 “can't+have+done”表示对过去事情的否定推测,译成“不可能做过某事”。
1. Mr. Smith can't have gone to Beijing, for I saw him in the library just now. 史密斯先生不可能去北京了,我刚才还在图书馆见过他。
2. Mary can't have stolen your money. She has gone home. 玛丽不可能偷你的钱,她回家去了。
三、 “can+have+done”表示对过去行为的怀疑,用于疑问句,译成“可能做过……吗?”。
1. There is no light in the room. Can they have gone out? 屋里没有灯,他们可能出去了吗?
2. There is nowhere to find them. Where can they have gone? 到处找不到他们,他们可能到什么地方去呢?
四、 “could+have+done”是虚拟语气,表示对过去事情的假设,意思是本来能够做某事而没有做。
He could have passed the exam, but he was too careless. 本来他能够通过考试,但是他太粗心。
五、 “may+have+done”表示对发生过的事情的推测,意思是“可能已经”或“也许已经”,用于肯定句中。
—What has happened to George?
—I don't know. He may have got lost.
—乔治发生了什么事?
——我不知道,他可能迷路了。
六、 “might+have+done”表示对过去事情的推测,might与may意思相同,但可能性更小。多用于虚拟语气结构中。
1. He might have given you more help, even though he was busy. 他或许会多给你一些帮助,即使他很忙。
2. She might have achieved greater progress, if you had given her more chances. 如果你多给她点机会,她可能已经取得更大的成绩。
七、 “would+have+done”虚拟语气,表示对过去事情的假设,意思是“本来会做”。
1. I would have told you all about the boy's story, but you didn't ask me. 我本来会告诉你这个小男孩的故事,但是你没有问我。
2. Without your help, I wouldn't have achieved so much. 没有你的帮助,我是不会取得如此大的成绩。
八、 “should+have+done”意思是“本来应该做某事,而实际没做。” “shouldn't+have+done”表示本来不应该做某事,而实际做了。含有指责对方或自责的含意。
1. Tom, you are too lazy. The work should have been finished yesterday. 汤姆,你太懒惰了,这项工作本来应该昨天就做完的。
2. Look, Tom is crying. I shouldn't have been so harsh on him. 看,汤姆哭了,我本来不应该对他如此严厉。
九、 “ought to+have+done”表示过去应该做而实际并没有做,译成“理应做……”,往往表示

遗憾。与“should+have+done”用法基本一样。
I ought to have gone home last Sunday. 我理应上星期日回家。
You ought not to have given him more help. 你不应该帮助他那么多。
十、 “need+have+done”表示本来需要做某事而没有做。“needn't+have+done”则表示“本来不需要做某事而做了”。
I needn't have bought so much wine—only five people came. 我本来没有必要买这么多酒,只来了五个人。
He need have hurried to the station. In that case, be wouldn't have missed the train. 他本来需要快点去车站,那样的话,他就不会误了火车。
would like to have done sth 本打算做某事
I would like to have read the article, but I was very busy then.
would rather +have done 当时宁愿做了 或没做
I would rather have refuse his offer



“情态动词+have done”考点解析

第一谈:
(1) must have done 可用来对某件过去的事情作肯定推测,表示“一定已经,想必已经”做过某事,用于肯定的陈述句中。否定句中用 can't have done。
She must have received the parcel, I sent it by registered post.
她一定已经收到包裹了,我是用挂号寄的。

(2) may have done, might have done, could have done “可能做过某事”,就语气而言 could have done 所表的可能性更小些。
He may / might / could have left by nine.
他可能于九点前已离去。

(3) should have done / ought to have done 表示“本该做某事”但实际未做。
I should / ought to have left London before nine but I didn't.
我本该在九点以前离开伦敦,但是我没有。

(4) shouldn't have done / oughtn't to have done 表示“本不该做事”,但实际上又做了。
He shouldn't / oughtn't to have left London before nine but he did.
他本不该在九点前离开伦敦,但是他离开了。

(5) can't / couldn't have done 表否定推测,“不可能做过某事”。
She can't / couldn't have gone to bed, for the light in her room is still on.
她不可能上床睡觉了,因为她房间的灯还亮着。

(6) could have done 可表示客观上“本来能做某事但实际上没做”。
He could have finished the work in time but he didn't work hard.
他本来可以按时干完活的,但他没有卖力。

(7) needn't have done 表示客观上“本不必做某事但实际上又做了”。
I needn't have gone to the office yesterday (but I went there).
昨天我没必要去办公室(但我却去了)。

(8) might have done 还可表示过去“本可能发生但实际上没有发生的动作”。用于表示说话人对已发生的事提出批评或意见。
He might have given more help, even though he was very busy.
即使他很忙,也可以多帮点忙。
情态动词 + 动词完成式即“ 情态动词 + 动词完成式即“情态动词 + have + done”,表示对过去行为或动作进行推测、评论或判断。这个结

构是近几年高考情态动词的重点和难点。


第二谈:
在虚拟语气中的用法

1. should have done 表示“过去本应该做某事却未做。”其否定结构 shouldn't have done 表示
“过去本不该做某事却做了。”

2. ought to have done 表示“过去本应该做某事却未做。”其否定结构 oughtn't to have done 表示“过去本不该做某事却做了。”

3. need have done 表示“过去本有必要做某事却未做。”其否定结构 needn't have done 表示“过去本没必要做某事却做了。”

4. could (不能用 can) have done 表示“过去本能够做某事却未做。”注意:其否定形式 couldn't have done 有虚拟语气的用法,如:
If you hadn't gone to the party, you couldn't have met your future wife.
如果你没去晚会,你不可能遇到你未来的妻子。
同时也表推测,表推测时相当于 can't have done,意为:“过去不可能做了某事。

5. might (不能用 may) have done 表示“过去本可以做某事却未做。” 注意:其否定形式 might not have done 没有虚拟语气的用法,might not have done 只能表推测,相当于 may not have done,意为:“过去可能没有做某事。”


“情态动词+have done”结构是高考重要考点,也是较难掌握的语法项目之一,为了帮助同学们更好地掌握使用这一考点,下面结合近年高考试题谈谈其主要用法。

高考题分析:

考点之一:在虚拟条件句中,如果表示与过去事实相反的情况,从句中用过去完成时,而主句中则用“情态动词+现在完成时”,即:would/ could/ should/ might have done。例如:

If they had finished the work on time, they would have been praised by the manager.
If you had worked hard, you could have passed the examination.

1. If it ___ for the snow, we ___ the mountain yesterday.
A. were not; could have climbed B. were not; could
C. had not been; could have climbed D. had not been; could climb

2. --- I stayed at a hotel while in New York. --- Oh, did you? You ___ with Barbara.
A. could have stay B. could stay C. would stay D. must have stay

3. Yesterday Jane walked away for discussion, otherwise, she ___ something she would regret later.
A. had said B. said C. might say D. might have said

答案简析:
1. 根据信息词yesterday可以判断该句是表示与过去事实相反的虚拟条件句,从句中应该用“情态动词+现在完成时”,故答案选C。
2. 本句是一个含蓄虚拟条件句,意思是:If you hadn’t stay at a hotel while in New York, you could have stayed with Barbara. 表达了与过去事实相反的情况,答案选A。
3. 本句考查的也是含蓄虚拟语气,意思是:如果她参加了讨论,她可能会说出一些后来令她后悔的话。表达了与过去事实相反的情况,故

答案选D。

考点之二:must have done表示对过去已经发生过的情况的肯定推测判断,语气较强,意思是“一定……、肯定……”。其否定形式分别用can’t/ couldn’t和can/ could。例如:
It must have rained last night, for the ground is wet this morning.
昨天晚上一定是下雨了,因为今晨地面是潮湿的。
She didn’t attend the lesson yesterday. She must have been ill.
她昨天没有上课,她一定是生病了。

巩固练习:
He ____ have completed his work, otherwise, he wouldn’t be enjoying himself by the seaside.
A. should B. must C. wouldn’t D. can’t

This cake is very sweet. You ___ a lot of sugar in it.
A. Should put B. could have put C. might put D. must have put

--- Tom is never late for work. Why is he absent today?
--- Something ___ to him.
A. must happen
B. should have happened
C. could have happened
D. must have happened

I was on the highway when this car went past followed by a police car. They ___ at least 150 kilometers an hour.
A. should have been doing B. must have been doing
C. could have done D. would have done

I ____ have been more than six years old when the accident happened.
A. shouldn’t B. couldn’t C. mustn’t D. needn’t

1. I didn’t hear the phone. I ____ asleep.
A. must be B. must have been C. should be D. should have been

2. --- I rang your home yesterday. A man answered but I didn’t recognize the voice.
--- On, it ___ my brother, Peter.
A. must be B. must have been C. can have been D. might be

三、may/ might have done也用于对已经发生过的情况的肯定推测判断,但语气稍弱,意思是“可能,或许……”。例如:

She didn’t get there in time. She may have missed the bus.
她没能及时到达那儿。她可能没赶上汽车。
He didn’t come to school today. He might have been ill.
他今天没来上课,他可能病了。

巩固练习:
1. Sorry, I’m late. I ____ have turned off the alarm clock and gone back to sleep again.
A. might B. should C. can D. will
2. The window was broken. Tom ____ have done that, for he was a little naughty.
A. could B. might C. should D. ought to
3. Yesterday, Jane walked away from the discussion. Otherwise, she ___ something she would regret later.
A. had said B. said C. might say D. might have said

答案简析:
这三句表达的都是对过去已经发生过的情况的推测判断,意思是“可能、或许……”,应该用may/might have done结构。答案分别选ABD。

三、如果对过去情况推测判断的句子是疑问句和否定句,只能用can/could和can’t,/couldn’t。例如:
He can’t have gone abroad; I saw him an hour ago.
他不可能去国外,我一个小时前还见到他呢。
--- Can he have passed the exam? --- No, he ca

n’t have. He didn’t work hard.
他通过考试了吗?不,他不可能通过考试。他学习不努力。

巩固练习:
1.--- There were already five people in the car but they managed to take me as well.
--- It ___ a comfortable journey.
A. can’t be B. shouldn’t be C. mustn’t have been D. couldn’t have been
2.My sister met him at the Grand Theatre yesterday, so he ____ your lecture. (2002 上海)
A. couldn’t have attended B. needn’t have attended
C. mustn’t have attended D. shouldn’t have attended
3. My English-Chinese dictionary has disappeared. Who ___ have taken it? (2003 上海春招)
A. should B. must C. could D. would
4. I didn’t see her in the meeting-room this morning. She ____ at the meeting. (1995 上海)
A. mustn’t have spoken B. shouldn’t have spoken
C. needn’t have spoken D. couldn’t have spoken

答案简析:
1、根据They were already five people in the car, but they managed to take me as well.一句中的时态,应该是对过去情况的推测判断,因为车上已经有5位人了,在带上我一个,可以断定这一定是一次不舒适的旅行。所以,本句表达的是对过去否定的推测判断,应该用can’t/ could have done来表达。故答案选D。
2、根据句意“我妹妹昨天在大剧院见过他”,所以,一定是对过去已经发生的否定的判断,答案选A。
3、本句表达的是对过去发生过的情况的疑问,所以应该用could have done,答案选C。
4、本句表达的是过去已发生情况否定的推测判断,应该用couldn’t have done,故答案选D。

四、含有must/ may/ might表示对过去情况推测判断的句子,如果变成反意疑问句,反意疑问句中动词应与情态动词must等后的动词形式保持一致,用一般过去时或现在完成时。例如:
He must have been living here for years, hasn’t he?
他一定是在这儿住了好几年了,是吗?
You can’t have slept well last night, did you?
你昨天晚上没睡好,是不是?

巩固练习:
1: Great changes must have taken place in the village in the past few years, ____ they?
A. mustn’t B. haven’t they C. can’t D. didn’t
2. He must have lived a happy a few years ago, ____ he?
A. didn’t B. hasn’t C. mustn’t D. can’t
答案简析:
1. 含有must表示推测判断的句子,其反意疑问句的动词形式应与must后动词时态保持
一致。可以理解成如果不表示推测判断,该句应该说成:Great changes have taken place in the village in the past few year. 变成反意疑问句后应该说成:Great changes have take place in the past few years, haven’t they? 所以,该题选B。
2. 本句中must后的动词形式应为did,所以,反意疑问句的动词应为didn’t。故答案选A。
五、should/ ought to have done表示“本来应该做的,而实际上没有做

的事情”,其否定形式则表示“已经做了不该做的事情”,含有责备的意思。例如:
The flowers have died. I should have watered them often.
这些花儿都死了。我本来应该常给他们浇水的。(其实没浇水)
You ought not to have told them the truth.
你本不应该告诉他们真相的。(其实你告诉他们了)

巩固练习:
1. There was a lot of fun at yesterday’s party. You ___ come, but why didn’t you? (99 上海)
A. must have B. should C. need have D. ought to have

2. Oh, I am not feeling well in the stomach, I ____ so much fried chicken just now. (2002 上海春)
A. shouldn’t eat B. mustn’t have eaten C. shouldn’t have eaten D. mustn’t eat

3. I was really anxious about you. You ___ home without a word. (NMET 2001)
A. mustn’t leave B. shouldn’t have left C. couldn’t have left D. needn’t leave

4. Mr. White _____ at 8:30 for the meeting, but he didn’t’ show up.
A. should have arrived B. should arrive
C. should have had arrived D. should be arriving(04广西卷)

六、needn’t have done表示“做了本来不必做的事情”,通常不用于肯定句。例如:
It’s only five minutes’ walk. We needn’t have taken a taxi.
只有5分钟的步行路程,我们本不必乘出租车的。
It is warm today. You needn’t have worn your coat.
今天天气暖和,你本来不必穿大衣的。

巩固练习:
1. He is not poor. You ____ have lent him the money.
A. can’t B. needn’t C. couldn’t D. mustn’t
2. There was plenty of time. You ___ have hurried.
A. won’t B. mustn’t C. needn’t D. couldn’t
答案简析:
1. 该句的意思是:他不穷,你本不必借给他钱。答案选B.
2. 该句的意思是:时间充裕着呢,你不必慌忙。答案选C。

七、can/ could have done表示“本来能够做而实际上没有做的事情”。例如:
You could have come here a little earlier.
你本来可以早点来到这儿的。
She could have earned a lot of money.
她本来可以挣一大笔钱的。

巩固练习:
He paid for a seat, when he ___ have entered free. (05 山东)
A. could B. would C. must D. need

I ____ here in time, but I met an old friend of mine. I stopped and talked with him for some time.
A. shouldn’t have come B. must have come
C. needn’t have come D. could have come
2. They ____ have finished the work yesterday, but it was raining hard.
A. must B. could C. should D. might

相关文档
最新文档