could have done表推测时只用于否定句或疑问句吗

薄冰实用英语语法P140:

_______ my guest have forgotten my dress ?

A.  might          B.  May             C.  Could             D. Would

答案选 C,can/could+完成时态表示推测时,只用于否定或疑问句中,may/might+完成时不用于疑问句中,主要用于肯定句中。

对于薄冰先生“can/could+完成时态表示推测时,只用于否定或疑问句中”的观点,我很疑惑。因为我在英语语法网上看到不少用于肯定句中的例子。如:

(1) He could have gone off with some friends. 他可能跟几个朋友出去了。

(2) He could have gone home. 他可能已回家了。

(3) Don’t worry—they ________ to phone.

A. can just forget                        B. could just forget

C. can have just forgotten         D. could have just forgotten

答案:选 D。could在此表推测,意为“可能”。虽然can也可表示推测,但由于它通常不用于肯定句,所以被排除。注意,此处要选D而不选B,因为它是表示对过去情况的推测,即“过去”他们忘记打电话,所以导致大家现在很着急。

(4) I can’t find him anywhere; he _______ home.

A. can go                   B. can have gone     

C. could go               D. could have gone

答案:应选D。首先,can一般不用于肯定的推测用法中,从而排除A,B;另一方面,从句意上看,这应该是对过去发生动作的推测,所以只能用D。

请专家指教,谢谢!

请先 登录 后评论

最佳答案 2014-05-29 09:29

同意Beachy老师的看法,估计这本书不会是出自薄冰之手,因为“can/could+完成时态表示推测时,只用于否定或疑问句中”是很低级的错误。应改成:“can+完成式”表示推测时只用于否定或疑问句中,“could+完成式”表示推测时既可用于否定或疑问句中,也可用于肯定句中。

事实上“could+完成式”用于肯定句中表示推测的用法是很常见的:

He could have been delayed. 他可能给耽搁了。——《朗文英语语法》

She could have forgotten to tell him. 她可能忘记告诉他了。——《牛津高阶英汉双解词典》

I suppose she could have missed the train. 我猜她可能误了火车。——《美国传统英汉双解学习词典》

Don’t worry—they could have just forgotten to phone. 别担心——他们很可能只是忘了打电话。——《牛津高阶英汉双解词典》


请先 登录 后评论

其它 2 个回答

董万友

不太明白Beachy老师的意思,请指教。

请先 登录 后评论
张成  
擅长:英语考试

盗版或打折薄冰旗号出的一些伪劣书。

薄冰从来没有那样说过。断章取义的说法。

请先 登录 后评论
  • 2 关注
  • 2 收藏,5673 浏览
  • 董万友 提出于 2014-05-27 13:05

相似问题