C — древний язык, который сейчас используется разве что для системного программирования драйверов, IoT. Он простой в плане синтаксиса. Встроенных функций и синтаксических конструкций там очень мало. Но создать что-то масштабное на нём — очень сложно. Занятие на любителя. Зато он очень быстрый и у тебя есть полный контроль над каждым байтом памяти.
C++ — эволюция C. Поддерживает весь синтаксис C, но приносит классы, умные, указатели, лямбда функции и ещё хрен знает что. Он настолько разносторонний, что выучить его сложнее, чем любой язык в этом списке. Используют обычно для десктопных приложений, игр и сверхбыстрого серверного кода.
C# вообще ничего общего не имеет с языками выше, он к Java ближе. Он гораздо приятнее, красивее, но медленнее. Используется для десктопных приложений, игр и серверного кода (как и Java для серверов).
C - очень простой язык системного программирования, предназначенный для специалистов очень высокого уровня. В руках новичка - пулемёт для стрельбы по собственным ногам. Если ты не занимаешься написанием операционных систем, драйверов для операционных систем, интерпретаторов языков программирования и т.п., язык C тебе не нужен. Да, как любой язык системного программирования, C может использоваться для прикладного программирования, но это будет намного дольше и сложнее, чем использование языка прикладного уровня.
C++ - язык в большей степени прикладного, чем системного, программирования, являющийся расширением (раз в 20) языка C высокоуровневыми механизмами. Эти самые механизмы позволяют использовать язык специалистами чуть более низкой квалификации (по сравнению с требованиями C), но делают C++ существенно менее пригодным для системного программирования. Один из самых больших и сложных актуальных языков.
C# - язык исключительно прикладного программирования. Разработан компанией Microsoft для вытеснения Java из Windows-разработки и, собственно, на Java и основан. Предназначен для разработчиков среднего и низкого уровня. Проще C++, но многократно сложнее C.
Языки C и С++ подходят для начального обучения очень плохо, а язык C# - просто плохо.
Начинать лучше с качественного учебника программирования и того языка, который используется в этом учебнике для объяснения свойств алгоритмов. Но если хочешь начинать не с удобного для обучения, а обязательно с модного промышленного языка, то посмотри в сторону Go, который является столь же универсальным, как C#, но при этом предельно простым языком прикладного уровня.