I would always recommend going to C++ and totally bypassing C if you've never done either before. Otherwise, you'll end up learning the bad habits of C, and possibly putting them in your C++ code. C++ is a great language. If you use it in the way it was intended (very type-safe), the code you produce will be very robust. I can't remember the last time I had a bug that was due to a coding error (as opposed to a logic error).
I would also highly recommend
Visual C++ Express. It's a bit of a pain to setup, though, to write "normal" Windows apps as the default install really wants you to code for .net. You have to download the
Platform SDK for Windows Server 2003, and then change a few config files to make it use the right libraries. But if you can get past that hurdle, it's the best there is and it's totally free. The debugger can't be beaten (it's got good heritage: the debugger team was run by
Andy Pennell, who wrote Devpac). The editor can though. I use
Vim. There's nothing faster once you've clambered up the intensely steep learning curve. I can't ever go back to a standard editor.