【现在完成时】

1.(2010全国课标I) When you are home, give a call to let me know you _______ safely.
A. are arriving B. have arrived C. had arrived D. will arrive

答案:B
解析:“你到家时打个电话给我,让我知道你已安全到家。”本题考查时态。从语境看,在打电话时对方“已经到达”,因此这里的宾语从句要用现在完成时,而不是现在进行时、过去进行时或一般将来时。  

2.(2010山东) Up to now, the program _______ thousand of children who would otherwise have died.
A. would save B. saves C. had saved D. has saved

答案:D
解析:“迄今为止,这个项目已经救了好几千名孩子。如果没有这项工程,这些孩子早就死了”。Up to now相当于by now,要与现在完成时连用。  

3.(2010北京) --  I’m sorry, but I don’t quite follow you. Did you say you wanted to return on September 20?
-- Sorry, I _______ myself clear. We want to return on October 20.
A. hadn’t made B. wouldn’t make C. don’t make D. haven’t made

答案:D
解析:“抱歉,我不太明白你的意思。你刚才是说你们要在9月20日返回吗?”“地不起,是我没有表述清楚。我们要在10月20日返回”。本题考查动词的时态。根据句意可以看出“没有表述清楚”是当前的一种状况,是说话人做过的事情对现在的一种影响,D是现在完成时,表明现在的情况和影响,符合题意。A项为过去完成时,B项表述过去常常,与语境不符;C项为一般现在时,表示通常情况下都如此,也不符合语境。  

4.(2010浙江) For many years, people _______ electric cars.
However, making them has been more difficult than predicted.
A. had dreamed of B. have dreamed of C. dreamed of D. dream of
答案:B
解析:“多年以来,人们都梦想着电力汽车的出现。但是,制造电子汽车比预想的更加复杂”。本题考查动词时态。根据时间状语for many years可知句子时态为完成时态,故排除C项和D项;句子并没有过去的时间或过去的动词,因此不存在“过去的过去”,排除A项。故答案为B。  

5.(2009陕西) This is the first time we __________ film in the cinema together as a family.
A. see B. had seen C. saw D. have seen

答案:D
解析:句意“这是我们全家第一次到电影院看电影”。“This / It is the + 序数词 + time that从句”为固定句型,that从句需用现在完成时。  

6.(2009江苏) The population of Jiangsu __________ to more than twice what it was in 1949. The figure is now approaching 74 million.
A. has grown B. have grown C. grew D. are growing

答案:A
解析:句意“江苏省的人口与1949年相比增长了两倍多。现在的人数接近74,000,000”。根据句意,本句指从1949年以来人口已经增长了两倍多,应该用现在完成时,而且,要注意主语是population,谓语动词用单数。  

7.(2009江西) — What’s the price of petrol these days? — Oh, it __________ sharply since last month.
A. is raised B. has risen C. has arisen D. is increased

答案:B
解析:句意“这些天石油的价格如何?”“哦,自上个月以来油价猛涨”。由句中的since可知,主句应该用现在完成时,故排除A、D两项;表示物价的上升或河水等的上涨用rise,而arise表示“起床,起身”,时通常用于文字中。  

8.(2009全国II) Progress __________ so far very good and we are sure that the work will be finished on time.
A. was B. had been C. has been D. will be

答案:C
解析:句意“到目前为止,一切进展良好,我们确信工作能够按时完成”。so far ( = by now)提示要用现在完成时态。  

9.(2008福建) So far this year we __________ a fall in house prices by between 5 and 10 percent.
A. saw B. see C. had seen D. have seen

答案:D
解析:由时间状语so far this year可知,此处用现在完成时,故选D。  

10.(2007江苏) — __________ you __________ him around the museum yet?
— Yes. We had a great time there.
A. Have; shown B. Do; show C. Had; shown D. Did; show

答案:A
解析:根据时间状语yet可判断出要用现在完成时,表示已经完成的动作,故选A。  

【过去完成时】

1.(2010北京) It took me a long time before I was able to fully appreciate what they _______ for me.
A. had done B. did C. would do D. were doing

答案:A
解析:“过了很长一段时间我才能理解他们为我所做的一切”。本题考查动词的时态。根据语境可知整句话的时间是过去时,“他们为我做的”这一动作发生在“我完全可以理解”之前,因此用过去完成时更符合题意,故选A。  

2.(2010江苏) -- Peter, where did you guys go for the summer vacation?
-- We _______ busy with our work for months, so we went to the beach to relax ourselves.
A. were B. have been C. had been D. will be

答案:C
解析:“彼得,你们这些年轻人去哪儿过暑假了?”“几个月以来我们一直在忙工作,因此我们去海边放松了一下”。本题考试动词时态。忙工作发生在度假之前,根据后半句的过去时态可得知,此处应采用过去弯沉时态。  

3.(2010安徽) --  Were you surprised by the ending of the film?
-- No. I _______ the book, so I already knew
A. was reading B. had read C. were taking D. would take

答案:B 解析:“你对电影的结局感到惊奇吗?”“不,我曾经读过那本书,因此对故事的内容已了如指掌”。本题考查时态。根据句意可知说话者说的是过去的事情,故用过去时,排除CD两项;A项为进行体,表示“未完性”,和后句中的内容相悖,故也被排除。由句意可知read应该发生在were surprised之前,属于“过去的过去”,故答案为B。  

4.(2009上海)Mary went to the box office at lunch time, but all the tickets __________ out. 
A. would sell B. had sold C. have sold D. was selling

答案:B
解析:本题考查过去完成时。句意“Mary利用午饭时间去了售票处,但是所有的票都已经卖完”,过去完成时表示过去某时前已发生的情况,故选B。  

5.(2009北京) John was given the same suitcase his father and grandfather __________ with them to school.
A. took B. had taken C. were taking D. would take

答案:B
解析:句意“约翰得到他父亲和祖父上学时的那个行李箱”。根据题干中John was given为过去的时间参照点,父亲和祖父上学为在此之前的事,即过去的过去,故用过去完成时。  

6.(2009重庆) She stared at the painting, wondering where she __________ it.
A. saw B. has seen C. sees D. had seen

答案:D
解析:句意“她盯着那幅画看,想着自己曾经在哪里见过它”。本题考查动词的时态,根据上下文可知“看见”这个动作发生在stared之前,是“过去的过去”,用过去完成时。  

7.(2008陕西) The moment I got home, I found I __________ my jacket on the playground.
A. had left B. left C. have left D. was leaving
答案:A
解析:根据题目意思,leave这个动作发生在found之前,即过去的过去,用过去完成时,选A。  

8.(2008辽宁) We first met on a train in 2000. We both felt immediately that we __________ each other for years.
A. knew B. have known C. had known D. know
答案:C
解析:句意“我们在火车上初次见面是2008年的事。我们当时就觉得我们已经认识很多年了”。已经认识多年了发生在初次见面之前,而见面发生在过去,故表示过去的过去,用过去完成时态,故选C。  

9.(2007安徽) They became friends again that day. Until then, they __________ to each other for nearly two years.
A. didn’t speak B. hadn’t spoken C. haven’t spoken D. haven’t been speaking

答案:B
解析:过去完成时表示一个动作或状态在过去某一时间或动作之前已经完成或结束,也可能是早已完成或结束,即“过去的过去”。根据所提供的情景“They became friends again that day.”可判断出,他们又成为朋友发生在过去,在这之前他们又两年不说话了。  

10.(2007陕西) I __________ there little more than a week when I set to work with the scientist.
A. would be B. have been C. had been D. will be
答案:C
解析:根据所提供的情景“when I set to work with the scientist”可判断出,与这位科学家一起共组之前已经过去一周多一点的时间,故选C。  

11.(2007重庆) — Did Alan enjoy seeing his old friends yesterday? — Yes, he did. He __________ his old friends for a long time. A. didn’t see B. wouldn’t see C. hasn’t seen D. hadn’t seen 
答案:D
解析:根据题意可判断出Alan和他的朋友见面发生在昨天,在昨天以前他们很长时间没有见面了,所以要用过去完成时态。