have been doing sth.、have been done、have done(不知道有没有这种用法)区别一下。

各有什么用法,它们有什么区别?

当然有区别啦,第一个是现在完成进行时,第二个现在完成时的被动语态。第三个是现在完成时。中间的一个不用讲了吧,主要就帮你取分下第一个和第三个。其实很简单的。现在完成进行时一般表示:(一)表示从过去某时开始一直持续到现在的动作,并且还将持续下去。(二)表示在说话时刻之前刚刚结束的动作。(三)有些现在完成进行时的句子等同于现在完成时的句子。(四)大多数现在完成进行时的句子不等同于现在完成时的句子。(五)表示状态的动词不能用于现在完成进行时。
第二,现在完成时则是:基本结构:主语+have/has+过去分词(done)
  ①肯定句:主语+have/has+时间状语+过去分词+其他.
  ②否定句:主语+have/has+not+过去分词+其他.
  ③一般疑问句:Have/Has+主语+过去分词+其他.
  ④特殊疑问句:特殊疑问词或词组+一般疑问句(have/has+主语+过去分词+其他)?
  定义:在过去不确定的时间里发生的动作,但是结果对现在有影响。用法:(1)现在完成时用来表示现在之前已发生过或完成的动作或状态,但其结果却和现在有联系,也就是说,动作或状态发生在过去但它的影响现在还存在. (2)现在完成时可以用来表示发生在过去某一时刻的,持续到现在的动作(用行为动词表示)或状态(be动词表示)常与for(+时间段),since(+时间点或过去时的句子)连用. ●注:瞬间动词(buy,die,join,lose……)不能直接与for since 连用。要改变动词 ★1.have代替buy   My brother has had(不能用has bought) this bike for almost four years.   ★2、用keep或have代替borrow   I have kept(不能用have borrowed) the book for quite a few days.   ★3、用be替代become   How long has your sister been a teacher?   ★4、用have a cold代替catch a cold   Tom has had a cold since the day before yesterday.   ★5、用wear代替put on b)用“be+形容词”代终止性动词 c)用“be+副词”代终止性动词 d)用“be+介词短语”代终止性动词注意: 1.现在完成时不能单独与准确时间连用,(如表示过去的时间状语)  如yesterday(morning、afternoon),last(morning、afternoon)等,除非与for,since连用.  2.现在完成时往往同表示不确定的过去时间状语连用(记住这些词语是现在完成时的标志)如already(肯定), yet(否定,疑问), just, before, recently,still, lately等3. 现在完成时常常与表示频度的时间状语连用,如often, sometimes, ever, never, twice, on several occasion等:4. 现在完成时还往往可以同包括现在时间在内的时间状语连用,如now, up to these few days/weeks/months/years, this morning/week/month/year, just, today, up to present, so far等: 5. 现在完成时还可以用来表示过去的一个时间到现在这段时间内重复发生的动作.6.现在完成时的"完成用法"   现在完成时的"完成用法"指的是动作发生在过去某一时刻并已结束,但该动作对现在产生了影响,与现在情况具有因果关系。 7.现在完成时的"未完成用法" 现在完成时的"未完成用法"指的是动作开始于过去某一时刻,一直延续到现在,或可能还要继续下去。8.一段时间+has passed+since从句 9. 现在完成时常和短语 "up to now /till now", "so far" (意思是从过去某一确定的时间一直延续到现在.) 11.不能与when连用另外,现在完成进行时的谓语动词构成   I/ we/ you/ they have been doing sth.  he/ she/ it has been doing sth.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-23
have been doing sth从过去一直在做某事到现在have been done过去什么事情到现在为止已经做完了 have done是have been done的主动语态
第2个回答  2013-09-23
have been doing sth.是现在完成进行时态,表示一直在发生的动作、一直存在的状态 如:1. I have been waiting for your phone call these days. 2. He has been watching TV since I came back.have been done 是现在完成时态的被动语态形式,表示sth已经完成。如:1. The desks have been cleaned. 2. The broken window has been repaired. have done 是现在完成时态的谓语部分,表示说话时存在的状态;或者已持续一段的行为。如:1. I have seen the film . 2. We have learned English for 3 years.本回答被网友采纳
相似回答