现在完成进行时用法
表示一个持续到现在的动作(这动作可能刚停止,也可能还在进行)。
(1) 构成:have been doing
(2) 用法:
1) 延续:表示开始于过去的活动持续到现在,并且活动往往还没有结束,将继续持续下去。
I have not been sleeping well since I returned home.( “我”回家后一直都没睡好,现在也没睡好。)
I have been living in Hawaii for ten years.我在夏威夷已经生活了十年。
She has been burning the midnight oil to prepare for GRE.她最近在熬夜准备GRE考试。
Tom has been playing the online games for more than twenty hours.汤姆玩网游已经超过二十个小时了。
2) 重复:到目前为止的一段时间内重复发生的活动。
He has been going to Seattle for half a year.他在半年间经常去西雅图。
I have been telling you not to make trouble.我一直劝你不要找麻烦。
The old man has been repairing cars for thirty years.老人修车修了三十年了。
Jack has been practising Tai Chi for more than a year.杰克练太极一年多了。
3)表示感情色彩
现在完成进行时比较生动,有时含有明显的感情色彩。
如:What have you been doing? 表示惊异
Who's been eating my apples? 表示愤怒不满
【典例讲解】
例1:Tom ______ in the library every night over the last three months.
A.works B. worked
C. has been working D. had been working
答案:C
解析:over the last three months 的意思是“在过去的三个月期间”,这类时间状语通常与现在完成时或现在完成进行时连用,四个选项中只有C符合此要求。
例2:Now that she is out of a job, Lucy ______ going back to school, but she hasn't decided yet.
A.had considered B. has been considering
C. considered D. is going to consider
答案:B
解析:根据but she hasn't decided yet (尚未决定) 可知,从开始失业时起一直在考虑再去上学,现在还在考虑。表示从过去某一时刻开始一直到现在,并且现在依然在发生的动作,用现在完成进行时,现在完成进行时由“have/has been doing”构成,所以选B。