(1) 从使用句型上看,can 通常只用于否定句或疑问句,一般不用于肯定句,而could 可用于肯定句、否定句和疑问句。两者没有时间上的差别,只是could 比 can 更委婉,更不确定。如:
It can’t [couldn’t] be true. 那不可能是真的。
What can [could] they be doing? 他们会在干什么呢?
We could go there this summer. 今年夏天我们可能要去那儿。
注:can 有时也用于肯定句中表示推测,主要用于表示理论上的可能性(即从理论上看是可能的,但实际未必会发生),或表示“有时”之意。如:
Even experienced teachers can make mistakes. 即使是有经验的教师也可能出错。
She can be very unpleasant. 她有时很令人讨厌。
(2) 从时间关系看,对现在或将来情况作推测,后接动词原形;对正在进行的情况作推测,后接 be doing 结构;对过去情况作推测,后接动词完成式。如:
He could have gone home. 他可能已经回家了。
He can’t [couldn’t] have understood. 他不可能理解了。
Why does he know this? Can [Could] someone have told him about it? 他怎么知道? 会是哪个人告诉他了吗?
(3) “could+完成式”除表示对过去的推测外,还有以下重要用法:
① 表示过去没有实现的可能性,常译为“本来可以”。如:
I could have lent you the money.Why didn’t you ask me? 我本来可以借这笔钱给你的。你为什么不向我提出?
② 用来委婉地责备某人过去应该做某事而没有去做,常译为“本来应该”。如:
You could have helped him. 你本来应该帮助他的。
③ 表示“差点儿就要”。如:
I could have died laughing. 我差点儿笑死了。
表示推测,两者都可用,只是 might 比 may 语气更不确定,表示的可能性更小。
(1) 在句型使用方面:两者均可用于肯定句和否定句,但用于疑问句时,may通常不用于句首,但可用于疑问句的句中(如特殊疑问句等),而might尽管可以用于疑问句的句首,但不算普通,通常会改用其他句式(如用could等)。如:
He may [might] know the answer. 他可能知道答案。
He may [might] not believe you. 他可能不会相信你。
And who may [might] she be? 那么她会是哪一位呢?
(2) 从时间关系看,对现在或将来情况作推测,后接动词原形;对正在进行的情况作推测,后接 be doing 结构;对过去情况作推测,后接动词完成式。如:
He may [might] tell his wife. 他也许会告诉他妻子。
He may [might] be writing a letter. 他可能在写信。
She may [might] have read it in the papers. 她可能在报上已读到过此事。
(3)“might+完成式”除表示对过去的推测外,还有以下重要用法:
① 表示过去某事可能发生而实际上却并没发生。如:
It was really very dangerous. I might have killed myself. 那真的是太危险了,我差点没命了。
A lot of men died who might have been saved.很多人本来可以获救的却死了。
② 表示委婉的批评或责备。如:
You might have made greater progress. 你的进步本来可更大一些的。
You might at least have answered my letter. 你至少可以回我一封信嘛。
3. must表示推测的用法
must 表示很有把握的推测,其意为“一定会”“肯定会”,只用于肯定句,一般不用于否定句或疑问句。表示对现在或未来的情况作推测,后接动词原形;表示对过去情况的推测,接动词完成式。如:
I must be the happiest woman on earth! 我一定是世界上最幸福的女人了。
No, he must be lying. 不,他一定在撒谎
He must have mistaken my meaning. 他一定误会了我的意思。
should have done只用于谈论过去情况,主要有两个用法:一是用于推测过去已经发生的情况,二是用于指本该发生而实际上未发生的情况。如:
You should have told me so before. 你早就应该告诉我。
He should have arrived by now. 此时他本该到了。
Look at the time! We should have been at the theatre ten minutes ago. 瞧都什么时候了! 十分钟前我们就该到戏院了。
need have done结构主要用于否定句或疑问句,一般不用于肯定句。用于否定句时,表示本来不必做某事,但实际上却做了;用于疑问句时,用于询问某一过去动作的必要性。如:
You needn’t have hurried. 你当时实在不必那么匆忙。
She needn’t have come in person — a letter would have been enough. 她本不必亲自来——写封信来就足够了。
Need you have paid so much? 你当时真须要付那么多钱吗?
Need they have sold the farm? 他们那时非得把农场卖掉不可吗?
转载自:http://www.yygrammar.com/Article/200811/694_2.html