帮忙解决一道英语选择题

来源:百度知道 编辑:UC知道 时间:2024/09/19 16:52:43
The book ____ on the floor for ten minutes, but no one has picked it up.
A.is lying B.has lain C.has been lying D.lay
答案选C,为什么不选B?

1
区别现在完成时和现在完成进行时

现在完成进行时是一兼有现在完成时和现在进行时二者基本特点的时态。由于它有现在完成时的特点,所以它可以表示某一动作对现在产生的结果或影响。由于它有现在进行时的特点,所以它也可以表示某一动作的延续性、临时性、重复性、生动性乃至感情色彩。

现在就现在完成进行时的这些特点和现在完成时作一简单的比较:
(1)现在完成进行时和现在完成时皆可表示动作对现在产生的结果,但前者所表示的结果是直接的,而后者所表示的则是最后的结果。如:
We have heen cleaning the classroom.(a)
We have cleaned the classroom.(b)
(a)句可译为“我们打扫教室来着。”其直接结果可能是:我们身上都是灰。(b)句可以译为“我们把教室打扫过了。”其结果是:现在教室很清洁,可以用了。又,(a)句表示教室刚刚打扫过,(b)句则可能表示教室是昨天打扫的。
Be careful! John has been painting the door.(a)
John has painted the door.(b)
(a)句表示约翰刚刚把门油漆过,现在油漆还未干,所以你要小心。(b)句则无此含义,油漆可能已干了。
(2)现在完成进行时有时有延续性,现在完成时往往没有

这里是强调了这本书掉在地上已经10分钟了..是刚刚的事情..所以选C更合适..

has been doing sth是现在完成进行时的标志,表示某个动作在过去发生了,一直持续到现在,并且还有可能在未来继续发生。句中的lay过去发生了,也有可能在未来继续lay,不会有人捡起来。
has done是现在完成时的标志,只是单一地指某动作到现在已经结束了。

这道题考查的是英语语法中有关时态的问题,“for ten minutes”是一个时间段,所以首先确定要用现在完成时,然后根据语境,书的状态是正躺在地上,综合起来,要用现在完成进行时,故答案是C.

因为 for ten minutes 是一段时间 C答案才表示过去一直到现在的持续状