Теория:

Запятая в сложносочинённом предложении ставится:
1) между частями сложносочинённого предложения, соединёнными соединительными (и, да, ни... ни...),
противительными (а, да, но, однако, зато, тоже),
разделительными (или, либо, ли... ли, то... то, не то... не то) союзами.
Пример:
«Вчера зацвела черёмуха, и весь город тащил себе из лесу ветки с белыми цветами» (М. Пришвин). «К нашему удивлению, горы оказались всего в двух километрах от нас и препятствий на нашем пути не было»;

2) между безличными предложениями, входящими в состав сложносочинённого, если они неоднородны по своему составу.
Пример:
«В комнате было душно, и мне захотелось выйти на свежий воздух»;

3) между номинативными предложениями, если их больше двух.
Пример:
«Ночь, тишина, и звёзды, звёзды...» Ср.: «Мороз и солнце, день чудесный» (А. Пушкин).

Запятая
в сложносочинённом предложении не ставится:
1) между частями сложносочинённого предложения, если в нём имеется общий для обеих частей второстепенный член или вводные слова.
Пример:
«Во время частых зимних штормов в порту ревели басами океанские пароходы и скрипело от ветра окно» (К. Паустовский);

2) между частями сложносочинённого предложения, выраженными двумя вопросительными или двумя восклицательными предложениями, которые объединены общей интонацией.
Пример:
«Зачем ты послан был и кто тебя послал?» (А. Пушкин).

Точка с запятой
в сложносочинённом предложении ставится между его частями, которые значительно распространены и имеют внутри себя знаки препинания.
Пример:
«Обыкновенно Вернер исподтишка насмехался над своими больными; но раз я видел, как он плакал над умирающим солдатом» (М. Лермонтов).

Тире
в сложносочинённом предложении ставится между его частями, которые содержат неожиданное присоединение или резкое противопоставление.
Пример:
«Я сажусь на трамвай — и через двадцать минут я опять в поле» (М. Пришвин).
Источники:
Гольцова Н. Г., Шамшин И. В., Мищерина М. А. Русский язык. 10–11 классы. Учебник. — М.: 2011. — с. 310–311.