2 两个时态单选题的疑问

While this _____, the cavalry had come up.

A.had happened     B.was happening     C.happened     D.had been happening

这一题为什么选B

Joe _____ the piano in a few minutes.

A.shall be played     B.will have been playing     C.will be playing     D.will have played

in a few minutes这一时间状语表示将来,BD为什么是错误的?

请先 登录 后评论

最佳答案 2021-09-13 08:46

While this _____, the cavalry had come up.

A.had happened     B.was happening     C.happened     D.had been happening

这一题为什么选B

——While 引导时间状语从句,其谓语动词必须是延续的。happen 这个动词,一般体为终止性动词,只有进行体才是延续的。显然,本句 happened 表示终止,不可与 while 连用,故选择延续的  was happening 

Joe _____ the piano in a few minutes.

A.shall be played     B.will have been playing     C.will be playing     D.will have played

in a few minutes这一时间状语表示将来,BD为什么是错误的?

——in a few minutes 有两层意思,分解如下:

1. 如果动作尚未发生,那么,是指动作在这个时间段过去之后开始发生,用一般将来时。

He will come in two hours.  他将在两小时后来到。

2.  如果动作已经发生,则表示动作用了这个时间段才完成,用一般过去时。例如:

I did my homework in two hours. 我用了两个小时做完作业。

本句没有过去时,只能使用将来时,说明“演奏钢琴这事,在数分钟之后开始发生”。如果没有一般将来时,也可使用将来进行时。这两个时态没有本质的差别。后者强调将来具体时间、或者按照计划正在做的事情。例如:

He will be visiting his parents this time tomorrow. 明天这个时候他正在看望他的父母。

We will be having a meeting to decide what to do. 我们将开会决定该做什么。

如果使用将来完成时或将来完成时进行时,是指动作已发生、且持续一个时间段、到将来的某个时间点为止。本句根本没有这样的语境。仅仅一个 in a few minutes(在数分钟后),怎么能用将来完成呢?

请先 登录 后评论

其它 2 个回答

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

        While this _____, the cavalry had come up.

A.had happened     B.was happening     C.happened     D.had been happening

这一题为什么选B

【答】was happening  是过去进行时,表示过去某一时刻正在进行的动作。

Joe _____ the piano in a few minutes.

A.shall be played     B.will have been playing     C.will be playing     D.will have played

in a few minutes这一时间状语表示将来,BD为什么是错误的?

【答】B.will have been playing 是将来完成进行时,will have played 是将来完成时。in a few minutes这一时间状语通常与一般将来时连用,而不与将来完成进行时和将来完成时连用。在口语中,除了状态动词外,所有的动词通常都可以用将来进行时代替一般将来时,使语言生动形象,所以答案是 C.will be playing 。(A.shall be played是被动语态一般将来时,所以是错误的。

请先 登录 后评论
王汝涛   - 英语教师
擅长:英语翻译,词法问题,英语考试

①作者要表达的意思是当过去的某事正在发生的同时,主句的come up 动作已经完成。while 有对比的含义,所以选B。如果使用when 代替while, 那么就可以选C了。如果主句是一般过去时,可以选A。

②将来完成时/将来完成进行时表示在将来某个时间点前完成的事,通常和by引导的将来时间状语连用。In a few minutes, 表示将来时间,通常和一般将来时或一般现在/将来进行时连用。但是如果仅从语法角度考虑,不考虑语义等因素,D也可以选用。也就是说表示将来的in a period of time 有时也可以和将来完成时连用。请看英国文化委员会官网的语法学习栏目的例句:

1. In five years' time, I'll have finished studying medicine.

2. On 9 October we'll have been married for 50 years.

https://learnenglish.britishcouncil.org/grammar/intermediate-to-upper-intermediate/future-continuous-and-future-perfect


请先 登录 后评论
  • 3 关注
  • 1 收藏,1741 浏览
  • 少年游 提出于 2021-09-12 22:52