Как практиковаться в Си?
1. Очень простые задачи, чтобы усвоить синтаксис здесь
2. Дальше можно порешать вот эти задачки от Яндекса. Хотя курс по С++, но вполне можно решать большую их часть на Си.
3. Потом вот этот курс по алгоритмам.
4. Если интересует олимпиадное программирование, но задачи на codeforces.com сложные, то можете попробовать начать вот с этого сайта.
Стандартная практика, которую обязательно нужно изучить - базовые алгоритмы и структуры данных. Книги: Кормен алгоритмы построение и анализ, алгоритмы просто как 2х2 - книга попроще.