Emacs supports C programming well by default since Emacs and many parts of the GNU system are written in C. “GNU’s not Unix”, after all. See TheGnuProject.
For programming in C with Emacs use CcMode.
For indenting C, see IndentingC.
For an integrated environment with advanced features use CEDET.