This might seem like a waste of time, but I would take the time to backup your entire hard-drive before proceeding. You can do this before defragmentation and maybe even after as well (before doing the actual partitioning.)
The first thing I would do is to defrag your HD. JKDefrag is the one I use. It works very well for me. What this will do is organize your hard disk to make sure all of your clusters are grouped closer together so that you can have a larger amount of free space to work with. The application that comes with a simple GUI as well. Just double click and let it be for a while.
After the defragmentation is over, you can partition your hard drive using the disk management tools that come with Windows 7. You can use third party software if you like, but I don't find anything wrong with the tools that come with your OS. Here are instructions on how to re-partition your hard drive, straight from the manufacturer.
Basically, after you get into your disk management screen (right click 'My Computer' > Manage > Disk Management), you will right click your
C: partition and click on the
Shrink Volume or similar option in the menu. Enter the amount of space you want to shrink by, and then let it do it's work.