题目
1. (1.0分) Mary ( ) ill for three weeks. She is still in hospital. A. has been B. am C. was D. had been
1. (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
B. am
C. was
D. had been
题目解答
答案
本题考察“for + 时间段”与现在完成时的搭配。根据句意,“Mary已经生病三周”需用“has been ill”表状态持续。选项分析:
- B项“am”不符主语和时态。
- C项“was”无法表持续。
- D项“had been”不符合语境。
A项“has been”可表“生病三周”的持续状态,与“is still in hospital”一致。
答案:A. has been
解析
本题考查现在完成时的用法,核心在于“for + 时间段”与动词时态的搭配。关键点在于理解句子中时间状语“for three weeks”表示动作从过去持续到现在的状态,且后半句“is still in hospital”暗示结果仍在延续。因此需选择能表达动作持续至今的时态。
句意分析
“Mary生病三周了,她还在医院。”
- “for three weeks”表示动作从过去持续到当前,需用现在完成时(have/has + 过去分词)。
- “is still in hospital”说明生病的状态仍在延续,进一步支持现在完成时的选择。
选项分析
A. has been
- 正确。现在完成时“has been”表示“生病”这一状态从三周前开始一直持续到现在,与“is still in hospital”逻辑一致。
B. am
- 错误。主语是单数第三人称Mary,应使用“has been”,而非“am”。
C. was
- 错误。过去式“was”仅表示过去某一时间点的状态,无法体现“持续三周”的动作。
D. had been
- 错误。过去完成时表示“过去的过去”,与句中“is still in hospital”(现在状态)矛盾。