Lenguaje C es un lenguaje compilado. Un lenguaje compilado es aquel que para ejecutarse debe ser procesado por un “compilador” que convierte el código fuente del programa en un objeto ejecutable (en código binario, código máquina) que contiene todo lo que necesita (funciones de las librerias, funciones propias, recursos gráficos, etc) para hacer lo que debe hacer, pero no más que eso.
A diferencia de los lenguajes de tipo script que son interpretados, pero que no generan objetos ejecutables, y cuyas pocas restricciones por defecto para programar (en su mayoría, como php, javascript) lo hacen generalmente un código poco eficiente. Excepto si usas bundlers y entornos modernos de desarrollo avanzado, claro.