By the time you arrive home,I _____ for several hours,so please don't make a noise when you come in.[A] shall be sleeping [B] shall have slept [C] shall sleep [D]shall have been sleeping为什么选D?清翻译整句
问题描述:
By the time you arrive home,I _____ for several hours,so please don't make a noise when you come in.
[A] shall be sleeping [B] shall have slept
[C] shall sleep [D]shall have been sleeping
为什么选D?清翻译整句
答
by the time 后面一般都要加完成时,意为“到……为止”,have been doing表示过去的动作延续到现在并继续发生到未来,have done表示动作的完成,不过从句意出发,应该选D,整句的意思是“到你回家的时候,我可能已经睡了好几个小时了,所以当你进来的时候请你不要发出噪声。
答
美语里是说 I would've been sleeping for several hours.
翻译: 我会在你到家几个小时前就睡着了, 你回来的时候别吵醒我。
既然是睡着了当然要用完成时, would/shall是假设, 因为还没有实际发生。
答
到你回家的时候,我应该已经一直睡了好几个小时(一直在睡),所以当你进来的时候不要发出噪声
D
答
等你到家的时候,我应该已经睡了几个小时了,所以你进来的时候不要发出声音
答
句意“你回家的时候 我已经睡下好几个小时了 所以你进来的时候请不要发出太大的声音”
因为是“已经睡下好几个小时”所以用have been 表示已经...了