have been doing 和having done的区别是什么

如题所述

have been doing 着重强调动作的持续性和反复性,突出这种持续和反复对现在造成的影响;having done 是动词ing形式的完成时,表示在谓语动词之前完成的动作。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-22
have been doing是现在完成进行时,表示从过去某时开始一直持续到现在的动作,并且还将持续下去,或者表示在说话时刻之前到现在正在进行的动作;having done是动词ing的完成形式,表示该动作在谓语动词的动作前。
第2个回答  2013-01-22
前一个是现在完成进行时态,强调的是从过去到现在,现在还在发生,如I have been studying here for two years,强调已经学了两年,现在还在继续(还未毕业);后一个是现在完成时态,强调的是现在已经完成,如I have passed the exam,强调已经通过了考试。
第3个回答  2013-01-22
have been doing是完成进行时,表示谓语的时态;having done是非谓语动词的完成时,表示分词的动作早于谓语动词的动作发生。
第4个回答  2013-01-22
have been doing “一直”
I have been working all the afternoon; now I am tired.
having done是分词 用作状语,强调这个动作发生在谓语动词之前。
Having finished homework, Tom was happy.本回答被网友采纳