英语语法:I could have fooled you.情态动词+完成时形成虚拟语气用法,本来可以作但没做,但今天人说

I might have killed a man last night.是表猜测,奇怪了,情态动词换了个就不是虚拟了?而且last night是过去,这里该用完成时?情态动词+动词的句子有过去时和进行时吗?

情态动词 have done.既可以表示对过去进行猜测又可以表示虚拟语气。
表虚拟语气时,should have done=ought to have done本应该做而没做;would have done本来就会去做而没做;could have done本可以做而没做;might have done本可能/可以做而没做。表对过去猜测时,must have done一定做过某事,否定形式:cannot have done.例:she must have come here last night.她一定是昨晚来的;she cannot have gone there.她不可能到那里去。may have done可能做过某事,否定形式:may not have done。might have done或许做过某事,否定形式might not have done,语气较不肯定。should have done估计已经做了某事,否定形式:should not have done。should have done与may have done在表示对过去进行猜测都差不多,但其中一个是依靠一定的事实依据进行猜测,具体是哪一个我觉得可能是should have done,但没有在网上找到答案,估计要问下老师。

因为是用手机回答,可能排版有点乱-_-
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-15
你好。
1 I might have killed a man last night.是表猜测== It is possible that I killed a man last night.

2 I could have fooled you (if I had wanted to). -------这是虚拟语气,假设过去的事情。一般来说,情态动词 + 完成式 -------指代已经过去的事情。
it was possible that she was writing at that time == She might be writing at that time 情态动词+进行式。
it was possible that she was a nurse at that time == she might be a nurse at that time 情态动词+过去式------这个“过去式”体现在“情态动词”上面:may --- might追问

你好 谢谢解答
一般来说,情态动词 + 完成式 -------指代已经过去的事情。

但是I might have killed a man last night.也是这个情况 就不是虚拟了?

追答

nihao.一般来说,在没有 “if -- - - -”结构伴随的情况下,may / might不属於“虚拟”的范畴。would和could是“虚拟”的首选。

本回答被网友采纳
第2个回答  2020-05-07
could have 是表示 过去可能 talk about possibility 就是might have 的意思 could have 肯定程度更高而已 另外 一个意思是表示 过去可以,talk about capability 那什么做了又没做的说法 不是要你看到底做了没再去推测 而是你肯定没做 你才会推测有可能 你只要想是推测过去 就直接用 would have could have 就是让你想象和推测过去用的 你管他到底做了没做 只要你不知道做了没,是在想象 就用
第3个回答  2013-01-15
'情态动词+完成时'表对过去的'评价或猜测",具体译法要根据所用的情态动词的意思,should"应该'might'可能'could'能,会(表能力)must '一定,一准'(猜测),学习语言尽量不要机械性的照搬应该对照语境以理解为主.你说的第一个句子是指当时'本来能够做到";第二句是说可能性
情态动词后接过去式的肯定没有,至于,Hurry,he must be waiting for us. (他现在一定在等我们)
第4个回答  2013-03-19
i could have fooled you。可以忽悠你,但没有。fool是个unreal action,so 虚拟。
i might have killed。他可能死也可能没有。kill action may be true,so非虚拟。
相似回答