В данный момент появилось большое количество языков, которые позиционируют себя как иструменты для достижения различных целей, начиная от достижения memory safety вплоть до абстракции от всего и управление этими примитивами. Тем не менее, язык С остается до сих пор востребованным. Этому есть несколько причин.
-
На этом языке написаны основные модули операционных систем
-
До сих пор множество программного обеспечения пишется на си, в частности для embedded-устройств
-
Этот язык позволяет понять принципы работы с памятью, для того, чтобы избежать распространенные уязвимости, которые могут привести к серьезным утечкам данных или system compromise.
-
Язык довольно простой для понимания
Если человек уже обладает знаниями языков, структур данных, алгоритмов, эта секция может быть опущена.
Для *nix систем до сих пор лучшим компилятором остается gcc - http://gcc.gnu.org/. Для Windows - Microsoft Visual Studio - https://www.visualstudio.com/ru/ Или более легковесная: MinGW http://www.mingw.org/ IOs - Apple X Code - https://developer.apple.com/xcode/ Межплатформенная - Qt - https://www.qt.io/download/ Ну и для совсем ленивых - онлайн компилятор - https://www.tutorialspoint.com/codingground.htm
Основы программирования - http://cppstudio.com/cat/271/273/
Вики-учебник - https://ru.wikibooks.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%A1%D0%B8_%D0%B2_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B0%D1%85
Курсы на Си - на русском - http://www.intuit.ru/studies/courses/97/97/info Курсы на Си - на английском - https://www.coursera.org/courses?query=c%20programming
Для среднего уровня знания языка, кроме знания самих конструкций, я бы упомянула следующие темы: Типы/Структуры данных, указатели.
9
Thomas H. Cormen Introduction to Algorithms, 3rd Edition (MIT Press) Steven S Skiena The Algorithm Design Manual
Richard M Reese Understanding and Using C Pointers: Core Techniques for Memory Management
Для высокого уровня знания языка, я уже сделаю деление на специализации:
Высокое знание memory layout - что как и зачем. Как писать безопасный код - https://www.securecoding.cert.org/confluence/display/c/SEI+CERT+C+Coding+Standard
9
Peter Van der Linden, Expert C Programming. Deep C Secrets.
Ваш вопрос уже был задан и на него уже ответили. Если гугл не помогает, советую следующие Вопросы-ответы - на русском http://www.cyberforum.ru/c-beginners/
Вопросы-ответы - на английском https://www.reddit.com/r/C_Programming/
Си 11 - http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57853
Си 99 - http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=29237
Я же не дописала