C compiler for ARM is free. Only professionals (as I am) buy IAR or Keil, due to tight integration.
For windows, Free Microsoft Visual Studio Community edition paired with "Visual Micro". Excellent. Uses GCC the popular compiler for many CPUs including ARM.
Of course, Arduino's programming is done in C and/or C++.
Mikroe's C compiler lacks C++ and is silly and buggy. Avoid.
Chat this up on http://www.stm32duino.com/
Everything ARM and LPC