薄冰实用英语语法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。
请专家指教,谢谢!
同意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. 别担心——他们很可能只是忘了打电话。——《牛津高阶英汉双解词典》