B2

Should Have and Shouldn't Have — Exercises

Practice should have, shouldn't have and ought to have for criticism and regret: we should have booked, you shouldn't have shouted.

  1. I failed the exam. I ___ studied harder — but I didn't.

    • should have
    • should
    • must have
    Show answer

    should have

    Criticising a past action that didn't happen → 'should have' + past participle. 'Must have studied' would be a guess that I did study.

  2. You ___ shouted at her like that — she was only trying to help.

    • shouldn't have
    • mustn't have
    • shouldn't
    Show answer

    shouldn't have

    Criticism of something that happened → 'shouldn't have' + past participle: you shouted, and it was wrong. 'Mustn't have' is not used for criticism.

  3. We got completely lost. We ___ to have taken a map.

    • ought
    • should
    • must
    Show answer

    ought

    'Ought to have' + past participle means the same as 'should have' — a criticism of the past. Only 'ought' is followed by 'to'.

  4. It's your own fault you're tired. You ___ stayed up so late.

    • shouldn't have
    • mustn't have
    • can't have
    • shouldn't
    Show answer

    shouldn't have

    Criticising something that happened → 'shouldn't have stayed up'. 'Can't have' would be a guess that you didn't stay up — but we know you did.

  5. The restaurant was full when we got there. We ___ booked a table.

    • should have
    • must have
    • needn't have
    • can't have
    Show answer

    should have

    We didn't book, and that was a mistake → 'should have booked'. 'Must have booked' would be a guess that we did.

  6. Why didn't you tell me you were ill? You ___ called me — I'd have come round.

    • should have
    • must have
    • needn't have
    • can't have
    Show answer

    should have

    You didn't call, and that was the wrong thing → 'should have called'. 'Must have called' would be a guess that you did.

Should Have and Ought to Have: Criticism and Regret

Should have + past participle says that something was the right thing to do but did not happen: The restaurant was full — we should have booked a table. Shouldn't have + past participle says that something happened but was wrong: You shouldn't have shouted at her — she was only trying to help. Used about yourself, the structure expresses regret (I should have studied harder); used about other people, it is criticism (You should have called me). Ought to have has the same meaning and is slightly more formal: We ought to have taken a map. The structure looks exactly like a past deduction, so meaning decides: He must have called means the speaker is sure he did, while He should have called means he didn't, and that was a mistake. A frequent form error is dropping have: You should told me instead of You should have told me.

Last updated: · Satori Editorial

Not sure where to start?

Take the free level test — 25 questions, about 6 minutes, with your score shown immediately. Leave your email to get study tips and updates.

Take the level test