The C++ course is an Into, so probably no prerequisites.
C++ is a superset of C. While you learn C++, you'll also learn the basics of C.
C++ is object oriented, C isn't. So C++ is a closer fit to Objective C than pure C would be.
I would go with the C++ but that is my opion.
As far as compilers I wont link you to any but google for them.
GCC is a free, open source, high quality, compiler. You can get it with cygwin.
Microsoft makes a C compiler that comes with Visual Studio, which is Microsoft's integrated development environment. You can download the "Express" edition of Visual C++ to give it a try.
Also, Intel makes a good compiler.
Hope this helps some