En primer lugar, la mejor de las suertes con su aprendizaje de C.
Qué hacer para convertirse en un programador competente per se, es algo muy muy crudo. Voy a responder eso con una analogía. Puede completar todos los ejercicios al final del libro, pero no completar el primer programa práctico que le asignaron para trabajar. En otro caso, es posible que no haya completado ningún ejercicio, pero aún puede completar su primera tarea. ¿Quién crees que está en un lugar mejor? Dejaría la discusión para la interpretación.
Los ejercicios al final del libro están destinados a hacer que una persona revise el texto familiarizado con matices de problemas, situaciones de código, técnicas de programación. En general, están destinados a probar la implementación práctica del texto que acabas de leer. Estos son problemas que le darían un descuido de lo que generalmente ocurre en la práctica diaria. Como en cualquier examen, si no puede resolver un problema en particular, no significa que no sepa nada.
Mi sugerencia sería intentar todos los problemas. Marque hacia abajo lo que le dejó perplejo y revíselas después de un tiempo cuando tenga una mejor comprensión del tema, puede ser después de que haya resuelto algunos problemas más, o haya pasado por otro buen recurso.
Pruebe y lea más sobre el tema usando Internet o en otro lugar.
En cuanto al libro, cualquier libro que te haga entender es bueno, si falla, no vale la pena para ti.
Diviértete y sigue caminando !!!
C fue tu primer idioma? –