C,鞋子在PETER来之前已经售完。
首先,鞋子与销售是被动关系,是人把鞋子卖掉的,对鞋子来说是被动,排除A,
B和C只是现在完成时和过去完成时的区别。句子意思:鞋子被卖完这个动作在PETER来之前已经完成,PETER来已经是过去时,所以卖鞋一定是过去的过去,所以不能用现在完成时,只能选C
HAVE BEEN DOING持续正在做某事,这个状态已经持续叻一段时间
HAVE DONE已经完成,只是表示动作完成的一个状态,并没有持续
I HAVE BOUGHT THE BOOK FOR FIVE YEARS。 这本书我已经买叻5年叻。 I BUY THE BOOK, 我和买是主动关系,不用被动语态,书和买才是被动关系,而且买只是短暂动词,不能作为表示状态,所以买这个动作不能持续,不能与具体的一段时间连用。 本句也可以这样表达 THE BOOK WAS BOUGHT (BY ME) FOR FIVE YEARS AGO.
1.选C.因为鞋是在peter到之前就售出了,而peter到用的是came一般过去时,过去的过去则是过去完成时,而鞋是被人售出,所以用被动语态had been。
2.have been doing是完成进行时,表示从过去到现在一直持续的动作,而have done 表示过去某个时段完成的动作,或状态。
3.I have been bought the book for five years错误,该句主语是I,是执行买书的主体,应用主动形态。正确的应为:i have bought the book for five times这本书我已经买了5次.
选C用过去完成时,因为时间状语从句用的是过去时,所以主句应该用过去完成式
have been doing是现在完成进行时态,重点强调do这个动作的持续状态,have done是现在完成时,重点说明do这个动作已经完成.短暂性动词不能用完成进行时态,持续性动词可以
错了,正确的表达是I have bought the book for five years.或The book has been bought by me for five years.
我说一下第二句为什么用形容词好了,感觉第一句没什么好说的
因为for
ten
years可以看出需要的是一个表示状态的,而不是动作瞬间的,
die是动作,而be
dead就是它对应的状态
had
done
现在完成进行时:
have
done
过去完成时完成时,不要太纠结语法:
have
being
done
兄弟