一道英文题

Nice to see you back home,how long ____ you ____ in England.
A. did, stay B. have, stayed C. had, stayed
D. will, stay
1.请写出此题正确答案及选择原因及排除其他答案的原因。
2.请准确描述延续性动词什么情况下用于一般现在,时什么情况下用于现在完成时
第二个要求写错了,应该是
2.请准确描述延续性动词什么情况下用于一般过去时,时什么情况下用于现在完成时

第1个回答  2008-08-20
Nice to see you back home,how long ____ you ____ in England.
A. did, stay B. have, stayed C. had, stayed
D. will, stay
这个题选B.
How long .....后面应因定使用完成时,所以排除A和D,而这句话所陈述的内容补全以后应该是“很高兴你能回家!你在英格兰呆了多久?”那么整个句子用的是现在时态,所以后面的问句用现在完成时。
第2个回答  2008-08-30
1. A (stay 是一个瞬间动词,不能与时间段连用也就是说不能用how long来提问,如果B项改为 have,been 就正确了,改成BEEN 就是延续的了,不难判断C项和D项错误而且时态也错.

2.这个很简单,如果动作发生在过去,表动作已结束就用过去时;表动作已结束对此时产生影响 就用完成时

选A对,他们选的B项是错误的,你可以根据我给你分析的来看.如果A不对,我可以追200分给你,我是真心帮住你的 ^^
第3个回答  2008-08-20
B D 均可

D,也不见得不对啊,万一他家就在英格兰,常年在外打工,过年回家,朋友问他在家呆多久......
看得出来是才回家,所以A.C排除了B好象还是可以的

语法上的问题:
可以想象场景,如果延续动词用过去时,那肯定是过去做的,强调的只是"做了"
可以是过去的任何时候;而现在完成时强调你才完成且对现在的影响,在此题中,人物可能刚刚回家,如果强调才回家,就是B啦!!

我是英语王说的很有道理,但是如果设一个这样的场景

(reality:Tom stayed in England for 3 months)

Jane:Nice to see you back home,how long did you stay in England?
她这么说Tom一定是才回来,你说他是应该回答I`ve stayed there for 3 months,还是按着问题答I stayed there for 3 months,比较符合实际呢
第4个回答  2008-08-22
B,根据第一句的意思:看到你回来我很高兴。可以排除C,D两个选项。因为后一句是问过去的情况。而我看到你回来,说明对现在造成了影响或结果,应用现在完成时。所以选B。
延续性动词不用于一般现在时,当现在完成时的句子与表示从过去延续到现在的时间状语连用时,谓语用延续性动词。
第5个回答  2008-08-25
我晕,这么简单的问题尽然有这么多千奇百怪的答案,而且还解释的头头是道!!!!!!

当然是b。how long 持续性时间状语。你说用什么时?是过去还是现在呢?看2.

还有第二个要求写错了,应该是

2.请准确描述延续性动词什么情况下用于过去完成时,时什么情况下用于现在完成时

很简单,以现在为参照就是现在完成时,以过去为参照就是过去完成时。

Nice to see you back home,how long _have_ you _stayed_ in England.

Oh,you came back yesterday,how long _had_ you _stayed_ in England.
相似回答