Подскажите, как быстрее и эффективнее изучить язык Си с нуля?
Всегда все языки учил только на практике. От теории на начальном этапе нет толку почти. Поэтому выбираешь проект,  продумываешь алгоритм, и начинаешь целенаправленно изучать как реализовать на требуемом языке ту или иную часть этого алгоритма. Тут же подтверждаешь на практике.
Любой язык учится или по книгам, или записывайся на курсы. Если книга, то придется искать материал и ,если попадется непонятные моменты, то разбирать самому, а если курсы, то потратишь деньги и придется ходить на занятия, т.е. время выбранное будет не тобою. Лично учу по книгам.