Cannotとcan notの違いはないです。両方とも使えます。
アメリカ英語ではcannotの方がよく使われるので、こっちを使うのがスタンダードです。
Can notは間違っている。Cannotではなければダメだ!等たまに書いてありますが、文法的には、両方OKなはずです。
しかし、通常はcannotを使いましょう。
Can notはnotを特別に強調する時に使えます。
例えば、
No! You can not park your car in the fountain!
おまけにcan’tについてです。
Can’tはもちろんcannot/can’tのshort formですよね。
意味は同じですが、can’tはinformalなスタイルなので、formal writingで使うのは避けましょう。
ですから、formal writingでは、can’tではなくてcannotです。
英語の文法練習はこのテキスト・Understanding and Using English Grammar with Audio CDs and Answer Key (4th Edition)をお勧めです。文法の参考書は、こちらのガイド・Practical English Usageも実用的です。私も両方レッスンで使っています。