篇章导语:

▶ 本篇章针对have done【现在完成时主动语态】、

▶ have been doing【现在完成进行时】、

▶ have been done【现在完成时被动语态】

三大易混淆结构,进行综合对比辨析与专项练习。通过考点对比、例句解析、正误对照、专项训练,

帮助大家区分三者用法,规避时态语态常见误区,巩固语法知识点。

了解更多相关语法知识请点击链接英语语法体系25篇目录

一、三大结构核心用法对比

助动词have/has统一用法规则

▶ have:用于主语为第一人称【I / we】、第二人称【you】、复数主语的情况。

▶ has:用于主语为第三人称单数【he/she/it、单个的人或事物】的情况,简称三单用法。

1. have done 现在完成时(主动语态)

基本结构:have / has + 动词过去分词。

核心含义:动作发生在过去,目前已经结束,重点突出动作所带来的结果,以及对当下造成的影响。

常用时间标志:already、yet、just、ever、never、for+时间段、since+时间点。

2. have been doing 现在完成进行时

基本结构:have / has + been + 动词现在分词。

核心含义:动作从过去某一时刻开始,持续或者反复发生直至现在,现阶段动作仍在进行,

侧重强调动作不间断的持续过程。

常用时间标志:for+时间段、since+时间点、all day、recently、lately。

3. have been done 现在完成时(被动语态)

基本结构:have / has + been + 动词过去分词。

核心含义:句子主语是动作的承受者,动作在过去完成,或是状态从过去延续到现在,侧重体现被动关系与现存状态。

常用时间标志:already、yet、just、for+时间段、since+时间点。

了解更多相关语法知识请点击链接十六种时态用法详解目录

二、分场景综合辨析与例句解析

场景1:主动语态 have done 与 have been doing 辨析

核心区别

▶ have done 侧重动作已经结束,强调最终结果;

▶ have been doing 侧重动作尚未结束,强调持续的过程。

✅ I have read this book.

【我已经读完这本书了。】

用法解析:读书的动作已经全部完成,当下结果是知晓书的内容,符合have done完成型语义;主语I,使用have.

✅ I have been reading this book for 3 days.

【这本书我已经读了3天了。】

用法解析:读书的动作从3天前开始,持续到现在,此刻仍在读,符合have been doing持续型语义;主语I,使用have.

❌ I have been reading this book.

解析:本句无持续时间标志,无法体现“仍在进行”的含义,若表达“读完了”,应使用have done结构。

❌ I read this book for 3 days.

解析:一般过去时仅表示过去的动作,无法体现“持续到现在”的含义,不符合现在完成时用法。

✅ She has worked here for 5 years.

【她在这里工作过5年。】

用法解析:她曾在这里工作5年,现在已经离职,动作已结束,符合have done完成型语义;

主语she,第三人称单数,简称三单,使用has.

✅ She has been working here for 5 years.

【她在这里已经工作5年了。】

用法解析:她从5年前开始在这里工作,现在仍在职,符合have been doing持续型语义;

主语she,第三人称单数,简称三单,使用has.

❌ She worked here for 5 years.

解析:一般过去时仅陈述过去的经历,无法体现和现在的关联,不符合现在完成时用法。

反复发生场景辨析:▼

✅ He has called you many times.

【他给你打过很多次电话。】

用法解析:多次打电话的动作已结束,强调“打过多次”的结果,符合have done用法;

主语he,第三人称单数,简称三单,使用has.

✅ He has been calling you all day.

【他一整天都在给你打电话。】

用法解析:打电话的动作从早上开始,反复发生到现在,此刻可能还在打,符合have been doing反复发生型语义;

主语he,第三人称单数,简称三单,使用has.

❌ He called you all day.

解析:一般过去时仅表示过去的动作,无法体现“持续到现在、仍有趋势”的含义,不符合用法要求。

场景2:主动语态与被动语态 have done 与 have been done 辨析

核心区别:

▶ have done 为主动语态,句子主语是动作的发出者;

▶ have been done 为被动语态,句子主语是动作的承受者。

✅ I have finished the homework.

【我已经做完作业了。】

用法解析:“我”是“完成”动作的发出者,主动语态,符合have done用法;主语I,使用have.

✅ The homework has been finished.

【作业已经做完了。】

用法解析:“作业”是“完成”动作的承受者,被动语态,符合have been done用法;

主语为单数事物,第三人称单数,简称三单,使用has.

❌ The homework has finished.

解析:作业无法自主发出“完成”的动作,语态错误,必须使用被动语态have been done结构。

❌ I have been finished the homework.

解析:本句为主动语态,误用被动结构,句式错误。

✅ We have completed the project.

【我们已经完成了这个项目。】

用法解析:“我们”是“完成”动作的发出者,主动语态,符合have done用法;主语we,复数,使用have.

✅ The project has been completed.

【这个项目已经被完成了。】

用法解析:“项目”是“完成”动作的承受者,被动语态,符合have been done用法;

主语为单数事物,第三人称单数,简称三单,使用has.

❌ The project completed.

解析:一般过去时主动语态,既无被动含义,也无法体现对现在的影响,不符合用法要求。

场景3:三大结构混合辨析

✅ I have written 3 articles this week.

【这周我已经写了3篇文章。】

用法解析:“我”是“写”的发出者,3篇文章已写完,强调完成结果,用have done;主语I,使用have.

✅ I have been writing this article for 2 hours.

【这篇文章我已经写了2个小时了。】

用法解析:“我”是“写”的发出者,动作从2小时前开始,现在仍在写,用have been doing;主语I,使用have.

✅ This article has been written.

【这篇文章已经写完了。】

用法解析:“文章”是“写”的承受者,被动语态,动作已完成,用have been done;

主语为单数事物,第三人称单数,简称三单,使用has.

❌ I have been written 3 articles this week.

解析:本句为主动语态,误用被动结构,句式错误。

❌ This article has been writing for 2 hours.

解析:文章无法自主发出“写”的动作,语态错误,同时无法体现被动含义。

❌ This article wrote.

解析:一般过去时主动语态,语态、时态均错误。

✅ They have built 5 houses here.

【他们在这里已经建了5栋房子。】

用法解析:“他们”是“建造”的发出者,5栋房子已建成,强调结果,用have done;主语they,复数,使用have.

✅ They have been building this house for 6 months.

【这栋房子他们已经建了6个月了。】

用法解析:“他们”是“建造”的发出者,动作从6个月前开始,现在仍在建,用have been doing;

主语they,复数使用have.

✅ This house has been built.

【这栋房子已经建成了。】

用法解析:“房子”是“建造”的承受者,被动语态,动作已完成,用have been done;

主语为单数事物,第三人称单数,简称三单,使用has.

❌ This house has been building for 6 months.

解析:房子无法自主发出“建造”的动作,语态错误。

❌ They built this house for 6 months.

解析:一般过去时仅表示过去的动作,无法体现“持续到现在”的含义,不符合用法要求。

了解更多相关语法知识请点击第三人称单数【三单】14篇目录

三、专项正误对照强化训练

训练1:时态与语态判断

1. ✅ He has learned English for 10 years.

【他已经学了10年英语。】

用法解析:主动语态,强调学英语的经历已积累10年,符合have done用法;

主语he,第三人称单数,简称三单,使用has.

❌ He has been learning English for 10 years.

解析:若表达“仍在学”可用此句,若表达“学过10年”(现在不学了),则用have done更准确,需结合语境区分。

❌ He learned English for 10 years.

解析:一般过去时无法体现和现在的关联,不符合现在完成时用法。

2. ✅ He has been learning English for 2 hours.

【他已经学了2个小时英语了。】

用法解析:主动语态,动作从2小时前开始,现在仍在学,符合have been doing用法;

主语he,第三人称单数,简称三单,使用has.

❌ He learned English for 2 hours.

解析:一般过去时仅表示过去的动作,无法体现“持续到现在”的含义。

3. ✅ English has been learned by him for 10 years.

【英语已经被他学了10年了。】

用法解析:被动语态,英语是“学”的承受者,符合have been done用法;

主语为单数事物,第三人称单数,简称三单,使用has.

❌ English has learned for 10 years.

解析:英语无法自主发出“学”的动作,语态错误。

训练2:动词形式与结构判断

1. ✅ I have been doing my homework.

【我一直在做作业。】

用法解析:have been doing结构,动词用现在分词doing,符合现在完成进行时规则;主语I,使用have.

❌ I have been do my homework.

解析:been后必须接现在分词,用原形do属于结构错误。

❌ I have doing my homework.

解析:结构缺少been,属于现在完成进行时的典型错误。

2. ✅ The homework has been done.

【作业已经被做完了。】

用法解析:have been done结构,been后接过去分词done,符合现在完成时被动语态规则;

主语为单数事物,第三人称单数,简称三单,使用has.

❌ The homework has been do.

解析:been后必须接过去分词,用原形do属于结构错误。

❌ The homework has done.

解析:结构缺少been,同时语态错误。

3. ✅ I have done my homework.

【我已经做完作业了。】

用法解析:have done结构,have后接过去分词done,符合现在完成时主动语态规则;主语I,使用have.

❌ I have do my homework.

解析:have后必须接过去分词,用原形do属于结构错误。

四、时间标志词专项区分

▶ for + 时间段、since + 时间点/过去动作,这两类时间短语可以搭配三大结构使用。

▶ all day、recently、lately 这类词汇,主要搭配 have been doing 使用。

▶ already、yet、just、ever、never 这类词汇,可搭配 have done 与 have been done 使用。

▶ yesterday、last week、just now 等明确的过去时间状语,三大结构均不可以搭配使用。

✅ I have lived here since 2020.

【我从2020年起就住在这里。】 →(have done)

✅ I have been living here since 2020.

【我从2020年起就一直住在这里。】 →(have been doing)

✅ This house has been lived in since 2020.

【这栋房子从2020年起就一直有人住。】 →(have been done)

❌ I lived here since 2020.

解析:since引导的延续性时间状语,不能搭配一般过去时。

✅ She has been crying all day.

【她一整天都在哭。】 →(have been doing)

❌ She has cried all day.

解析:all day强调持续过程,用have been doing更贴合语境。

❌ She has been cried all day.

解析:语态错误,哭是主动动作,不能用被动语态。

了解更多相关语法知识请点击链接主动与被动语态25篇用法详解目录

知识要点总结:

1. 三大结构核心公式

▶ have done:have / has + 动词过去分词。

▶ have been doing:have / has + been + 动词现在分词。

▶ have been done:have / has + been + 动词过去分词。

2. 助动词用法

▶ 第一人称、第二人称、复数主语用have;

▶ 第三人称单数主语用has。

3. 语态区分

have done和have been doing为主动语态,主语是动作发出者;

have been done为被动语态,主语是动作承受者。

4. 语义区分

▶ have done 强调动作完成的结果;

▶ have been doing 强调动作持续、反复的过程;

▶ have been done 强调被动关系与现存状态。

5. 时间状语区分: ▼

严格区分可搭配的时间标志词,三类结构都不可搭配纯粹表示过去的时间状语。

6. 动词变形区分: ▼

熟记规则动词与不规则动词的不同变形形式,避免拼写和结构错误。

下一篇:现在完成时三大结构易混专项纠错

请点击返回首页现在完成时三大核心解析目录