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因為現在過去完成進行時表示持續的動作