In my experience, there will never be one single book that serves all purposes in teaching and then using a programming language. Firstly, you will need a tutorial-oriented book (or two or three) that really teaches all of the fundamentals. This is especially true for someone learning their first language. After a while, you're going to want a kind of reference book; something that shows all of the details, in an organized way, which makes it easy to find specific information. It should be organized in such a way that you can browse a bit to zero in on the exact section you need, based on some fragment of the knowledge you have about the subject. It probably doesn't need any form of tutorial. O'Reilly 'Nutshell' books tend to be that way.
Finally, you'll want something that is more advanced, and provides some larger context. It probably uses a few of the classic example programs to explain the how & why, and why-not's. At some point, you'll start to become concerned with the finer points of style, maintainability, robustness, etc. and naturally, this will be in a more advanced level book.
I've never undertaken a substantial learning effort in matters of computing without buying at least three books on the subject. To a first-time programmer, I recommend that you anticipate doing the same.
BTW, I've never use a '...for Dummies' book, and I don't have any modern C favorites. If Bruce Eckel has written a book on C, I'd probably recommend it.