Intermediate grammar exercise: should vs. should have
English grammar practice exercise, intermediate level.
In this exercise you will practise the difference between should and should have.
Instructions: Fill in the gaps in the sentences below using the verb in brackets and the correct form of should (either ‘should’ or ‘should have’). There is a grammar explanation at the bottom of the page.
|Structure: should + infinitive form of a verb
should be, should go, should do, etc.
|We use should for the present and the future.
We use should to give advice to someone and to say that something is a good idea.
Should is weaker than have to and must.
|You should tell them the truth.
You shouldn't smoke; it's bad for you.
I don't think you should do it.
expressing unfulfilled obligation in the past
should + (not) have + past participle of verb
|We use should have to say that someone didn't do something, but it would have been the correct thing to do it.||You should have told them the truth.
You shouldn't have gone there – it was a mistake.
I don't think you should have done it.
|We often use should have to express regret about the past, or to say that we made a mistake.||I’m sorry for shouting at you – I shouldn’t have raised my voice.|