The first C compiler was a modified B compiler, written in B. See:
http://cm.bell-labs.com/who/dmr/chist.html
The B compiler was originally written in PDP-7 assembler language, using a custom cross-assembler running on a GE machine, and then "bootstrapped" by rewriting it in B. That's one of the two primary strategies for getting a compiler started. First, write a minimal version of the compiler in assembler, and debug to produce...
Compiler 1: Written in assembler.
Then write rewrite the compiler in the subset of itself supported by Compiler 1. Compile that to produce...
Compiler 2: Written in the target language, Compiled by Compiler 1.
Finally, use compiler 2 to compile it's own source. The result is:
Compiler 3: Written in the target language, compiled by "itself".
If all was done right, compilers 2 and 3 should be identical. This process is called "bootstrapping". C was written in B, then bootstrapped into C written in C.