内容正文:
Unit 2 Getting along 语法精讲精练(含解析)
现在完成时
(一)要表达某一行为或状态从过去某时间一直持续到现在,我们也可以借助现在完成时。例如:
I have had the dog for three months now.
这条狗我现在已经养了三个月了。
We have played football for a year now.
我们现在已经踢了一年的足球了。
I have been like this since Friday.
从周五开始我就一直这样。
I have not done much exercise since I got my computer last year.
自从去年有了电脑,我就没怎么锻炼了。
从以上例句可以看出,在表示行为或状态从过去一直持续到现在时,通常要与表示一段时间的时间状语连用,这类状语通常由for或since引导。需要注意的是,for后接一段时间,如for a long time, for five years等;而since后多接时间点,如since August 2023, since yesterday, since two o'clock等。
(1)since的用法
since+一个时间点/一段时间+ago/从句
Mr. Smith has worked here since 1984.
1984年以来,史密斯先生一直在这工作。
I have known Daniel since 7 years ago.
自从7年前我就认识丹尼尔。
He's learned about 5000 words since he went to college.
他上大学以来大约学了五千个英语单词。
(2)for的用法
for后面跟一段时间,如two weeks/six months/five days。
for短语表示动作延续多长时间。
例:We have known each other for twenty years.
我们认识有二十年了。
(二)在对现在完成时的时间状语进行提问时,我们常用how long。例如:
How long have you played football? 你踢足球踢了多长时间了?
How long have you been like this? 你这个样子有多久了?
How long have you had the dog? 这条狗你养了多久了?
(三)注意,在表示某一行为或状态持续多长时间时,根据终止时间的不同,需要使用不同的时态。例如:
I stayed in the hotel for a week last summer. 去年夏天我在这家酒店住了一周。
I have stayed in the hotel for a week now. 迄今我已在这家酒店住了一周了。
I will stay in the hotel for a week next month. 下个月我要在这家酒店住一周时间。
同样表示“在某一酒店住一周”的概念,第一句讲述的是去年夏天的事情,故用一般过去时;第二句表示到现在为止已经住了一周,故用现在完成时;第三句讲述的是下个月的事情,故用一般将来时。
(四)注意,在现在完成时的句子中,表示持续的动作或状态时,动词通常与表示时间段的时间状语连用;而表示动作已经完成时,动词不能与表示时间段的时间状语连用。试比较:
Tom has been here for two hours. Tom已经来了两小时了。
Tom has just come. Tom刚到。
除表示经历、持续至今的行为或状态外,现在完成时还表示到目前为止量的累积。例如:
I have learnt 20 English songs. 我已经学会了20首英文歌曲。
I have collected 300 stamps. 我已经收集了300枚邮票。
(五)延续性动词 & 非延续性动词
延续性动词:动作从过去某个时候开始一直持续到现在,与一段时间连用。
非延续性动词:不可和一段时间连用。不过,在否定句中非延续性动词可与一段时间连用。
I've been away from this school for eight years.
我离开这所学校已八年了。
He has kept my dictionary for two days.
他借用我的词典已两天了。
I haven't gone to see him for several months.
我已经好几个月没去看他了。
语法精练
一、单项选择题
1.—______ you ever ______ to Beijing?
—Yes, I ______ there last year.
A. Have; been; have gone B. Have; gone; went
C. Have; been; went D. Did; go; have been
2.She ______ this book for nearly three weeks.
A. has borrowed B. has lent C. has bought D. has kept
3.—Where is Mr. Wang?
—He ______ the library. He wants to borrow some books.
A. has been to B. has gone to C. has been in D. has lived in
4.My father ______ in the factory since he ______ here 20 years ago.
A. worked; came B. has worked; has come
C. worked; has come D. has worked; came
5.—______ you ______ your homework yet?
—Yes, I ______ it ten minutes ago.
A. Did; do; finished B. Have; done; have finished
C. Have; done; finished D. Will; do; finish
6.I ______ the film before, but I want to see it a second time.
A. saw B. have seen C. had seen D. will see
7.His grandfather ______ for ten years.
A. died B. has died C. has been dead D. has been died
8.—How long ______ you ______ here?
—For about two years so far.
A. have; studied B. did; study C. do; study D. will; study
9.I ______ my keys. I can't find them anywhere.
A. lost B. have lost C. will lose D. am losing
10.—______ you ______ the text yet?
—Yes, we ______ it two hours ago.
A. Did; copy; did B. Have; copied; have C. Have; copied; did D. Did; copy; had
11.She has ______ the League for three years.
A. joined B. joined in C. taken part in D. been in
12.—How many times ______ you ______ to Beijing this year?
—Three times.
A. have; been B. had; been C. have; gone D. had; gone
13.The students ______ trees if it ______ raining tomorrow.
A. will plant; will stop B. will plant; stops
C. plant; will stop D. plant; stops
14.I ______ this book for two weeks. I have to return it now.
A. borrowed B. have borrowed C. kept D. have kept
15.—______ you ______ lunch yet?
—Yes, I ______ it half an hour ago.
A. Did; have; had B. Have; had; had
C. Have; had; have had D. Will; have; have had
二、用括号内单词的正确形式填空
1. I ______ (not see) him for a long time.
2. She ______ (be) ill since last week.
3. They ______ (live) in Beijing since 2010.
4. My brother ______ (join) the army two years ago and he ______ (be) a soldier for two years.
5. —______ you ______ (read) this book yet?
—Yes, I ______ (read) it last month.
6. Tom ______ (not finish) his homework yet. He ______ (do) it now.
7. The old man ______ (die) for ten years.
8. We ______ (know) each other since we were children.
9. She ______ (learn) English for about five years.
10. I ______ (see) the film twice.
三、句型转换
1. I have already finished my homework. (改为否定句)
I ______ finished my homework ______.
2. He has been to Shanghai twice. (对划线部分提问)
______ ______ times ______ he been to Shanghai?
3. They have lived in this city since 2008. (对划线部分提问)
______ ______ have they lived in this city?
4. The meeting has been on for half an hour. (改为同义句)
The meeting ______ half an hour ago.
5. He has gone to the library. (改为一般疑问句)
______ he ______ to the library?
6. I have already seen the film. (改为一般疑问句)
Have you _____ the film _____?
7. I bought the book two days ago. (改为同义句)
I ______ ______ the book for two days.
8. They have visited the Great Wall. (对划线部分提问)
______ ______ they ______?
9. The volunteers helped repair over ten bicycles last week. (用现在完成时改写)
The volunteers _________ helped repair over ten bicycles _________ last week.
10. He has already had breakfast. (改为一般疑问句,并作否定回答)
—______ he ______ breakfast ______?
—No, he ______.
学科网(北京)股份有限公司
$
Unit 2 Getting along 语法精讲精练 答案解析
一、单项选择题
1. C
"Have...been"表示曾经去过(已回来)
"went"表示过去具体时间的动作
2. D
"for nearly three weeks"表示持续时间
需用延续性动词"keep",borrow/lend/buy都是非延续性动词
3. B
"has gone to"表示去了某地还没回来
"has been to"表示曾经去过(已回来)
4. D
since引导的从句用一般过去时"came"
主句用现在完成时"has worked"表示持续到现在
5. C
yet提示用现在完成时"Have...done"
"ten minutes ago"提示用一般过去时"finished"
6. B
"before"表示到现在为止的经历,用现在完成时
7. C
"for ten years"表示持续时间
die是非延续性动词,需用"has been dead"
8. A
"so far"提示用现在完成时"have studied"
9. B
强调过去动作对现在的影响(钥匙不见了),用现在完成时
10. C
yet提示用现在完成时"Have...copied"
"two hours ago"提示用一般过去时"did"
11. D
"for three years"表示持续时间
join是非延续性动词,需用"been in"
12. A
"this year"表示到现在为止的时间段
用现在完成时"have been"表示去过几次(已回来)
13. B
条件状语从句用一般现在时"stops"
主句用一般将来时"will plant"
14. D
"for two weeks"表示持续时间
需用延续性动词"have kept"
15. B
yet提示用现在完成时"Have...had"
"half an hour ago"提示用一般过去时"had"
二、用括号内单词的正确形式填空
1. haven't seen (for a long time提示用现在完成时)
2. has been (since last week提示用现在完成时)
3. have lived (since 2010提示用现在完成时)
4. joined; has been (two years ago用一般过去时;for two years用现在完成时)
5. Have; read; read (yet提示用现在完成时;last month用一般过去时)
6. hasn't finished; is doing (yet提示用现在完成时;now提示用现在进行时)
7. has been dead (for ten years需用延续性表达)
8. have known (since提示用现在完成时)
9. has learned (for about five years提示用现在完成时)
10. have seen (twice表示到现在为止的经历)
三、句型转换
1. haven't; yet (现在完成时否定句,already改为yet)
2. How many; has (对次数提问用how many times)
3. How long (对时间段提问用how long)
4. began (has been on for half an hour=began half an hour ago)
5. Has; gone (现在完成时一般疑问句)
6. seen; yet (现在完成时一般疑问句,already改为yet)
7. have had (for two days需用延续性动词have)
8. What have; visited (对宾语提问用what)
9. have; since (现在完成时结构:have+过去分词,时间状语用since)
10. Has; had; yet; hasn't (现在完成时一般疑问句及否定回答)
学科网(北京)股份有限公司
$