1 完成体和完成进行体的辨用

请教老师如下问题,

1. He has coughed a lot recently. He ought to gave up smoking.

coughed是短暂非终结性动词,不对现在产生影响。所以,仅仅表示我 ‘咳嗽过’这个事件发生在现在以前某个不确定的时间。是这样吗?

 

2. Lee _____(learn) English for several years, and at last he has mastered the irregular verbs.

请教老师,唯一答案是 has been learning。我的疑惑是可否用has learned ?

 

谢谢老师。


请先 登录 后评论

最佳答案 2019-02-12 20:15

1 这个现在完成时表示的是最近发生的事件,状语recently已经表明了这一点。

2 learn和work, study, teach, live等动词一样,是为数不多的几个既可以用现在完成时,也可以用现在完成进行时表示从过去持续到现在的动作的动词。所以,本句也可以改用现在完成时。二个时态之间的细微差异可以忽略不计。

请先 登录 后评论

其它 1 个回答

刘永科   - 教育出版集团英语总顾问 & 英语系列图书主编
擅长:语法理论,语言学,文化背景

我觉得,网友这两个问题,没有太大的研究意义。

第一句:可以用两种时态。在很多情况下,一般过去时和现在完成时,本质是一样的,前提是:只要动作在过去已发生。不必过分考虑是否影响现在的问题,那样会限制你的表达,束缚你的想象力。以下两句都正确:

He has coughed a lot recently. He ought to give up smoking.

He coughed a lot recently. He ought to give up smoking.

第二个问题:关于现在完成进行时和现在完成时。

①现在完成进行时和现在完成时均可表示“从过去开始一直持续到现在”的动作,但现在完成时表示动作已完成,着重于结果;现在完成进行时表示的动作可能已完成也可能未完成,更强调动作的持续进行。比较:

I have read the book.我读过这本书。(已读完)

I have been reading the book.我一直在读这本书。(还在读,没结束)

②一些静态动词多用现在完成进行时,这样的静态动词主要有:lie,stand,sit,wait,rain,live,work, study, learn,teach 等。

She has lain in bed for a week.

She has been lying in bed for a week.(更常见)

她已经卧床一周了。

I have waited for you for two hours.

I have been waiting for you for two hours.(更常见)

我已经等你两小时了。

我认为,网友的句子,用现在完成进行时较好,用现在完成时不错



请先 登录 后评论
  • 1 关注
  • 7 收藏,4696 浏览
  • mbox 提出于 2019-02-10 20:31

相似问题