(1)can,could后接完成式的用法:①在否定句或疑问句中表示对过去发生过的事情的“怀疑”或“不肯定”的态度,Could he have said so?②在肯定句中,可以表示过去可能做到而实际并没做到的事情,有“劝告”或“责备”的语气.如:---- When did you answer her letter?---- Only yesterday.---- It's too late.You could have answered it earlier,I am sure.
(2)may,might后接完成式的用法 ①表示对过去某事的推测,认为某一件事情在过去可能发生了.如果使用might,语气就比较婉转或更加不肯定,如:Mary might have learned some Chinese before.②可以表示过去本来可以做到而实际没有做到的事情,有“劝告”或“责备”的语气,如:You didn't do the work well that day.You might have done it better.(3)must后接完成式的用法:表示对过去某事的推测,认为某事在过去一定做到 了,如:Liu Dong isn’t in the classroom.He must have gone to the library.