Microcontrollers don't understand assembly. They understand binary - 0s and 1s.
The assembly language code is converted to a HEX file by the assembler. The C language code is converted to a HEX file by the compiler. According to the HEX file, the programmer programs the microcontroller to save in its program memory data in binary - in 0s and 1s.
Tahmid, may I ask.... What compiler do you prefer to use for the C language when working with PIC microcontrollers?
I have been using Hi-Tech C and have found it to be quite handy, but sometimes I wonder if maybe there are more libraries/resources available for other compilers, particularly CCS and mikroC.
I prefer mikroC. However since you're using Hi-Tech C and find it handy, stick with it. You can get additional library routines/functions from the internet and can always write them yourself. For example, check here: https://www.microchipc.com/sourcecode/