Do I really have to use Eclipse/CodeBlocks?

No. In fact I highly encourage my students to at least explore using a basic text editor to write their lab assignments. IDE's like Eclipse and CodeBlocks tend to obscure the actual methods by which programs are written, compiled and run. In addition, as in most things in life, simplicity is golden. Especially for the small programs we will be writing, a program that 'gets out of the way' and lets you code quickly is best. See here for some links to the editor and tools I use.

Windows or Linux?

It depends. For the work we do in lab, it's really personal preference. Having said that, learning and becoming familiar with Linux can only broaden your career possibilities. For me, the decision is easy; I greatly prefer Linux for most tasks, although Windows maintains an edge in some scenarios (software compatibility and Active Directory come to mind). If you're considering Linux for the first time, take a peek at Mint. It's user interface is similar to Windows, and it's based on the most broadly supported distribution.