题目
17. (单选题,1.0分) Mary () ill for three weeks. She is still in hospital.A. has beenB. amC. wasD. had been
17. (单选题,1.0分) Mary () ill for three weeks. She is still in hospital.
A. has been
B. am
C. was
D. had been
题目解答
答案
A. has been
解析
本题考查现在完成时的用法,核心在于“for + 时间段”与动词时态的搭配。
关键点:
- “for three weeks”表示动作或状态从过去持续到现在的时段,需用现在完成时(have/has + 过去分词)。
- “still in hospital”表明生病状态仍在持续,强调动作的延续性。
- 排除干扰项:注意主谓一致(Mary是第三人称单数)和时态逻辑(过去完成时、一般过去时均无法体现“持续到现 在”的语境)。
选项分析
A. has been
- 现在完成时结构正确,“has been ill”表示“生病”这一状态从三周前持续至今,符合“for three weeks”和“still in hospital”的语境。
B. am
- 主谓不一致:主语Mary是第三人称单数,需用has而非am。此外,am是现在进行时,无法表达“持续到现在的状态”。
C. was
- 一般过去时只能表示“过去某个时间点生病”,但无法体现“持续到现在的状态”。
D. had been
- 过去完成时表示“过去的过去”,与“still in hospital”矛盾,不符合语境。