I agree with others who say that 40Gb is considered very small these days. That said, a very lean install (just the bare essentials) on a 10Gb should be workable.
You can reduce the size of your recycle bin to squeeze out a little extra space. You could also disable System Restore if you don't think it is useful. E.g. if you use a different program, such as Paragon Drive Image to restore your partition in case of 'disaster'.
Windows still needs a fair bit of head room to work efficiently.
For example, your paging file (swap file -- pagefile.sys) takes a fair chunk of disk space.
If hibernation is enabled, it will create a file called hibernate.sys that is approximately equal to the amount of RAM in your computer.
If you don't care about hibernation, you could disable it.
With such a small amount of head-room, changing the settings of your programs to redirect temporary files to another partition may be essential to get them to work properly. Especially things like DVD burning software and others that create large files, such as Windows Movie Maker.
Having said all that, I too am curious why there is only 2Gig left on your C partition.
Could you give us some more info to work on? E.g. which OS, how much RAM.
And perhaps open Command Prompt and type:
chkdsk c:\ > c:\test1.txt
It is the DOS command that does a bit of testing for orphan files, lost clusters, etc and reports problems with the file system (if any) bad clusters, disk size, used space etc.
The 'greater than' sign redirects the output to a file -- in this case named test1.txt and located in the root folder of your C partition.
After it is finished with the test (you'll hear some major disk activity during the test), open the file test1.txt and see if it reveals what's eating your disk space.
Could you copy/paste the important stuff here as additional information? It may help people to analyze what's going on.