Hi, SephirothIce
My advice would be to take your time in selecting your first book. Selecting the wrong book could lead you to giving up in despair and frustration because the author's way of explaining things may not make any sense to you, even though you may unknowingly have vast potential. On the other hand, if you can find a book whose author is on the same wavelength as you, then you will be better able to make sense of his explanations. If you are unlucky, you may even end up selecting a book whose author simply doesn't know what he's talking about :angry: This can be very damaging early on when you are trying to lay down a solid foundation of understanding, because it forces you to relearn the parts you were misled about. One way to help combat this unpleasant prospect is to have a reference book written by a different author to that of the tutorial book you are following, against which you can verify what you are learning and obtain extra insight from a different perspective.
In my humble opinion, it's very important that you get a good grasp of, not just the basic principles of programming, but also of the basics of how the programming language you've chosen actually hangs together. If you do this, then, not only will you feel more confident that you know what's actually going on, you will also find that the more advanced stuff will be easier to understand because you will have a good grasp of the building blocks upon which they are based.
As far as whether or not to learn C or C++ is concerned, it's probably worth emphasizing that C++ is just a superset of C anyway, so all the functionality of C exists within the C++ language. Therefore, if I were you, I would get hold of a C++ compiler, buy a C++ reference book, but buy a C tutorial book. Because C is a much smaller language than the full blown and rather overwhelming C++, a tutorial book on C will provide a lot more focus on the fundamental basics, whereas a C++ book is much more likely to gloss over them. Not only will doing this make things easier for a beginner, it will also stand you in good stead when you decide to move onto the more advanced topics within the C++ language. Furthermore, by writing your C-style 'procedural' programs within a C++ compiler as actual C++ code, you won't even get into the position where you have to unlearn any bad habits that a less strict C compiler would allow you to get away with, thereby allowing for a smoother transition and learning experience. On the other hand, if you are able to find a C++ book that explains the basics well and in a way that you easily understand, then this may also be a sensible option.
C++ is a wonderful, magnificently powerful and efficient language. However, it can be very daunting taken in its entirety. My advice is to take one step at a time. If you learn to walk properly before you start running, you won't simply become another mediocre programmer, you'll become an expert
Once you have mastered a language and learned the principles of programming, that's when the real creative fun begins! Good luck! B)