题目
I wonder why Alice ________ to us recently. We should have heard from her by now.A. hasn’t writtenB. hadn’t writtenC. didn’t writeD. doesn’t write
I wonder why Alice ________ to us recently. We should have heard from her by now.
A. hasn’t written
B. hadn’t written
C. didn’t write
D. doesn’t write
题目解答
答案
C. didn’t write
解析
考查要点:本题主要考查虚拟语气和动词时态的用法,特别是对时间关系和语境逻辑的理解。
解题核心思路:
- 后半句中的
should have heard from her by now是虚拟语气,表示对现在情况的预期(到现在为止应该收到信,但实际未收到)。 - 前半句中的
why Alice ________ to us recently需要表达导致这一结果的原因,即Alice过去某个时间点停止了写信,因此需用一般过去时表示动作的完成性。
破题关键点:
- 时间逻辑:后半句的
by now指向现在,但未收到信的结果是由过去的动作(未写信)导致的,因此前半句需用一般过去时(didn't write)而非现在完成时。
选项分析
A. hasn’t written
- 错误原因:现在完成时表示动作从过去持续到现在,但后半句的
should have heard暗示Alice未写信的动作已结束(否则可能仍有收到信的可能),因此不符合语境。
B. hadn’t written
- 错误原因:过去完成时表示更早的过去动作,但前半句的主句是
wonder(一般现在时),无需用过去完成时表达时间递进。
C. didn’t write
- 正确原因:一般过去时表示Alice在过去某个时间点停止了写信,导致现在仍未收到信,与后半句的预期未实现逻辑一致。
D. doesn’t write
- 错误原因:一般现在时表示当前状态,但后半句的
by now强调现在未收到信的结果,需用过去动作解释原因。