Как изучили язык программирования С Вы?
Брал книжки с задачами по Бейсику и решал их на C. Переписывал свои старые программы с ТурбоПаскаля на C. Переписывал чужие программы на Бейсике на C (кстати, не так давно я минимум одну из них переписывал на Haskell, а потом и на Rust). Изучал программирование UNIX. Изучал WinAPI. Придумал язык Cyrill с кириллическими ключевыми словами и си-подобным синтаксисом и писал для него компилятор на C (основываясь на серии статей, рассказывающей как писать компиляторы на Паскале). Читал всякие забавные статьи "как писать на Си в объектно-ориентированном стиле", изучал ООП-техники, применяемые в ядрах Linux и FreeBSD (там два разных подхода), а также в GTK+ (ещё один подход). Писал велосипеды: библиотеку контейнеров на макросах, библиотеку для юнит-тестирования. Писал игры с мордой на C# WinForms и движком на C. К ним же делал альтернативную морду на NCurses для linux и для DOS, не помню уже с помощью чего. Переписывал программы с C на Objective-C, потом на C++ и потом обратно на C. Читал Крупника и Павловскую.
-- 21.03.2021, 12:45 --Как посоветуете изучать С?
Почитать самый самый минимум — и программировать, программировать, программировать. И в какой-то момент обязательно прочитать "Верёка достаточной длины, чтобы выстрелить себе в ногу" Голуба.