区别could,might,would,should have done作为虚拟语气could have done,might have done,would have done,should have done怎么区别
区别could,might,would,should have done
作为虚拟语气could have done,might have done,would have done,should have done怎么区别
1.could,might,would
could用来表示请求时,语气委婉,主要用于疑问句,不能用于肯定句,答语应用can(即:could不能用于现在时态的简略答语中)。如:
——Could I use your dictionary?
——Yes, you can.(否定回答可用:No, I’m afraid not.)
在肯定句中,表示客观可能性,并不涉及具体某事会发生,常用来说明人或事物的特征。要表达具体某事实际发生的可能性时,不用can,需用could,may,might。如:
As a human being, anyone can make a mistake.
I’m confident that a solution can be found.
He can be very forgetful sometimes.
I may stay at home this weekend.(实际可能性)
Peter might come to join us.(实际可能性)
It will be sunny in the daytime ,but it could rain tonight.(实际可能性)
would用于表示意志或意愿。will指现在,would指过去。
He is the man who will go his own way. (他首歌自行其是的人。)
They said they would meet us at 10:30 at the station.
表示推测,意为“很可能,大概”。will表示推测比should把握大,比must把握小。如:
These things will happen.
That will be the messenger ringing.
It would be about ten o’clock when he left home.
2.could have done,might have done,would have done,should have done
(1)could have done:可用于肯定句中,表示“可能已经……”之意,此外,还可以表示过去能做而没做的事,有一种对过去为付诸实施的事情的惋惜。He could have killed himself driving at a dangerous speed.
You could have been more considerate.
You could have done better, but you were too careless
(2)might have done:表示“本来可能……,但实际上没有发生的事情”。另外,还可以表示“本来应该或可以做某事”之意,含有轻微的责备语气。
You should not swum in that sea. You might have been eaten by a shark.
He might have given him more help, thought he was busy.
(3)would rather have done:表示“当时宁愿做了某事”,其否定式would rather not have done表示相反的含义,两者都表示“后悔”之意。
I would rather have taken his advice.
I would rather not have told him the truth.
(4)should/ought to have done:用于肯定句时,表示本该做某事,而实际上未做;用于否定句时,则表示不该做的事反而做了。
He should have known that the police would never allow this sort of thing.
You shouldn’t have done it so carelessly.
You ought to have returned the book earlier.
You ought not to have refused his offer.
要结合原形词义来理解
Can: 能……
Will:将/会……
Shall:应/应该……
May:也许……
肯定成份依次减弱,may是最不确定的语气.在虚拟语气里也是一样.
Could have done: 本来能……
Would have done:本来会……
Should have done:本来应该……
Might have done:本来也许……