He___for three hours yesterday afternoon. A. had been working B.worked C.had worked D. would worked 为什么答案是B而不是A或C?

热心网友

选B. 有具体的过去时间时,要用过去式形式. 而过去完成进行时是指在过去的过去一段时间内持续发生的动作. 下面句子要用过去完成进行时 He had been working for three hours before I went to see him yesterday afternoon. 昨天下午我去看他之前,他已经工作了三个小时了.("我去看他"是过去发生的动作, 而"他工作了三个小时"是在"我去看他"之前发生的, 而且强调动作的持续性,所以用过去完成进行时.) C 项是过去完成时,也表示过去的过去,只是强调动作的结果, 不强调持续性.

热心网友

因为这个动作开始在过去,结束也在过去,只能用一般过去式

热心网友

yesterday afternoon表过去。

热心网友

这里有明显的过去时间状语 yesterday afternoon , 所以要用一般过去时

热心网友

因为主要强调后边的时间yesterday afternoon. 所以用一般过去时态

热心网友

表示过去某一特定时间所发生的、可完成的动作或状态,常与表示确切过去时间的词、短语或从句连用。例如: We went to the pictures last night and saw a very interesting film. 所以选B

热心网友

选择A因为现在过去完成进行时表示持续的动作