Intermediate perfective modals. 45 questions on should have, would have, and the needn't have vs didn't need to contrast.
What this test covers
- Should Have for Criticism & Regret
- Would Have in Conditionals & Past Habits
- Needn't Have vs Didn't Need To
Answer the 45 questions below. Each answer is checked straight away, with an explanation. Press Submit at the end to get your score and save it to your dashboard. Answers are not kept if you leave before submitting.
All 45 questions with answers
Pick an answer for each question to see if you are right, with the explanation. Submit when you are done; you can submit before answering them all.
-
Q1I failed the exam because I didn't study. I ___ studied much harder.
Answer: C. should have
The speaker is expressing a past regret. We use should have + past participle to talk about a sensible action that did not happen. The context clue "I failed" confirms this regret. Avoid "should of," which is a common spelling error based on how the contraction "should've" sounds; "of" is never part of a modal verb structure.
-
Q2She is so exhausted today. She ___ stayed up so late watching movies.
Answer: A. shouldn't have
We use shouldn't have + past participle to criticize a past action or say it was a mistake. The context clue "She is so exhausted" indicates that staying up late was an unwise decision. 'Might not have' expresses the opposite — the possibility that she did NOT stay up late — which contradicts the evident cause of her exhaustion.
-
Q3You ___ told me about the meeting; I missed it entirely.
Answer: D. ought to have
The phrase ought to have + past participle is used to express a past obligation that was not fulfilled. It has the same meaning as "should have." The clue "I missed it entirely" shows that the information was necessary but was not provided.
-
Q4He ___ apologized to his friend after the argument, but he was too stubborn.
Answer: A. should have
Should have + past participle describes an action that was the right thing to do in the past, even though it didn't happen. The clue "but he was too stubborn" tells us the apology never took place. "Must have" is incorrect because it implies the speaker is certain the apology did happen.
-
Q5It was a terrible mistake. We ___ signed that contract without reading it.
Answer: A. shouldn't have
Shouldn't have + past participle is used to express regret or criticism about a past action that actually happened. The context clue "It was a terrible mistake" signals that signing the contract was a bad idea.
-
Q6Choose the grammatically correct version:
Answer: A. You should have told the truth, but you lied.
The structure for a perfective modal is modal + have + past participle. 'You should have told the truth, ...' correctly uses 'should have told' in the first clause, while the second clause uses the simple past 'lied' to state what actually happened. The phrase "should of" is a common spelling mistake for the contraction "should've." Modal verbs are always followed by the base form "have" in the perfective aspect, so "should had" and "should to lie" are grammatically impossible.
-
Q7He ___ called me yesterday, but he completely forgot.
Answer: C. should have
Use should have + past participle to talk about a past action that was expected or the right thing to do but did not occur. The clue "but he completely forgot" confirms the call was missed. "Should of" and "ought of" are incorrect spellings of the contractions "should've" and "ought to have" — modal perfectives always use 'have', never 'of'. 'Must have' expresses certainty about a past event, not a missed expectation.
-
Q8Choose the grammatically correct version:
Answer: C. They shouldn't have been so rude to the waiter yesterday.
Perfective modals (should/might/could + have) always require the past participle of the main verb. The past participle of "to be" is "been." The forms "be," "to be," and "being" are incorrect in this perfective structure.
-
Q9Choose the grammatically correct version:
Answer: D. I think you should have gone to the doctor earlier.
The structure for perfective modals is should + have + past participle. "Gone" is the past participle of "to go." Choice "went" is the past simple form, which cannot be used after "have" in this structure.
-
Q10Choose the grammatically correct version:
Answer: A. We ought to have helped him, but we didn't have time.
Ought to have + past participle expresses a past obligation. In the second clause, "didn't have" is the standard past simple negative form for the verb "to have." "Didn't had" is a grammar error because "did" already indicates the past tense, requiring the base form "have" after it.
-
Q11Which sentence is correct?
Answer: B. He should have studied more for the test.
The perfective modal construction follows the pattern: subject + modal + have + past participle. Choice "should studied" is missing the auxiliary "have," and "should have study" incorrectly uses the base form instead of the participle "studied."
-
Q12Which sentence is correct?
Answer: D. They might have invited him to the party.
To express a past possibility, we use might + have + past participle. Choice "might had" is incorrect because modals must be followed by the base form "have." Choice "might invited" is missing the auxiliary verb entirely.
-
Q13Which sentence is correct?
Answer: C. She ought to have called the police.
The modal "ought" is unique because it requires "to" before the auxiliary verb. The full perfective structure is ought + to + have + past participle. Options like "ought to called" (missing "have") and "ought to have call" (using the base form) are incorrect.
-
Q14Which sentence is correct?
Answer: D. I should have told you earlier.
The correct pattern is should + have + past participle. "Told" is the past participle of "tell." The word "earlierly" is not a valid English adverb; "earlier" is the correct comparative form. "Should had" is incorrect because modals always take the base form "have."
-
Q15Which sentence is correct?
Answer: C. You shouldn't have said that.
The negative perfective form is shouldn't + have + past participle. The past participle of "say" is "said." Options using "say" (the base form) are incorrect because the perfective aspect always requires the participle form after the auxiliary "have."
-
Q16If I had known you were coming, I ___ prepared dinner for you.
Answer: C. would have
This is a third conditional sentence, used to describe a hypothetical situation in the past. When the "if-clause" uses the past perfect ("had known"), the result clause uses would have + past participle. "Could of" is a common spelling error for "could've."
-
Q17I ___ finished the project on time if I had started earlier.
Answer: B. would have
This sentence uses the third conditional to describe an imaginary past result. Since the condition "if I had started earlier" did not happen, we use would have + past participle to show the hypothetical outcome. "Must have" is used for logical deductions, not conditional results.
-
Q18She ___ helped us, but she was busy with her own project.
Answer: D. would have
We use would have + past participle to express willingness to do something in the past that didn't happen because of a specific circumstance. The clue "but she was busy" explains why the help remained hypothetical. "Must have helped" would mean she actually helped, which contradicts the second part of the sentence.
-
Q19If they had arrived on time, they ___ missed the opening ceremony.
Answer: D. wouldn't have
This is a third conditional sentence about a past regret. The context implies they arrived late and missed the ceremony. To describe the hypothetical opposite result, we use wouldn't have + past participle. "Must have" and "should have" do not fit the logic of a conditional outcome here.
-
Q20She ___ seen the movie if she had known it was playing.
Answer: B. would have
In a third conditional structure (If + past perfect), the result clause uses would have + past participle. This expresses a past possibility that was not realized because a condition was not met. "Could of" is a spelling error for the contraction "could've."
-
Q21Choose the grammatically correct version:
Answer: D. If I had known, I would have told you the truth.
This third conditional sentence requires would have + past participle in the main clause. Additionally, the idiom "tell the truth" requires the definite article "the" because "truth" is a specific abstract noun in this context.
-
Q22Choose the grammatically correct version:
Answer: A. He would have gone if he had had time.
The third conditional (past hypotheticals) follows the pattern: would have + past participle in the main clause, and if + past perfect in the if-clause. "Had had" is the past perfect of "have." We never use "would have" or the present tense "has" inside the if-clause of a third conditional.
-
Q23Choose the grammatically correct version:
Answer: B. Whenever we visited, Grandma would bake fresh bread.
When describing a past habit or repeated action, we use would + base verb (e.g., "would bake"). This is different from the perfective "would have," which is for hypotheticals. The clue "whenever we visited" signals a routine that actually happened.
-
Q24Choose the grammatically correct version:
Answer: D. If they had saved money, they would have bought a new car.
The third conditional result clause requires would have + past participle. The past participle of "buy" is "bought." "Buy" is a base form, and "boughten" is not a standard word in modern English.
-
Q25Choose the grammatically correct version:
Answer: C. She said that she would have helped us if she could.
This is a reported hypothetical situation. The structure would have + past participle ("helped") is needed to describe a past intention that did not happen. Choice "help" (base form) and "helping" (present participle) do not fit the perfective modal structure.
-
Q26Which sentence is correct?
Answer: C. If she had studied, she would have passed.
This follows the third conditional formula: If + past perfect (had studied), would have + past participle (passed). "Would has" is impossible because modals must be followed by the base form "have."
-
Q27Which sentence is correct?
Answer: A. He would always walk to work.
To describe a past habit, we use would + base verb. "He would always walk" means he used to do it regularly in the past. "Would have walked" is used for hypothetical past situations, which does not fit the habitual context created by the word "always."
-
Q28Which sentence is correct?
Answer: B. They would have traveled if they had had money.
This is a third conditional sentence about a past hypothetical. The if-clause requires the past perfect (had + past participle). Since the main verb is "have," the past perfect form is "had had."
-
Q29Which sentence is correct?
Answer: D. I would have finished earlier, but I was tired.
The perfective modal would have + past participle is used here to show intention. The second clause uses the past simple ("I was tired") to explain the real-world situation that occurred in the past. Using "I am tired" (present tense) creates a tense mismatch.
-
Q30Which sentence is correct?
Answer: B. She would have come if she had known.
In the third conditional, the if-clause uses the past perfect ("had known"). The main clause uses would have + past participle. "Come" is the past participle of the verb (come-came-come); "came" is the past simple and cannot follow "have."
-
Q31I bought extra food, but it turned out we didn't need any. I ___ bought so much.
Answer: D. needn't have
We use needn't have + past participle when someone performed an action that turned out to be unnecessary. The clue "I bought extra food" shows the action happened, while "it turned out we didn't need any" shows it was a waste of effort.
-
Q32The store was closed, so I ___ go there after all.
Answer: D. didn't need to
Didn't need to + base verb is used when an action was not necessary and therefore was not performed. Since the store was closed, the speaker did not go. "Needn't have" would require a past participle ("gone") and would imply the speaker actually went there unnecessarily.
-
Q33He ___ been exhausted; he slept for twelve hours.
Answer: D. must have
This is a logical deduction about the past. Based on the evidence ("he slept for twelve hours"), the speaker is almost certain he was tired. We use must have + past participle for strong conclusions about past states.
-
Q34I ___ hurry, so I took my time walking to the station.
Answer: C. didn't need to
Didn't need to + base verb means there was no necessity, so the action (hurrying) was not performed. The clue "I took my time" confirms the speaker did not hurry. "Needn't have" would mean they did hurry unnecessarily.
-
Q35We ___ reserved a table; the restaurant was completely empty.
Answer: A. needn't have
We use needn't have + past participle when an action was completed but turned out to be unnecessary. The clue that the restaurant was empty shows the reservation (which was already made) wasn't needed.
-
Q36Choose the grammatically correct version:
Answer: B. I didn't need to water the plants because it rained.
If an action was not necessary and therefore not performed, use didn't need to + base verb. "Needn't to" is grammatically incorrect, and "needn't have" is used for actions that were actually performed.
-
Q37Choose the grammatically correct version:
Answer: D. You needn't have bought flowers, but thanks anyway!
The phrase "thanks anyway" implies the speaker received the flowers. When an action was performed but was unnecessary, we use needn't have + past participle ("bought"). "Didn't need to buyed" is incorrect because "buyed" is not a standard English word.
-
Q38Choose the grammatically correct version:
Answer: A. She needn't have gone to the shop yesterday.
The perfective modal 'needn't have' requires the past participle. 'Gone' is the correct past participle of 'go'; 'went' is the past simple form. 'Hasn't needed to go' is incorrect because the present perfect cannot be combined with the specific past time expression 'yesterday'. 'Needn't have to go' is not a standard grammatical construction.
-
Q39Choose the grammatically correct version:
Answer: A. We needn't have worried; everything was fine.
The structure 'needn't have' + past participle is used for unnecessary past actions. 'Worried' is the correct past participle. 'Worry' (base form) and 'worried' (past simple) cannot directly follow 'have' or 'needn't' without the auxiliary 'have'. 'Needn't have to worry' is not a standard grammatical construction.
-
Q40Choose the grammatically correct version:
Answer: D. I didn't need to work on Sunday.
To express that an action was not required in the past, we use didn't need to + base verb. "Needn't have to" is not a valid structure in English. "Needn't have work" is missing the required past participle ("worked").
-
Q41Which sentence is correct?
Answer: A. I needn't have cooked; we ate out.
Needn't have + past participle ("cooked") indicates the speaker cooked dinner, but it was unnecessary because they went out. Choice "needn't have been cooked" is passive, which implies the speaker was being cooked! Choice "have ate" is also incorrect because "have" requires the participle "eaten."
-
Q42Which sentence is correct?
Answer: A. You needn't have worried; it was easy.
Use needn't have + past participle ("worried") to express that someone's past anxiety was unnecessary. Choice "needn't have worry" is incorrect because it uses the base form instead of the participle. "Didn't need worry" is missing the particle "to."
-
Q43Which sentence is correct?
Answer: A. I didn't need to go, so I stayed home.
The clue "so I stayed home" shows the action (going) was not performed. We use didn't need to + base verb for past situations where there was no necessity and the action did not happen. "Needn't have" would imply the speaker did go.
-
Q44Which sentence is correct?
Answer: A. He didn't need to finish the report.
Didn't need to + base verb ("finish") is the correct way to express that an action was not required. Choice "needn't finished" is missing the auxiliary "have," and "needn't have finish" uses the base verb instead of the past participle "finished."
-
Q45Which sentence is correct?
Answer: C. They needn't have waited for us.
Needn't have + past participle ("waited") correctly describes an unnecessary action that was performed. "Didn't need to waited" is incorrect because "did" must be followed by a base verb ("wait").
Done? Submit to get your score.
Answer at least one question to submit. Questions you leave out count as skipped.