很难!时态和虚拟的几个语法问题 大师专家来帮忙看下 非常感谢!!

1.He left when I got there.和 He left when I had got there这2句话的意思有什么区别?
2.I learned English for 10 years. ,I have learned English for 10 years.和I have been learning English for 10 years.这3句话的意思有什么区别?
3.If only I would have known the facts .与If only I had known the facts这2句话有什么区别?
4.If only he were to explain(或shoud explain) what he means。这句话对不对,为什么?
5.He talks about Rome as if he would have been there。这句话对不对,为什么?

1,前者意思为当我到那时他离开了,我到那和他离开两个动作几乎同时发生;后者可能有误,如果是He had left when I got there就对了,意思为当我到那时他已经离开了,他离开的动作发生在我到那之前,这种句型就是主句用一般过去式,时间状语从句中谓语动词用过去完成时,意为发生在过去的过去所以用过去完成时,时间上有先后。
2,第一句:我学习英语长达十年。不过我还得说一下,这种句型不常见,甚至会理解为病句,因为通常for+时间段谓语动词不能用于一般过去时态,但learn可以是个延续性动词,故可以表示持续的动作。第二句:我已经学习了十年的英语了(有经验,可能学习已完成),第三句:十年来我一直学习英语,可能学完了,也可能还会继续持续学下去。这就是一般过去时态,现在完成时态,现在完成进行时态的相关区别。
3,前者:只要让我知道了事情真相。(为虚拟语气,用would,表示对将来的假设,不一定与现实相符,也就是不一定将会知道事实)后者:,要是当时我知道事实真相。(对过去的假设,而事实上过去并没有知道事实真相)
4,不对,应为meaned或was meaning.意为要是他解释他的用意就好了(或只要他解释他的意思),他可以解释或应该解释而事实上没有解释,这发生在过去,故mean用过去时态,一般过去时或过去完成时皆可。
5,不对,would have 应改为had,意思为他说起罗马来好像他去过似的。说明他对罗马的讲述很像是他去过一样了解。as if后引导的从句的时态应比一般现在时提前,用现在完成时,但语境显然可看出是虚拟语气(因为他没去过,与事实相反,故用虚拟),用虚拟故用had,即have的过去时态。而would have 过去将来完成时,将would还原,就为will have,意思成了他说起罗马来好像他将要(完成)去罗马(这件事)似的(将去罗马则对罗马不会有多么熟悉),显然不符他对罗马讲述得逼真这一语境。
我已非常努力地在解释了,希望你能采纳,欢迎追问。追问

虽然你回答的很认真,但是里面错误太多了,有许多句子是我故意写错的。不过还是非常感谢你

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-28

    He left when I got there.和 He left when I had got there这2句话 都是错句 

    应该是He had left when I got there

    2.I learned English for 10 years. ,I  have learned English for 10 years.和I have been learning English for 10 years.这3句话的意思 1 叙述过去的事情 与现在无关 我学过十年英语2我学英语已经十年了3 十年来我一直在学英语

    3.If only I would have known the facts .与If only I had known the facts这2句话 前者是错句

     要是我当时知道真相就好了。表示与过去情况相反。
    4.If only he were to explain(或should explain) what he means。这句话 缺主句  但也可能是主句省略 了  。所以 语法 并不错 。与将来情况可能相反。
    5.He talks about Rome as if he would have been there。这句话不对,应该是 as if he had  been there 这是虚拟语气 表示与实际情况相反。

追问

3.前者为什么错了呢?与过去相反不是用would have done或had done吗?
4.这句话为什么缺主句呢?这句呢?if only he would explain what he means
5.虚拟与过去相反为什么不可以用as if he would have done,而要用as if he had done呢?

追答

3.与过去相反 主句用would have done 虚拟条件句用had done
If only I had known the facts这是省略主句 的 与过去 相反 的虚拟 条件句 应该用过去完成时 不能用 过去将来完成时
4.if only he would explain what he means这也是 与将来或现在情况相反的 虚拟条件句 省略了主句
意思是 他要是愿意解释 他什么意思 就好了。 也就是 他不愿意解释 他的意思。5.虚拟与过去相反不可以用as if he would have done因为 这是过去将来完成时,有逻辑错误 。只能用as if he had done

追问

1.If only。。。是条件句,那if only he would explain what he means中怎么用了would have done?而as if引导的为什么不可以用呢?
2.我困惑的是,有的虚拟句后面可以主语使用的would+ have done/ do而有的却只能用从句使用的had done或did,要怎么分辨?

追答

if only he would explain what he means中用的是 would do 不是 would have done
这是 表示 与将来 或现在情况相反 的 虚拟语气 如果与现在相反would是情态动词 as if引导的从句 可以 用 would do或did 或had done但不能用 would have done

追问

为什么可以用would do而不可以用would have done?
还有前面2个问题
1.这2句话为什么不对呢?书上有这么一句话when i got home ,the children went to bed。
2.第1句,2句和3句在10年后还学吗?2句学了10年与3句一直学了10年有什么区别?

追答

从句中可以用would do 表示 与将来可能相反 的虚拟语气
而would have done在从句的虚拟语气中 没有 存身的需要 所以 从句中 不能用 would have done表示虚拟语气1.这2句话为什么不对 因为不符合 逻辑
书上这一句话when i got home ,the children went to bed。也是有问题的句子
因为 when i got home是时间点 是时间的刻度 不是时间的长度 主句 应该用 过去进行时 或 过去完成时 或过去将来时 一般不能用 一般过去时态
2.第1句,只是叙述一个事实 过去学过10年 与现在没关系 现在可能不学了 也可能 还学。
2句学了10年 强调的是 从开始学 到现在 已经十年 现在还是学习的状态
3句与2句的区别 在于 强调动作的不间断 一直学了10年 也是 现在 还在学

追问

2句和3句,10年以后还学吗?

追答

2句和3句,不是10年以后还学 而是 已经学十年了 现在还在学

追问

那从现在往后还学吗?

追答

说话时 还是 学 的状态 也可能指的 说话时 的现阶段 还在学
与将来无关

本回答被提问者和网友采纳
相似回答