Here's a summary of three popular IDEs (integrated development environments) that you can choose from.
Visual C++:
The "Visual C++ 2005 Express Edition" version of this is available for free at http://msdn.microsoft.com/vstudio/express/visualc/download/ . The express edition is likely much more than enough than you'll need for writing most programs. The downside is that it requires Windows XP SP2 to install, and it is very large and complex. It can be overwhelming for someone new to it. However, it is very well suited to and easy to develop Windows GUI applications with a GUI with in comparison with other environments.
Dev-C++ ( http://www.bloodshed.net/devcpp.html ):
This is a small free IDE that's been available for a very long time. It's not really updated anymore and may be a bit buggy at times, but it is small and simple and easy to get a simple program running. However, developing Windows GUI applications is difficult if you are not already familiar with the Windows API.
Code::Blocks ( http://www.codeblocks.org/ ):
This is another small free IDE that is also open source, and is constantly updated. It's just as easy to get started with as Dev-C++, but is more stable and has some nicer features, and a much nicer editor.
My suggestion is that you get Code::Blocks first. It's easy to get started with and make some simple console programs. But if you are very interested in making Windows GUI applications and you don't want to deal with writing a lot of code manually, go for Visual C++.