Имхо, Си лучше всего подходит как раз для низкоуровневой работы с железом. Этакий улучшенный ассемблер. Для микроконтроллеров или драйверов периферии на pc.
Потому что для приложений - в любом случае больше времени уйдет на изучение библиотек и возможности их прикостыливания к программе. Это лучше делать более высокоуровневыми средствами.
Хотя отталкиваться надо от задач, да.
И в целом, лучший способ изучения - решение конкретных задач.
Социальные закладки