На C/C++ имеет смысл смотреть в случаях:
- Если есть в планах разрабатывать ПО, которое работает с железом на низком уровне.
- Если есть в планах разрабатывать высокопроизводительное ПО.
- Если есть в планах разрабатывать ультра-портируемое ПО.
- Если есть желание разобраться как ПО на любом другом языке переводится в машинный код и как его оптимизировать.
В остальном эти языки требуют относительно высокой дисциплины от разработчика, т.к. предоставляют широкие возможности для доступа к железу/памяти (ошибок).
Касательно C# — я бы сказал, что он похож скорее на Java, чем на C. Как минимум, внутренней логикой. Его хорошо использовать для разработки разного рода прикладного ПО, быстрой разработки, обучения — много готовых инструментов, прощает многие ошибки. Ещё для обучения хорош Pascal — его создавали специально для этих целей.
Учить C# рекомендую по экзаменационным курсам Microsoft — в них довольно последовательное изложение, покрывающее все существенные темы. Для C# это "Exam Ref 70-483 Programming in C#" (сам экзамен отменён с 2021, но знания особо не устарели ;) книжку в виде PDF можно найти в поиске за пару минут).
И ещё момент — в вопросе явно не было указана степень знакомства с темой, но от себя рекомендую уделить пристальное внимание структурам данных и алгоритмам. Без этих знаний преобразовать задачу в код будет очень сложно и больно от изобретаемых велосипедов.