hi any one reply why is c powerful language than others and also why we have to go for 'C' only for embeded systems most of the times
You chose a language to suit the application area and C (and C++) are suited for embedded applications due to
(1) one aim of C was to be able to implement machine independent code for applications which in the past required assembly language, e.g. operating systems such as UNIX
(2) pointers can be used to access memory mapped registers in I/O devices
(3) it has low-level operators similar to those in assembly languages and which can map directly into machine code operations, e.g. ++ -- and the bitwise operators & | ~ << >> etc which enable manipulation of bits (setting, clearing, shifting, etc)
(4) C has been around a long time and compilers are very efficient at optimizing code; often producing better code than many programs written in assembly language.
Assembly languages were not only machine dependent so code could not be ported across platforms but equivalent C code could be written in a much shorter time.
Assembly language still used for time critical area of applications. However, many modern processors are so complex (e.g. ARM 7, TMS320C6711, dsPIC) that they mainly programmed in C or C++