不可以用can(not) have done表示对过去情况的推测吗?

     

     

2010年江苏省无锡市初中毕业升学考试英语试题第I卷第8题:  

Mr Smith must have been to your home this morning.  

No, he______, because he didn’t know my address.  

A. couldn’t             B. can’t                  C. mustn’t                     D. may not  

所给答案为A  

通过分析可知,此处的couldn’t have done表示对过去情况的推测。实际上,can (not) /could(not) have done都可以表示对过去情况的推测,没有多大差别,只不过有的语法专家认为can have done不能用于肯定句中。也就是说本试题的正确答案除了A之外,还有B,即也可用can’t have done表示对过去情况的推测。  

张鑫友教授在其编著的《英语语法难题探微词典》(华中师范大学出版社 20045月第1)p195-196上明确指出:  

B. could+不定式完成式  

b.表示对过去的行为进行推想,但在可能程度上不及must,常译为“可能”、“会”。这时,这一结构亦可用于否定句或疑问句。例如:  

A: The money has disappeared. Who could have taken it? 钱不见了,谁会拿去呢?  

B: Tom could have taken it; he was here alone yesterday. 汤姆可能拿了,他昨天一个人独自在这里。  

He couldn’t have done it because he wasn’t there. 他不可能做这件事,因为他当时不在那里。  

在这一情况下,could可以用 can 代替,但can不及could的语气委婉。例如:  

Her interference could (can)have done a great deal of harm.她的干涉可能已造成很大的危害。  

Tom couldn’t (can’t) have written this because it is in French and he doesn’t know French.汤姆不可能写这个,因为这是用法文写的,而他不懂法文。  

C. can+不定式完成式  

这一结构多用于疑问句和否定句,有时也用于肯定句,表示对过去某事的推测或判断,常可用could代替,但在疑问句种,can要比could用得经常些。例如:  

He cannot(couldn’t) have acted so foolishly.他不可能干出这样的蠢事。  

He can’t (couldn’t) have seen her yesterday because she was away from home most of the day yesterday.他昨天不可能看见她,因为她昨天大部分时间不在家。  

Can (Could) the work have been finished in such a short time? 这项工作能在如此短的时间内完成吗?  

陈敦金主编《英美语惯用法词典》(增订版)(福建教育出版社20023月第3)p184:  

7  can/could may/might+不定式完成时表示对过去发生的某件事的可能性进行推断、猜测。其中,can只用在否定句和疑问句中。如:  

A: Who brought the grand piano upstairs?  

B: Perhaps it was Tom.  

C: He can’t /couldn’t have done it by himself.  

胡涛编著《英语情态助动词用法手册》(成都科技大学出版社19892月第1)p36:  

B.can’t/couldn’t+不定时完成体表示过去的事情不可能发生,相当于汉语“那()时不可能”等。例如:  

The meat you had for dinner last night can’t/ couldn’t have been good.你昨晚吃的肉不可能是新鲜的。  

Tom couldn’t have let the cats pout. He wasn’t here yesterday.汤姆当时不可能把猫放出去。他昨天不在这儿。  

He couldn’t have slept in Room 13. There is no Room 13.他那时不会谁在13号房间,因为没有13号房间。

   

 

 

赵振才编著《初高中英语考点难点详解词典》(黑龙江人民出版社20036月第2次印刷)P162:  

【问】(1)They cannot have gone out because the light’s on !  

(2)The girl asked to se a timetable, feeling sure that her father could not have made such a mistake.  

cannot have done could not have done有无区别?  

【答】cannot have done could not have done都可以表示以现在的眼光看来“过去不可能发生的事”,如句(1)。但是,could not have done还可以表示从过去的某个时间点看来“以前不可能发生的事”,如句(2)  

张道真编著《英语语法大全》(外语教学与研究出版社19988月第1)P591:  

Can have可以用来表示过去的情况:  

Can I have borrowed his money?  

You cannot borrowed it, because you spent very little money last month.  

还可以和一个过去时间的状语一起用:  

Can he have come last Monday?(=Is [or Was] it possible that he came last Monday?)  

He cannot have arrived yesterday.  

薄冰编著《高级英语语法》最新修订)(世界知识出版社 200210 月第8次印刷) p261: can可以用于进行式和完成式(完成式只用于否定和疑问结构中) 如:  

(27) He can’t have missed the way. I explained the route carefully and drew him a map.他不会迷路。我对他详细说明了路线,还画了一张地图。(笔者注:此例句与上面的中考试题惊人的相似!只不过中考试题用的是couldn’t;而本例句用的是can’t!从而验证选择项B也是正确的答案。)  

张月祥编著《英语动词的时体态式》(上海外语教育出版社1988 9 月第1)p142:  

A: The door was open.(门是开着的。)  

B:It can’t have been open. I had locked it myself.(可能是开着的。我亲自锁上的。)(也能用couldn’t +不定式完成体表示,含义无甚差别,只是语气不肯定些。)又例如:  

A: We stood on London Bridge and watched it opening to let a shipthrough.(我们站在伦敦桥上观看桥面打开让一条船通过。)  

B: You can’t/ couldn’t have been on London Bridge. It doesn’t open. You must have been on Tower Bridge.(你们不可能是在伦敦桥上,伦敦桥的桥面是打不开的。你们一定是在塔桥上。)  

Michael Swan著《英语用法指南》(第二版 翻译本)(外语与教学研究出版社 20009月第1)p143: can/could have+过去分词用来对发生了什么事情、事情是否(已经)发生等等进行猜测。can只能用于疑问和否定句中,或者与only, hardly, never这类限制性词语连用。  

Where can he have gone? She can’t  have gone to schoolit’s Saturday. And she can hardly gone to church.   

从以上可以看出can(not) /could(not) have done都可以表示对过去情况的推测,没有多大差别。也就是说上面的中考试题有两个正确答案。

■感谢李翔老师对本站的支持和厚爱!本文为本站首发,如有兄弟网站转载本文,务请注明来源,同时带上本站的有效链接!