What you can find on this page:
- online exercises and grammar rules
- pdf exercises and grammar rules
Present perfect exercises with answers
Present perfect simple
Positive statement: I have cooked, I have written , He has cooked, He has written (I've cooked, He's cooked)
Negative statement: I have not played (I haven't played), He has not done (He hasn't done)
Question: Have you worked?
Negative question: Have you not bought? (Haven't you bought?)
This tense is made with the present simple form of the verb to have (have, has) and the past participle (cooked, written). It is similar to other perfect tenses.
See also how to make the present perfect in the passive voice.
1. We use the present perfect simple for activities or states that started in the past and still continue.
We have lived here since 2001.
She has known me for more than two years.
I haven't seen her since Christmas.
How long have they been here?
It is often used with expressions indicating that the activities come up to now, such as: for 10 years, since 1995, all week, all the time, always, lately, recently ...
We have always worked in York. (We still work in York.)
It has been quite cold lately. (It is still cold.)
If the activity started and ended in the past we cannot use the present perfect.
I have smoked for 5 years. (= I still smoke.)
I smoked for 5 years. (= I smoked, for example, from 2000 to 2005, then I stopped.)
2. We use it to describe some experience that happened in the past (the time is not given), but the effects are important now.
She has been to London. (And so she knows London.)
I have already been to Greece. (experience - And I want to go somewhere else now.)
I have been in Greece for two weeks. (state - I am stlill in Greece.)
When we use this tense to express some experience, we can use following adverbs - ever, never, already, often, occassionaly, yet, before ......
Have you ever tried it?
She has never read this book.
We haven't seen it yet.
Have you fallen off a bike yet?
I haven't met her before.
3. It is used for activities that have a present result.
The bus hasn't arrived. (It did not arrived on time and we are still waiting now.)
I have bought a new house. (I did it last month and it means that now I have a new address.)
For such activities we often use these adverbs - yet, already, just.
They haven't finished their homework yet. (They can't go out now.)
Has she signed it yet? (Can I take the document?)
I've already sent the letter. (There is no need to go to the post-office.)
We have just heard the news. (We know about it.)
Compare to other tenses:
1. With the present perfect tense we do not specify when the action happened. We say that something happened and it is important now. The time of the action is not relevant. If we give the time or it is clear from the context, we must use the past simple tense. The time of the action is relevant.
Have you had breakfast? But: Did you have breakfast at the hotel?
I've read your letter. But: I read your letter last night.
They have told me. But: They told me when we met.
Have you had the operation? But: When did you have the operation?
2. The present perfect tense is used for actions that began in the past and continue at present. It expresses how long the action has been.
The present simple is used for actions that are repeated at present. It expresses how often the action happens.
She has worked here for a long time. But: She works here every day.
How long have you worked here? But: How often do you work here?
Present perfect continuous
Positive statement: I have been cooking, He has been cooking
Negative statement: I have not been writing (I haven't been writing), He has not been writing
Question: Have you been playing?
Negative question: Have you not been buying? (Haven't you been buying?)
This tense is made with the present simple form of the verb to have (have, has), the past participle of the verb to be (been) and the present participle (playing, doing). It is similar to the future perfect continuous and past perfect continuous.
1. We use the present perfect continuous for events that began at a point of time, are continuing now and will probably continue in the future.
I have been playing tennis since I was 6 years old.
She has been working here for 15 years.
2. We use it for actions that began in the past and have only just finished.
I've been skiing all day. I'm so tired.
Hello! We've been waiting for you since 5 o'clock.
Differences between the present perfect simple and continuous:
1. In some situations we can use both tenses and there is practically no difference in meaning. The continuous tense is more usual in English than the simple tense.
It has rained for a long time.
It has been raining for a long time.
Verbs which can be used in this way include - learn, live, sleep, rain, sit, work, wait , stay ...
2. Sometimes the simple tense can describe a permanent state, while the continuous tense a temporary activity.
I have lived here for ten years. It is my permanent address.
I have been living here for ten years. And now I am going to move.
Some verbs cannot express this difference, because they are not normally used in the continuous tenses
(verbs of senses - feel, hear, see; verbs expressing emotions - like, love, admire, wish; verbs of mental state - know, remember, mean, recognize; verbs of possession - belong, own, owe; auxiliaries - can, must and be, have in some cases; others - appear, concern, seem, sound ...). They must be used in the simple form.
We have always had a dog.
I've known him since 1997.
3. Verbs that express a single action (find, start, stop, lose, break ...) are not used in the continuous form.
They've started the fight.
I've lost my purse.
4. There is a difference between a single action in the simple and continuous.
I have painted the hall. (I have completed my work.)
I have been painting the hall. (That is how I have spent the day, but it does not mean that I have finished my job.)
5. A single action in the present perfect continuous comes up to the time of speaking. But it is different with the simple tense.
She's been cooking dinner. (She is still in the kitchen. She has just finished or she will continue cooking.)
She has cooked dinner. (We do not know when. Yesterday or very recently? The result is important.)
6. We can only use the present perfect continuous for uninterrupted actions.
I've been visiting New York for a couple of years.
She has been writing letters since she got up.
In these sentences we describe one uninterrupted incomplete activity.
If the action is repeated or interrupted (we describe a number of completed individual actions), we must use the simple form. (see also the past tense rules).
I have visited New York three times.
She has written four letters since she got up.