13 现在完成时态在表示‘从过去一直持续到现在的动作’时的疑问

(高三)

一You look tired. What's the matter?

一I _____ on a sofa because my grandparents have been here to spend the weekend. I can't have a good sleep.

A. slept    B. am sleeping    C. was sleeping    D. have slept

 

标准答案为B,现在进行时态在这里表示‘现阶段正在进行的动作’,没有任何问题。

我的疑问是,为什么不能用现在完成时态来表示从过去一直持续到现在的动作,如果用现在完成时态(I have slept on a sofa),不是正好与‘my grandparents have been here’相匹配吗?


请先 登录 后评论

最佳答案 2020-05-08 00:38

学习完成体,要区分事件完成体、状态完成体和习惯完成体,不能笼统地谈论完成体。

现在完成时表示事件意义时,该事件发生在不确切的过去时间,或过去事件的结果在现在依然有影响。

现在完成时表示状态或习惯意义时,通常与持续时间状语连用,表示该习惯或状态持续至今有多久了或从什么时候持续到现在。

sleep为动态动词,既可以表示事件,也可以表示习惯(长期习惯为静态意义,临时习惯为动态意义)。

I slept for only two hours. 事件意义。

I usually sleep on the floor. 长期习惯。

I am sleeping on the sofa these days because my parents are here with us for holidays. 临时习惯(动态意义,没有结束就要用进行体)。

长期习惯持续到说话时,要用现在完成时+持续时间状语表示:

I have slept on the foor for a few years. (持续时间状语为必具性的)。

临时习惯持续到说话时,要用现在完成进行时,持续时间状语为选择性的。

I have been sleeping on the sofa (for a week).


你的句子中,sleep并不是事件意义,而是临时习惯意义。要么用现在进行时表示一个临时习惯在说话时存在着(还要继续下去,会结束,但尚未结束)。要么用现在完成时进行时表示一个临时习惯持续到说话时,可能刚结束,可能还会持续下去,重点在于持续到现在。

D 并没有用现在完成进行时,而用了现在完成时,故为错误。所以只能选B。如果D改为现在完成进行时,就也是正确的了。

请先 登录 后评论

其它 1 个回答

mengxin Z

一 You look tired. What's the matter?

B. am sleeping = 1. 我正躺着要睡;2. 这么些天来,我都这样睡

a. D. have slept= 1. 我睡着了("我"听不到你说话 );但也可能是 2. 我刚睡完


b. Have you slept?你已经入睡了么?

c. Did you sleep? (之前,如昨晚) 你睡着了么?

d. He has slept for two hours. 他睡了2小时(现在已经醒了,或还在睡)


上面a/b/c/d 都在讲某次的事件;


请先 登录 后评论
  • 3 关注
  • 2 收藏,4729 浏览
  • Simon 提出于 2020-05-06 15:13

相似问题