一道完成时与一般过去时的试题

    -- Haven't seen you for years! Where have you been?

    -- I went to Xinjiang and ____ there for one year, teaching as a volunteer.

A stayed  B stay  C has stayed  D was staying

参考答案是A。但是觉得该题设置有些不妥,我认为问话人关注的是近些年(现在)的事态,答语是否应该是I have been to Xinjiang and has stayed there for one year...呢?这只是我个人的猜想,不知是否正确,请专家老师解惑。

请先 登录 后评论

最佳答案 2020-01-19 14:49

你理解错误。

答话人讲述的是自己过去几年的经历:去新疆和在那里呆了一年的具体时间已经由语境明确表示了。现在他已经离开新疆了。所以用一般过去时完全正确。

请先 登录 后评论

其它 2 个回答

凡哥英语   - 海归英语教师
擅长:英语

1. 问话人不是关注对方现在的状态,而是关注对方过去(不见了的那段时间)的状态——不见的那段时间(时间段,不是时间点)对方在哪里(where have you been)?所以用一般过去时回答没毛病;


2. 如果是问对方有没有去过某个地方,比如新疆,那就是问经历了。回答才会是 have been to some place。


所以要注意语境。Haven't seen you for years! 出现在句首,不是可有可无的。如果单纯只是一句where have you been?十有八九要回答I've been to ......


同样的道理,where have you been? 为什么不用 where were you?,也是句首Haven't seen you for years这句话说明提问者强调那个时间(而不是时间)对方在哪里。


希望能够帮到你。

请先 登录 后评论
mengxin Z

这个是个很有意思的问题

A.  Haven't seen you for years! Where have you been?

B.  I went to Xinjiang and stayed there for one year, teaching as a volunteer.


作为A

首先,A换线部分为什么不说Where were you?

这个听起来似乎是问话者好奇心重,纯粹而单纯是在打听人家的事了。

其次,A划线部分为什么用现在完成时?

问话的时候A知道B已回来固然没错,但不知B是什么时候回来的,是昨天还是上个星期等。

对不确定的过去,用完成时很正常,强调了不是打听人家私事,而是把思想停留在对方回来后那“没见着”的影响。(完成时说穿了,就是一个“顾此而言他”的时态,即着重“言外之意”的时态)


作为B

用过去时做作答很正常。因为在B看来,“以前”随着见到A都成“过去”,而不是现在。

### 那么B一定用现在完成时作答是怎么回事?

I have been in Xinjiang and have stayed there for one year, teaching as a volunteer.

因为与上面所讲的一样,用完成时可能会有“言外之意”,比如“问个头,这都不知道?”

但这句话回答完全没有问题。

*** 这部分的 划线的部分,不像是口语,而是在之乎者也。


-------补充--------

问: Hi everyone, If someone asks me "Where have you been?"
Can I reply "I was at home" ,or should I say "I have been to home"? (别管问话者的错误)

一个本族语退休的英文老师答:I have been (at) home is the most natural response in BrE.

连接:https://www.usingenglish.com/forum/threads/252321-Where-Have-you-been



请先 登录 后评论
  • 0 关注
  • 1 收藏,1919 浏览
  • quanfa   提出于 2019-09-15 19:09

相似问题