As a beginner, when I was confused about the book I should follow for C language, my sister suggested my this.
In order to understand concept of any programming language it is important to follow a good reference book and I feel that this is a best book for beginners.
Yashwant kanetkar, the author of this book has made this really intresting by using simplified language.
The best part about this book is that every chapter start with the basic knowledge about different concept and further lead to advance level and hence provide full knowledge about any topic to us.
Example is given with each programming concept which help us to understand it properly.
This book is ideal is for both theoretical and practical knowledge.
Error finding exercise is there in book followed by some unsolved programming questions. Solution book of every edition is also available in market and on internet.
But if you are not a beginner then you should follow any other book and to gain practical knowledge solve its unsolved questions.
I strongly recommend this book for beginners because its simple and best.