1) Do you need to learn C before learning C++?
no
2) If you learn C++, do you need to learn C as well? Meaning, does C do things that C++ can't, or is C++ comprehensive?
C++ is more object oriented than C, and is basically an extension of C. I never learned C, but learned C++.(if you don't know what object oriented is, don't worry, the first chapter or two of any C++ book will talk about it)
3) Are the Sams Teach Yourself books any good?
They are decent. I find they lack in giving assignments and programs for you to work out. I learn by doing, best. Deitl and Deitl have great books. They are a bit more dry, but much more comprehensive than the teach yourself books.
4) Are the cd-roms that come with any of the books you can buy good enough to learn with? Meaning, do they have everything you need to get started, or do you need to buy something else?
generally they are enough. If not, it's not too hard to download a command line compiler off the internet. Borland has a free one. All *nix's come with one built in.
Visual C++ is a whole nother ball game and can be complicated for a beginner, unless you have a book specifically for VC++
5) This might be off topic, but how is software testing related to programming? Do you need to know one to know the other?
nope. I've done testing for 3 years. It helps to know programming, just to be able to communicate better with developers and understand errors, etc. But, it's not needed. I was one of the few on all my testing teams that did know how to program decently well. But, if software is complex enough to have a big test team, then it's too complex for 1 person to understand a lot of the code anyway.

For example, I tested Netware 5.1. yea, we didn't touch the code at all. But, knowing scripts and different things helped.
Also, some of the testing tools are fairly complicated and require scripting or simple programming.
Hope this helps.
Also, why do you want to learn, and why C++? If possible,
VB is good for beginners. Or HTML(not really a programming language)
Or even Java is good to learn. I like java for beginners, because it's easier to get something visual and graphical going after a few weeks. With C++ you'd need a lot more to get it going. I taught a beginning Java programming class, which was a lot of fun. At the end we even made a very simple pong-like game.
good luck,
dragonb