现在完成时是描述过去发生的而与现在情况有关的事或状态(例2),或是从过去某时到现在为止这一段时间中发生的情况(例1),换言之,现在完成时是表现从过去到现在的事情。
例句:
1、)I have worked here since 1970.
2、) He has been to the Great Wall twice.
过去完成时的关键概念是:假设在过去发生了两件(或是以上)的事件,一件是A事件,另一件是B事件,如果A,B两个是:哪个事件先发生就用过去完成时,哪个事件后发生就用一般过去式。
例句:
1、)She said she had never been to the Great Wall.
2、)When the police arrived,the thieves had run away.
当主句与if条件句中的动作都发生在过去时,主句谓语动词就要使用had done形式,if条件句中谓语动词则要使用would have done形式 .e.g.If I had worked hard,I would have passed all the exams.
当主句以及if条件句中的动作都发生在现在时,主句的谓语动词必须使用did(be动词用were),if条件句动词须使用would do形式.e.g.
If he came on time for the meeting,I would treat you to a rich meal.
If I were you,I would go with him.
当主句和if条件句的动作都发生在将来时,主句动词可以使用did,should do 或were to do形式,if条件句中动词须使用would do形式.
e.g.If you kept/should / keep were to keep your promise,you would earn more than trust.
三者的区别在于时态不同,要根据想要表达的意思选择相应的时态
have been doing 是现在完成进行时,表示过去开始做而现在仍在做将来还有可能继续做的事情。
例句: Ihave been doing related researches. 表示我一直都在做相应的研究。
have done是现在完成时,表示对于现在来说某事已经发生过或是某事已经完结了。
例句: I have done related researches. 表示我(陈述该事时)已经完成相应的研究了。
had done是过去完成时,表示相对于过去的某个时间来说某事已经发生过或是某事已经完结了。
例句: Ihad done related researches (two years ago). 表示我(2年前)那时就已经完成相应的研究了。
一、
“must+have+done”表示对过去事情的肯定推测,译成“一定做过某事”,该结构只用于肯定句。
1、It
must
have
rained
last
night,
for
the
ground
is
wet.
昨晚一定下雨了,因为地面还是湿的。
2、You
must
have
been
mad
to
speak
to
the
servant.
你和仆人说话,一定是发疯了。
二、
“can't+have+done”表示对过去事情的否定推测,译成“不可能做过某事”。
1、Mr.
Smith
can't
have
gone
to
Beijing,
for
I
saw
him
in
the
library
just
now.
史密斯先生不可能去北京了,我刚才还在图书馆见过他。
2、Mary
can't
have
stolen
your
money.
She
has
gone
home.
玛丽不可能偷你的钱,她回家去了。
三、
“can+have+done”表示对过去行为的怀疑,用于疑问句,译成“可能做过……吗”。
1、There
is
no
light
in
the
room.
Can
they
have
gone
out
屋里没有灯,他们可能出去了吗
2、There
is
nowhere
to
find
them.
Where
can
they
have
gone
到处找不到他们,他们可能到什么地方去呢
四、
“could+have+done”是虚拟语气,表示对过去事情的假设,意思是本来能够做某事而没有做。

微信扫码关注公众号
获取更多考试热门资料