Well Arduino really isn't C, it has a basic bootloader built on top of it (but you can do C programming instead). If this is your first language I would do any tutorials to get the structure down of C and to figure out the different data types and flow. I believe if you search on Amazon, there are numerous books for AVR C programming. I don't own any so I don't have any to recommend. What IDE do you plan to use for programming?
Well, I did not read this book. This book was not pressed in my country.
If you think it is easy to start with AVR using this book, then it is OK.
The book I recommended also gives a introduction for C language, which is good for beginners not familiar with C.
I find an open course that focuses on Atmel's microcontrollers and development hardware. The course deals with microcontrollers as components in electronic design and embedded control. I hope this can help you learn embedded system and AVR microcontroller programming.