What language do microcontrollers use apart from C?
Chips do not directly use C at all. They have instruction sets that vary greatly between different architectures. 

As a very low level abstraction of these instruction sets, most manufacturers provide an assembler, through which you can translate programs written in the relevant assembly language (which is roughly a more human-readable form of the machine instructions) into binary form that you can upload to your chip.

At the next higher level, there are languages like C. C is by far the most dominant language for microcontroller programming at this level. For some architectures, you will also find the odd Pascal, BASIC or maybe Fortran compiler.

In theory, the only thing that you need to use a given language on a given architecture is a suitable compiler (although some, like Java, C#, etc usually depend on runtime environments, and these are prohibitively resource-hungry for most uCs). In practice, there aren't that many compilers available.