内容正文:
现在完成时专项练习
一、 单项选择题(共30题)
1. I ____ already ____ my homework.
A. have; finished B. has; finished C. have; finish D. has; finish
2. She ____ to Beijing many times.
A. have been B. has been C. have gone D. has go
3. — Have you ever ____ a horse?
— No, never.
A. ride B. rode C. ridden D. riding
4. They ____ in this city since 2020.
A. lived B. have lived C. live D. are living
5. Tom isn’t here. He ____ to the library.
A. went B. has been C. has gone D. goes
6. We ____ each other for five years.
A. know B. knew C. have known D. are knowing
7. — How long ____ you ____ English?
— For about six years.
A. have; learned B. did; learn C. do; learn D. are; learning
8. My father ____ just ____ the car. It looks clean now.
A. have; washed B. has; washed C. did; wash D. is; washing
9. I ____ this movie before. It’s very interesting.
A. see B. saw C. have seen D. seeing
10. — Is Mr. Wang in the office?
— No, he isn’t. He ____ home.
A. has been B. went C. has gone D. goes
11. The train ____. We have to wait for the next one.
A. left B. has left C. leaves D. leave
12. I can’t find my keys. I think I ____ them.
A. lose B. lost C. have lost D. am losing
13. This is the best book I ____.
A. ever read B. have ever read C. never read D. read
14. Great changes ____ in my hometown in the last ten years.
A. take place B. took place C. have taken place D. are taking place
15. — Have you had lunch ____?
— Yes, I have ____ had it.
A. yet; just B. just; yet C. already; yet D. yet; already
16. He ____ in bed for two hours because he is sick.
A. was B. is C. has been D. will be
17. — ____ you ever ____ to Shanghai?
— Yes, I went there last summer.
A. Have; been B. Have; gone C. Did; go D. Do; go
18. I’m hungry. I ____ nothing since breakfast.
A. ate B. have eaten C. eat D. haven’t eaten
19. My sister ____ her homework. She is watching TV now.
A. finished B. has finished C. finishes D. is finishing
20. It’s the first time I ____ such a delicious cake.
A. eat B. ate C. have eaten D. am eating
21. They ____ each other since they were children.
A. know B. knew C. have known D. had known
22. — Where is your brother?
— He ____ to the supermarket. He will be back soon.
A. has been B. has gone C. went D. goes
23. I ____ this book for three weeks. I need to return it to the library.
A. have borrowed B. borrowed C. have kept D. kept
24. She ____ never ____ a plane before. She is a little nervous.
A. has; fly B. has; flown C. have; flown D. did; fly
25. — Can I play computer games, mom?
— No, you must finish your work ____.
A. first B. just C. yet D. already
26. The movie ____. You missed a great part.
A. began B. has begun C. begins D. will begin
27. He ____ a teacher for over twenty years. He loves his job.
A. is B. was C. has been D. will be
28. — Have you found your lost pen ____?
— Not ____.
A. already; already B. yet; yet C. yet; already D. already; yet
29. How many English words ____ you ____ so far?
A. do; learn B. did; learn C. have; learned D. are; learning
30. My grandparents ____ in the countryside all their lives.
A. live B. lived C. have lived D. will live
二、 语法填空(共10题)用所给动词的现在完成时形式填空。
1. I _______________ (not see) my cousin for a long time.
2. _______________ you ever _______________ (try) Japanese food?
3. He _______________ (be) to the new park twice.
4. The students _______________ just _______________ (clean) their classroom.
5. How long _______________ she _______________ (work) in this company?
6. We _______________ (not finish) the project yet.
7. The film _______________ already _______________ (begin). Hurry up!
8. I _______________ (have) this bike since my twelfth birthday.
9. They _______________ (know) the good news for two days.
10. It is the most beautiful place I _______________ ever _______________ (visit).
三、 句子改错(共5题)每句中有一处与现在完成时相关的错误,请找出并改正。
1. She has gone to Japan last year.
2. They have lived here since ten years.
3. Have you finished your homework already? No, I haven’t finished it just.
4. I have borrowed this book from the library for two weeks.
5. He has just came back from school.
答案解析
一、 单选题
1. A 主语是I,用have;already常用于现在完成时,结构为have/has + 过去分词。
2. B 主语是She,用has;表示“去过(已回来)”用has been to。
3. C Have you ever后面接过去分词,ride的过去分词是ridden。
4. B since 2020表示“自202年以来”,是现在完成时的典型时间状语。
5. C “他不在这里”,说明他去了图书馆还没回来,用has gone to。
6. C for five years表示一段时间,强调从过去持续到现在的状态,用现在完成时。
7. A How long引导的疑问句询问持续一段时间,用现在完成时。
8. B 主语是My father,用has;just“刚刚”用于现在完成时。
9. C “before(以前)”表示过去不确定的时间,强调对现在的影响(我知道电影内容),用现在完成时。
10. C “他不在办公室”,说明他去家了且可能还在路上或刚到家,用has gone。
11. B 火车“已经离开了”,导致我们现在要等下一趟,强调对现在的影响。
12. C “找不到钥匙”是现在的结果,原因是“丢了这个动作发生在过去不确定时间”,用现在完成时。
13. B 在最高级句型“This is the best... + 从句”中,从句常用现在完成时。ever“曾经”与其连用。
14. C in the last ten years“在过去的十年里”是现在完成时的标志。change发生且持续影响到现在。
15. A 疑问句中常用yet;肯定句中表示“刚刚”用just。
16. C for two hours是一段时间,且他生病卧床的状态从两小时前持续到现在,用has been。
17. A 问“曾经去过吗”,用Have been to。回答具体过去时间“last summer”是用一般过去时,不影响问句时态。
18. D since breakfast“自早餐以来”,用现在完成时。根据句意“我饿了”,应选择否定形式。
19. B “她现在在看电视”是现在的情况,原因是“她已经完成了作业”,用现在完成时。
20. C “It’s the first time (that)...”句型中,从句常用现在完成时。
21. C since they were children“自从他们是孩子起”,表示从过去持续到现在的状态。
22. B “他不在说话现场”且“会很快回来”,说明他去了超市但还没回,用has gone to。
23. C for three weeks是一段时间,但borrow(借)是短暂性动词,不能与时间段连用,需换成可延续的keep。
24. B 主语是She,用has;never常与现在完成时连用,fly的过去分词是flown。
25. A 语境是“必须先完成工作”,用first。just/already/yet都与现在完成时相关,但此处是动作顺序。
26. B 电影“已经开始了”,导致“你错过了精彩部分”,强调对现在的影响。
27. C for over twenty years是时间段,强调他作为教师的职业状态持续了二十多年至今。
28. B 疑问句和否定句中,表示“还”用yet。
29. C so far“到目前为止”,是现在完成时的标志。
30. C all their lives“他们的一生”,指从过去出生持续到现在的时间段,用现在完成时。
二、 语法填空
1. haven‘t seen (主语I,否定形式)
2. Have; tried (疑问句结构)
3. has been (主语He,表示“去过”)
4. have; cleaned (主语students,just用于句中)
5. has; worked (主语she,How long询问持续时间)
6. haven’t finished (主语We,yet常用于否定句)
7. has; begun (主语film,already用于句中)
8. have had (主语I,since引导时间点)
9. have known (主语They,for two days是时间段)
10. have; visited (最高级句型中的从句常用现在完成时)
三、 句子改错
1. has gone → went 句中有明确过去时间状语last year,必须用一般过去时。
2. since → for since后接“时间点”,for后接“时间段”。ten years是时间段。
3. just → yet 否定句中表示“还(没)”应用yet。just常用于肯定句。
4. have borrowed → have kept borrow是短暂性动词,不能与for two weeks这样的时间段连用,应改为可延续的keep。
5. came → come 现在完成时结构为have/has + 过去分词。come的过去分词是come,不是came(过去式)。
学科网(北京)股份有限公司
$