初中语法现在完成
1.概念:过去发生或已经完成的动作对现在造成的影响或结果,或从过去已经开始,持续到现在的动作或状态。
2.时间状语:recently, lately, sincefor,in the past few years, etc.
3.基本结构:have/has + done  4.否定形式:have/has + not +done.
5.一般疑问句:havehas提前
对于初接触现在完成时的人来说,往往会产生一种茫然,因为它似乎与一般过去时相似。那就是,这两种时态描述的动作都始于过去。其实不然,现在完成时主要表示,发生在过去的动作延续到现在刚刚完成、或许还要延续;侧重于这个动作对现在带来的结果、产生的影响、积累的总和等等。而一般过去时则只不过是表示动作发生在过去的什么时候。弄清了这一区别,就很容易理解现在完成时了。它主要适用于下面的几种情况:
  1)表示截止现在业已完成的动作
  By now, I have collected all the data that I need .到现在为止,我已收集到了我所需的全部资料。
  She has read 150 pages today .她今天已看了150页。
  2)表示发生在过去而对现在产生影响、带来结果的动作
  Have you had your dinner? 你吃晚饭了吗?
  3)表示过去发生的动作持续到现在,并可能还要延续
  It has been five years since he joined the army .他参军五年了。
  1)一个句子应该用什么时态只能取决于它需要表达的意思,以及它所处的语言环境。例如:
  He speaks English .(一般现在时,说明动作发生的经常性。)
  He spoke English when he was in New Zealand .(一般过去时,说明动作发生的时间。)
  He is speaking English.(现在进行时,说明动作正在进行。)
  He has spoken English for three years since he came to the USA.(现在完成时,这里说明动作的总和。)
  He has been speaking English since he came to the USA. (现在完成进行时,强调动作的连续性。)
  2)在含有时间状语从句或条件状语从句的主从复合句中,如果主句的谓语动词是一般将来时,那么从句的谓语动词就只能用一般现在时来表示将来时;如果主句的谓语动词是过去将来时,那么从句的谓语动词就只能用一般过去时来表示过去将来时。
  例如:I will not play tennis if it rains tomorrow.
  I would not play tennis if it rained the next day.
  3) 有些动词表示无法持续的动作,它们一般不宜用于进行时态中。这类动词常见的有:be , believe , consist , find , forget , hate , have , hope , hear , know , like , love ,
notice , prefer , remember , see , seem , smell , suggest , taste , understand , want , wish , sit down , stand up 等等。
Be动词若是用于进行时态,可表示暂时、短暂的情况或表现。例如:
Tom is being a good boy today .汤姆今天很乖。
He is being childish .他这样做是耍孩子气。
  You are not being modest .你这样说不太谦虚。
  4)关于现在完成时的时间状语问题
  A. 凡是"完成时态"都表示,不知道也不管动作发生的具体时间, 所以在使用现在完成时的句子里,不可以带有表示具体过去时间的状语,如:yesterday , last week ( month , year , etc. ) , two weeks ago , in 1999等;但常和有些副词连用,如: just , before , already , often , never , ever , notyet , always等等。
  B. 在以when提问的特殊疑问中不能用现在完成时。另外,ago不能用于现在完成时的句
子里,因为它表示从现在算起的以前某个时间,属于表示具体过去时间的状语。但是可以用before 来表示"以前"的意义,因为它只表示"以前",而不知什么时候的以前。
  C. 如果是不表示连续性的动词用于现在完成时的句子,不可以和以for表示的"一段时间"的状语连用。在这种情况下,应该用"It has been since"的句式来表达。如:
  He has joined the army for five years. (错误)
  It has been five years since he joined the army.(正确)
能与现在完成时连用词语很多,如副词just, already, yet, before, ever, recently 等,但下面是一些典型而且重要的例子:
  (1) since(自从):不管用作介词、连词还是副词, 句子(主句)谓语通常都用现在完成时:I havent seen her since last week. 自上周以来我一直未见过她。
  Where have you been since I last saw? 自我上次见到你之后你到哪里去了?
  【注】有时可用其他时态的情况,但须注意:
  ① 对于某些表示状态的动词( seem ),或因语义等方面的原因,有时可能用一般现在时比较现在完成时更合适:
  It seems like years since we last met. 我们似乎几年未见面了。
  Since when does the $42 plus $5 service charge come to $48? 从什么什候开始42元加5元的服务费等于48元了?
  若不是指从过去持续到现在,而是指从较远的过去持续到在一个较近的过去,则用过去完成时:
  Yesterday he told me that he hadnt eaten anything since Tuesday. 他昨天告诉我自星期二以来他一直未吃任何东西。(指从星期二至昨天未吃东西)
  表示时间长度时,通常用一般现在时代替现在完成时:
  Its ten years since he left here. 他离开这儿已10年了。
  (2) so far(到目前为止)
   So far there has been no bad news. 到现在为止还没有什么坏消息。
  We havent had any trouble so far. 到目前为止,我们还没有遇到任何麻烦。
  (3) in [for, during] the past [last] years(在过去…年中)
  In the past two years I梦见外婆ve seen him little. 过去两年我很少见到他。
  I have been here (for) the last [past] month. 最近一个月里我都在这儿。
  【注】在一定的上下文里,若是以过去时间为起点,也可用过去完成时。
  (4) up to [until] now(到现在为止)
  Up to now, the work has been easy. 到现在为止这工作还算容易。
I have heard nothing from him up to now. 到现在为止我还没有听到他一点音信。
  (5) Its [will be] the first time that(第一次…)
  Its the first time Ive come here. 这是我第一次来这儿。
 参考答案:
  一、单项选择。
  1B
  2、现在完成时常与already(已经),just(刚刚,正好),ever(曾经),never(从来,也不;从不),before(以前),yet(仍然)等连用。故2应选B
  3C
  4、现在完成时常与recently(近来),so  far(到目前为止),in  the  past/"last + 一段时间"等时间状语连用。因为上述短语表示的是从现在起往前推算的一段时间,句中的动作是从过去某一时间或时刻开始持续到现在的。故4应选D
  新泽西理工学院5C
  6、现在完成时时常与"for +时间段或since +过去时间点缘是什么意思"连用(含从句,从句过去时)。故6应选C7教师读书心得体会、C
贯云石  8、现在完成时还与once(一次),twice(两次),three  times(三次),several  times行政文员的工作职责(几次)等表示重复次数的词语连用。故8应选B
  9、现在完成时与一般过去时容易混淆,就是因为它们所表示的动作都发生在过去,但二者又有区别:一般过去时表示过去某个时间发生的事、存在的状态或经常发生的动作,说话的侧重点在于陈述一件过去的事情,与现在没有关系;现在完成时表示与现在有关系的发生在过去的动作,它不与表示过去的时间状语(如yesterday , last  week , a  moment  ago等)连用。故9的正确答案为B
  10B
  11、现在完成时中,非延续性动词不能与forsince引导的表示一段时间的状语连用,通常是用相应的延续性动词来代替。故11的正确答案依次为:D