Learn C programming before start learning Microcontroller/Embedded Systems
By definition of "mandatory", of course not. How advantageous it would be very much has to do with what your personal goals are.   I suggest that many people who work with microcontrollers work in C, many of the libraries and drivers you can track down will be in C, and many of the discussions you'll find or take part in when you need a bit of help will be in C.  For me, that's enough of a reason right there, before any considerations of C vs assembler vs any other language can even start up.  If you don't embrace C at least a little, you're cutting yourself off from many resources.