It depends on the programs you write. Are you going to write console programs or windowed programs? If the former then it is pretty easy. With the latter you need to take steps to make a clear line between your Windows/X-Windows interface and the back end code that does all the processing.
I generally find that little or no changes were needed for console based programs I wrote for my college classes. But in the real world I now write Windows VC++ programs that I know would be a pain in the butt to port to Linux or any other OS.
There are a few exceptions. With glut (An OpenGL toolkit) I could write fully interactive OpenGL app that would compile on any platform with glut libraries. I know for a fact that my TA for CPSC 441 at Texas A&M (which is where I assume you are going considering your location) graded our assignments on linux and I wrote them using VC++ .NET.