Here are two free downloads I have found useful:
C++ Language Tutorial by Juan Soulie
Thinking in C++ by Bruce Eckel
Do a google search for current location of the pdf file.
Also, see Jack's book:
Arduino Projects for Amateur Radio by Jack Purdum and Dennis Kidder
The chapter on Project Integration is especially important.
Simon Monk has two excellent Arduino programming books, available on Amazon:
Programming Arduino: Getting Started with Sketches, Second Edition
Programming Arduino Next Steps: Going Further with Sketches