should have done 和 ought to have done 有什么区别呢?

2个回答

  • 1.should

    should作情态动词,三种人称,单、复数通用.主要用法有:

    1)表示“义务;责任”,可译作“应该”.例如:

    This is the lesson we should remember.这是我们应当记住的教训.

    2)表示“可能性;推测或理论”,相当于汉语的“可能;该”.例如:

    They should be there by now,I think.

    3)说话人在提出意见、请求、建议时,可用should表示委婉、谦逊的语气,有时相当于汉语的“可;倒是;想”等.例如:

    I should say it would be better to try it again.

    2.ought to

    ought to无时态和人称变化,只有ought to一种形式,后面须跟动词不定式,表示“有义务或责任”做某事,语气比should强,也可表示“劝告”.例如:

    You ought to obey your parents.

    I knew that I ought not to open the letter,so I didn't.

    ought to比should语气更强烈

    ought to的否定表示做某事一定是错的

    should表示某动作不一定要做

    做肯定用时

    should表示“劝告”、“建议”、“应当”

    ought to应接动词原形表示“有义务”或“必要”做某事

    should指的是主观

    ought to更偏向客观

    一般二者可以互相转换(口语中多用should)