ANSI C is still the valid C standard, and it's 99% K&R. Mastering this stuff is the foundation, either if you want to use the ++ language extensions or not. There are a few changes, things you become aware of when using a recent compiler or porting code.
Most people learn a programming language by solving coding problems. If you use the books mainly as a reference or by systematically reading a number of chapters is a matter of learning style, both is possible.