情态动词的时态问题

James _______ get a copy of that book before they closed the shop. 

A.could B.must C.might D.was able to

我感觉ABCD都可以啊,时态和语意都通。

答案是D。能逐个解释一下为什么行或不行么?

请先 登录 后评论

最佳答案 2020-04-11 11:14

这个题不够严谨。A和D都可以,但意义不同。

could表示潜在的可能性。比如,当时离书店下班还有半小时,如果詹姆斯立刻动身去书店,他就有可能在书店关门前买到那本书。但用could的话,是否后来真的买到书,是不得而知的。

was able to do= managed to do=succeeded in doing. 做到了某事。所以如果用D, was able to的意思是,詹姆斯赶在书店下班前,买到了那本书。

所以,A和D都是正确答案。而且没有上下文,看不出哪个答案更正确。

must没有过去形式。通常只能在宾语从句中表示过去的必要性,不能用作主句中。

might可以表示说话人的许可,用在这里不合适。也可以表示推测。如果表示推测詹姆斯买到了书,则应该用might have bought, 而不是might buy.

出题人本意是让考生选择D,但这个句子没有上下文,无法排除A。

我写一个句子,该句就不宜用could,而要用was able to.

The boat overturned and he fell into the river, but he was able to swim to the bank.

请先 登录 后评论

其它 1 个回答

黎反修   - 英语翻译 (已退休)
擅长:数词用法,存在句,英语考试

James _______ get a copy of that book before they closed the shop. 

A.could B.must C.might D.was able to

我感觉ABCD都可以啊,时态和语意都通。

答案是D。能逐个解释一下为什么行或不行么?

    【答】我们用 could 表示“一般的能力” — 例如说只要某人想做,他她在任何时候都能做某事。

    When I was younger,I could run 10km in under 40 minutes.我年轻一点的时候,跑10公里用不了40分钟。

    表示某人在某个场合做了某事通常不用 could,而用别的表达方式。

    I managed to run 10km yesterday in under an hour.我昨天在不到一个小时的时间里跑了10公里。(不能说:I could run 10km yesterday ...) 

    How many eggs were you able to get? 你那回弄到了多少个鸡蛋?(不能说:...could you get?)

   (以上摘自《牛津英语用法指南》第四版)


     B.must C.might 用于此题时语义不合适。答案D是正确的。

请先 登录 后评论
  • 0 关注
  • 1 收藏,1777 浏览
  • kashia 提出于 2020-04-07 10:05

相似问题