Look for a "starter kit" that comes with an Arduino, additional components, and a book (or online documentation) that walks you through various learning projects.
...I can't recommend one because I already knew electronics, and some programming before I started with the Arduino.
So, I just read through the Arduino Language Reference and some of the Examples before jumping-into the 1st project I wanted to build.
+++++++++++++++++++
The two most important concepts in programming are conditional execution (if statements, etc.) and loops (doing something over-and-over, usually until some condition is reached).
One of the "tricks" is to write, test compile, and test-run small bits of code at a time. Nobody writes the whole program at once, unless it's a very simple program.
As beginner, you should start with a working program (or something like the Blink Example) and add one or two lines of code at a time (and take-out what you don't need). That's not as simple as it seems because the compiler has to see a "complete program" that "makes sense"... You can't just start at the top and work down... For example, if you delete the bottom-half of a program, it's not going to compile or run.
Error messages can be cryptic. Usually they point-to where the error is (or near where the error is) but the complier doesn't usually know what's really wrong. And sometimes one little mistake can result in many reported errors. If you've only added a couple of lines, you know where the error is.
I'm not a beginner but I don't program every day, so I just write a few lines at a time, testing as I go...
Take advantage of the Serial Monitor (as in the Analog Read Serial Example) to "print out", little messages (i.e. "Waiting for button press") or variable values so you can "see" what the program is doing. You can take-out or "comment-out" that part of the code once everything is working. It's very handy for debugging because the compiler only knows about syntax errors. It doesn't know what you're trying to do and it doesn't care if you're doing something illogical.
The full C++ language is HUGE and I don't think anybody knows it all... The only book that covers the entire Standard language is the ANSI/ISO language standard itself. And the standard language doesn't include anything Arduino related, or even the mouse, or graphics, or color (when programming for a computer) so all of that is added on-top of the standard language.
And for the Arduino there are additional libraries (some official and some 3rd-party) for LCD displays or other "special" hardware or functions.
You'll need to keep the language references handy. 
(The Arduino can't the full standard language, because it expects an operating system, keyboard, standard monitor display, disc storage, etc. Most of the examples in a regular C++ programming book won't work on the Arduino.)