
2009/12/07 17:52
一、在虚拟语气中的用法
1. should have done 表示“过去本应该做某事却未做。”其否定结构 shouldn't have done 表示 “过去本不该做某事却做了。”
2. ought to have done 表示“过去本应该做某事却未做。”其否定结构 oughtn't to have done 表示 “过去本不该做某事却做了。
”
have to do 表示不得不做,被迫做某事
ought to do 与 should do 都表示应该做某事,
但 ought to do 语气更强,常用于长辈对小辈的用语 或某规则上的要求(严格的规则应用 must ).
而 should do 可用语平辈朋友间,较为客气与口语化
3. need have done 表示“过去本有必要做某事却未做。”其否定结构 needn't have done 表示 “过去本没必要做某事却做了。”
4. could (不能用 can) have done 表示“过去本能够做某事却未做。”注意:其否定形式 couldn't have done 没有虚拟语气的用法,couldn't have done 只能表推测,相当于 can't have done,意为:“过去不可能做了某事。”
5. might (不能用 may) have done 表示“过去本可以做某事却未做。” 注意:其否定形式 might not have done 没有虚拟语气的用法,might not have done 只能表推测,相当于 may not have done,意为:“过去可能没有做某事。”
二、表推测的用法
1. must have done
表示对过去某事的肯定猜测,译为:过去肯定做了某事。不存在 mustn't have done 的形式。其否定或疑问形式须用 can(could) 来表示. 例如:
Since the road is wet, it must have rained last night. 既然路是湿的,那昨天晚上肯定下雨了。
He can't have missed the way. I drew him a map. 他不可能迷路。我(当时)给他画了张图。
“The dictionary has disappeared. Who could have taken it?” 词典不见了,(过去)谁可能把它拿走了?
2. may / might have done
may / might have done 表示“过去可能做了某事”。may 比 might 表示的可能性在说话人看来稍大些。may/might not have done表示“过去可能没有做某事。”例如:
I can't find my keys. I may / might have left them at the school yesterday. 我找不到我的钥匙了。我可能昨天把他们落在学校了。
John may/might not have passed the exam; he looks very sad.约翰可能没有通过考试。他看起来很忧伤。
注意:may/might have done表推测不能用于疑问句中。
3. can/could have done 表推测一般用在否定句和疑问句中,表示不相信或怀疑的态度。
Can/Could he have passed the exam?他可能通过了考试吗?
I think that he couldn’t/can't have gone abroad. I saw him just now.我认为他不可能出国了。我刚才还看见他了。
注:表示推测过去某动作发生的可能性时,就表示的可能性程度而言,must 最大,could 其次,may 更次之,might 最小。例如:
“I wonder how Tom knew about your past.” “我想知道汤姆是怎么知道你的过去的。”
| “He must / could / may / might have heard of it from Mary.” “他肯定/很可能/可能/兴许(没准儿)已从玛丽那儿听说此事了。” |
