If you are using windows here are a few options as far as C compilers:
Free:
1. Download cygwin and in the installer choose to install gcc as well. This will install the cygwin prompt on your desktop and you use gcc to compile your progams within this environment.
2. If you want an IDE download Eclipse with the CDT plugin. It requires cygwin or the reduced software package MinGW.
Non-free / Trial:
1. Get Microsoft Visual Studio in any version. I think Visual Studio express is free to download.
You should try several compilers, debuggers, and IDEs. As a professional you wont always be using the same development environment.
My favorite C book is "A Book on C" by Al Kelley and Ira Pohl. Its not as cryptic as many other good C books and its not stone age either.
C is a very unforgiving, basic language. C code can also be somewhat ambiguous and hard to understand. No, its not the best language to start with if you've never programmed before. That being said, It is one of my favorite programming languages even though it takes a long time to develop good applications with it. Its very satisfying. Its actually the first language I learned, but am still mastering. I got much more from C once I learned other languages and came back to it. Particularly, I had more interest in C once I learned x86 assembly language.
In terms of difficulty though, out of all the computer science classes I've taken C was rather easy because we weren't expected to do much with it. A higher level software engineering class in any language where you have to deal with mountains of code is much more frustrating.
Theres a reason why they want EE students to learn C is because its a very common language for programming micro-controllers and embedded systems. Relax though, they wont expect you to master it to any extent as long as you complete the coursework. If you want to learn C at your own leisure you should just focus on basic system level applications. Good exercises: make a program that copies files 100% in tact without using system commands, figure out how to print variables in binary, and understand how to use logical operators in general.
I hope that helps.