1、can和be able to 都可以表示能力,前者表示主语原本就具有的某种能力,后者表示通过努力可以具备某种能力或实现某种状态,重点强调的是要有一个努力的过程。如:
(1)I can play the piano.(隐含着我本来就会弹钢琴的意思)
(2)I am able to play the piano.(隐含着我只要努力就有能力学会弹钢琴的意思)。
2、can 可以表示可能性,但be able to没这功能。如:
(1)He can’t be at home now. 他现在不可能在家。
(2)He isn’t able to be at home now. 表示“他现在没有能力在家”,比如远在他乡,不能一下子回家,这是能力问题
3、can只有现在式和过去式(could)两种,没有第三人称单数形式,而be able to可以用于多种时态。如:
(1)He cans swim. 他会游泳。错误,正确表达是:He can swim.
(2)He will can come here tomorrow. 他明天能够来这儿。错误,正确表达是:He can come here tomorrow.
(3)He will be able to come here tomorrow. 他明天能够来这儿。一般将来时态,正确
(4)John has been able to swim for many years.约翰会游泳都很多年了。现在完成时态,正确。
4、can本身是情态动词,不能再也别的情态动词连用,但be able to可以与情态动词连用。如:
(1)Do what you can now or you might not be able to do them all. 去做你现在能做的,否则你可能永远也不会开始了。Might是情态动词。
(2)From this distance you should be able to see the airfield.在这个距离上,你应该能够看到机场。Should是情态动词。
5、be able to 可以表示过去成功地做了某事时,相当于managed to do sth(设法办到某事),但can无此功能。如:
(1)Although the fire spread very quickly, they were able to run away.(虽然大火蔓延很快,他们还是逃脱了)
(2)Although the fire spread very quickly, they could run away.(虽然大火蔓延很快,他们还是能够逃脱的,但他们只是有这种能力而已,实际上可能并没有试图逃走。)
6、Could可用来提出委婉的请求,但be able to 无此功能。如:
-Could I have the television on? 我可以打开电视吗?
-Yes, you can. (No, you can't/mustn’t.)是的,你可以。(不,你不可以/不准。)
注意:此时的could并不表一般过去时态,在回答中不能使用could。