Is c knowledge necessary for 8051?

 This the simplest Microcontroller to start learning C programming on Embedded Systems. But you need not be a master in C. If you know few things like
                   Declaration, Assignment, Statements and Decision Making.
          Start with simple program. But practice every day.
Conclusion : Today's Embedded world C is necessary for 8051.

No. C knowledge is not necessary for 8051. 
However one needs to know assembly level programming for 8051 which is very tough as implementing your logic in assembly can be tricky sometimes.
Hence many people choose to write a c program in a compiler/assembler which converts the program to assembly/machine level code.
however efficiency is much more in assembly programs.


If you have any questions or droughts feel free to ask here.