Can имеет две формы - форма can, которая используется, когда действие относится к настоящему и иногда к будущему и форма could, когда действие относится к прошлому; could также используется в сослагательном наклонении.

If you gave me some money, I could buy this book.
Если бы ты дал мне немного денег, я мог бы купить эту книгу.

If you have given me your notes, I could have passed my exam yesterday.
Если бы ты дал мне свой конспект, я мог бы сдать экзамен вчера.

Модальное выражение to be able может использоваться, чтобы заменить can, когда действие относится к будущему (смогу).

I'll be able to give you my notes on Saturday.
Я смогу дать тебе мой конспект в субботу.

Глагол can может выражать:

  • Физическую возможность совершить действие.

    I can't walk anymore.
    Я не в состоянии больше идти.

  • Возможность в результате каких-либо обстоятельств.

    I quite free today and can join you.
    Я сегодня совершенно свободен и могу к вам присоединиться.

  • Возможность вследствие знаний или опыта.

    We can't do such sums yet.
    Мы еще не умеем решать такие задачки.

    Can any of you play the piano?
    Кто-нибудь из вас умеет играть на рояле?

    Note: Невозможность выполнить действие может передаваться с помощью глагола to fail + (инфинитив с частицей to) или с помощью модального выражения not to be able.

    I failed to meet him on Saturday.
    Я не смог с ним встретиться в субботу.

  • Глагол can, как и глаголы may и must, обладает вторичной модальностью, - он может передавать недоверие, сомнение, удивление со всеми формами инфинитива в отрицательных и вопросительных предложениях (Не может быть! / Неужели!)

    Can he be right?
    Неужели он прав?

    He cannot know about it.
    Не может быть, чтобы он знал об этом.

    Can she be still waiting for him? She cannot be still waiting for him.
    Неужели она все еще ждет его.

    Can he have emigrated?
    Неужели он эмигрировал.

    He cannot have emigrated!
    Не может быть, чтобы он эмигрировал.

    Can they have been waiting for us since the very morning?
    Неужели они нас ждут с самого утра.

    Формы can и could здесь взаимозаменяемы, так как время действия передается не модальным глаголом, а формой инфинитива.