As well as the gparted option (or similar software to resize partitions) you could use Windows' dynamic spanned volumes to merge one of the other partitions into C:. For instance to get rid of F: and merge the space it uses into C:
- open disk management (right-click "my computer", choose "manage", and the disk manager should be available in the control panel app that comes up)
- convert the disk to a dynamic volume if it isn't one already (right-click the drive and it should be an option on that menu)
- move all the stuff off F: to somewhere else
- delete F:
- right-click C: and select "expand volume"
- select what space you want to add (it will default to adding all the currently free space, i.e. the space that was taken up by F: until recently)
If you want to keep F: but just make it smaller then alter the above a little:
- in step 6 just select some of the space that is now free instead of all of it
- add step 7: recreate F: using the free space that is left and move the files that you moved off F: in step 3 back onto this new F: partition
This technique has the advantage of not using any 3rd party tools as it is all built into Windows - while gparted is a very reliable tool generally I have experienced trouble with Windows not liking having had its system volume resized (I've had it work fine, but sometimes Windows won't boot afterwards despite the filesystem being valid as other Windows installs can read from the partition without issue).
Of course the disadvantage of this method is that by converting to a "dynamic disk" you potentially lose compatibility with other software you might want to use in future. Installing Linux on the same drive for dual-booting is one thing that won't work (see Ubuntu 9.10+Win7 dual boot, dynamic disks... for instance). Also, dynamic disks are not available in the "home" editions of Windows (well, the feature isn't present under XP Home - that may have changed in Vista or 7), and by having one volume spread between two ends of your drive (rather than one continuous block) things will be a little less deficienct as the drive heads will be moving further then they otherwise would at times.
One last point: if you add an extra disk, also set as a dynamic disk, you can extend C: onto the space on that instead of resizing existing partitions (in fact you could expand all your partitions into space on the second drive if you wanted). This is not generally recommended though as it is just a JBOD arrangement so you get all the problems of RAID0 (if one drive dies, all your C: is likely to be lost) without the speed improvement it can offer.
Oh, and a final last point: even though this is almost certainly a safe operation, it is still a good idea to make sure your backups are up-to-date before proceeding if only for the sake of healthy paranoia, because if something does go wrong it could badly corrupt the entire filesystem you are working on.