You probably won't get many recommendations about books here, because they would be very opinion-based.
A long time ago I myself thought that books about software are way better than tutorials. After a short while I gave up on them.
My main reasons were that
- books about software (especially FLOSS) become outdated quite fast.
- most of them go through a tedious description of all the functions without showing much about how to use them properly.
- doing more complex tasks often require techniques that won't be shown in most books unless they are written with the advanced user in mind.
My recommendation for beginners:
- Start by learning Blender's basic functionality by watching video tutorials (like this one by Sardi Pax). Seeing things in motion teaches you much more about complex software than just a bunch of screenshots with some paragraphs of text that are possibly stretched over several pages.
- Learn the basic techniques like extruding, subdividing, connecting different primitives, then proceed to basic materials (colors, textures, shaders). Start with Blender Internal renderer before going through complex Cycles tutorials.
- Start with basic models and work your way up. Do not expect to be able to create complex 3D models, renderings or animations after two hours, days or even weeks of reading a book or watching tutorials. Every 3D software is complex and Blender is no exception.
- Be prepared that learning 3D modeling isn't something that's ever completed.
You also should check out the link in Shady Puck's comment above (Resources for Blender). It's a constantly growing source.
Some "big" names you might want to check out are agenzasbrothers, Andrew Price from BlenderGuru, Gleb Alexandrow from CreativeShrimp, masterxeon1001 and Darrin Lile (he's in the link collection Shady Puck mentioned above with some very good tutorials about character creation and animation). Most of these guys are producing new videos at least on a monthly basis and some also have informative stuff on their websites.