shouldhavedone「shouldhavedone反义疑问句」
should have done用法
1.should/ought to have done的含义.“should/ought to have+过去分词”表示“过去应该做谋事却没有做”; “should not/ought not to have+过去分词”表示“作了不应该做的事”.含有责备或遗憾的意思.例如:
You shouldn’t /oughtn’t to have come here alone at such a late hour.你这么晚的时候本不一该一个人来这里的.(实际是一个人来的)
She should/ought to have gone there alone.她本该一个人去那里的.(实际上不是)

2.would have done的含义.would have done“本愿意做某事”,非虚拟语气时,就是would 情态动词加动词原形,
have done 就是现在完成时,所以和起来 就是将来完成时的用法
过去将来完成时表示在过去看来将来某时会已经完成的动作.例如:
She said she’d have finished her exams by then.她说那时她会已经考完试了.
He knew he arrived she would have gone home.他知道他到时她会已经回家了
3.must have done的含义.“must have+过去分词”表示对过去的推测,意思是“一定已经,想必已经,准是已经….”,只用于肯定句中.例如:
He must have been drinking beer.他肯定一直喝啤酒来着.
若要表示否定,要用“can’t/couldn’t+ have+过去分词”,意思是“不可能”:
The money can’t have been lost there.钱不可能是在那儿丢的.
should have done“本应该做某事”
might have done“可能做过某事”
could have done“本可以做到某事”
would have done“本愿意做某事”
都是表示与过去事实相反.if条件句中的虚拟基本含义相同,只是要注意主从句时态一致
should have done 和should not have done的区别
should have done 和should not have done的区别为:
一、指代不同
1、should have done:本该做某事。
2、should not have done:不该这么做的。
二、侧重点不同
1、should have done:是一种肯定模式。
2、should not have done:是一种否定模式。
三、引证用法不同
1、should have done:have的基本意思是“有”,指物质上的所有、身心上的具有或构成上的含有。引申可作“享有”“容许”“招致”等解。
2、should not have done:have可用作静态动词,也可用作动态动词。作静态动词时表示一般意义上的所有关系,不能用于被动结构; 作动态动词时表示经历、完成等行为,可以但少用于被动结构。
should have done必定是虚拟语气吗?为什么
Should have done的推测用法
我们可以用should来谈论预期的、意料的事情。此时,should do是对现在或将来的预期,而should have done是对过去事情的推测。请把上面的a句与下面的b句进行比较。
1. b. It was an easy test and he should have passed, but I don’t know for sure.
那个测试很容易,他应该通过了,但我也不确切知道结果。
这里是should have done的推测用法。它与虚拟用法的一个根本不同在于,推测是不知道确切的结果,而虚拟是已经知道结果或事实与预期不符。
再请看其他例句。
2. It should be a nice day tomorrow.
明天应该是个好天气。
3. Try phoning John; he should be home by now.
试着给约翰打个**,他现在应该在家里。
这里例句2、3中的should be分别表示对将来和现在的推测。下面我们来看should have done对过去事情进行推测的例句。
4. He should have arrived at his office by now. Let’s try ringing him.
他现在应该已经到办公室了,咱们试着给他打个**。
5. The meeting should have finished by now.
会议现在应该已经结束了。
我们也可以用should not have done来推测过去某事未发生,请看下面两个例句。
6. John shouldn’t have left work yet. I’ll call his office.
约翰现在应该还没有下班,我这就给他办公室打**。
7. They shouldn’t have sent the report off for printing yet. There is still time to make changes.
他们应该还没有把报告拿去打印,还有时间修改。
从以上例句我们看到,推测用法的should have done不同于虚拟用法,不能译成“本来应该做但实际没有做”;同样,推测用法的shouldn’t have done不能译成“本来不应该做但实际做了”。
should have done的惊讶用法
请把上文例1的a、b两句与下面c句进行比较。
1. c. It was an easy test. I’m surprised that he shouldn’t have passed it.
那个测试很容易,我很惊讶他竟然没有通过。
由此可见,这个句子中的should have done既不是虚拟,也不是推测,而是谈论过去事实,并且表达了“惊讶”的情绪。这是在谈论与预期不符的事实。
should have done和could have done的区别?
二者都是虚拟语气,区别在于含义的不同。
1、should have done意为“过去本应该做某事却未做。”,表达一种责备或内疚的语气。
2、could have done意为“过去本能够做某事却未做。”,表示对过去事情的假设。
3、could have done还可以表推测一般用在否定句和疑问句中,表示不相信或怀疑的态度。
4、表示推测过去某动作发生的可能性时,就表示的可能性程度而言,should 比 could可能性要大。
例句:
①He could have looked over the papers in less than ten minutes.
他本可在10分钟内把文件翻看一遍的。
②If I'd waited in for you I could have waited all day.
要是我真留在家等你,那早都等上一整天了。
③He should have stuck to his guns and refused to meet her.
他本应坚持己见,拒绝与她会面。
④The night shift should have been safely down the mine long ago.
上夜班的矿工应该早就安全地到达井下了。
⑤I don't think we should have been there in the first place.
我认为我们从一开始就不该在那儿。
扩展资料
相关句子:
①I don't think we should have been there in the first place.
我认为我们从一开始就不该在那儿。
②The competition should have been rescheduled for a later date.
比赛本应另择日期。
should have done 和 ought to have done 有什么区别呢?
should have done 和 ought to have done的区别为:
一、指代不同
1、should have done:本应该。
2、ought to have done:应该做的。
二、侧重点不同
1、should have done:should作情态动词,三种人称,单、复数通用。
2、ought to have done:ought to无时态和人称变化,只有ought to一种形式,后面须跟动词不定式,表示“有义务或责任”做某事,语气比should强,也可表示“劝告”。
三、引证用法不同
1、should have done:should侧重自己的主观看法,语气比ought to稍弱一些。
2、ought to have done:ought to侧重反映客观情况,多在涉及法律、道义、责任、义务或原则时使用。
should have done 表示应该做某事,而实际未做。
是would have done
should have done:表示对过去事情的假设,意思是本来能够做某事而没有做.含有指责对方或自责的含意.
比如:
Tom,you are too lazy.The work should have been finished yesterday.汤姆,你太懒惰了,这项工作本来应该昨天就做完的.
