To learn C, we need to read many C books and have many practices. Here we summarize a list of C books which may help you learn C.
1. How to Think Like a Computer Scientist :C version
Although it contains only basic syntax, it is easy to understand. It is also free to download. This should be the first book to be read for learning C.
Download address : http://prof.beuth-hochschule.de/scheffler/lehre/programmieren-in-c/
2. C Primer Plus and C Programming : A Modern Approach
These two books are entry level C books, they both are thick. These two books contain duplicated contents. You can choose either one.
3. C Programming Language
This is the most popular C book. It is not written for beginners, it focus more on C programming techniques and algorithm design.
4. Beginning Linux Programming
5. Linux Programming by Example. The Fundamentals.
It is suitable for learning C in depth. Linux Programming by Example is a dense compendium of Linux software solutions--tools, algorithms, and procedures that solve data-processing challenges of the sort that crop up in all sorts of software projects.
The above books are mainly for entry level C programmers. After you have gained enough experience and practice, you can proceed to higher level C learning.
Reference : http://blog.jobbole.com/1442/