Ling C
Ai pessoal dei uma rápida pesquisada achei uns texto bem legais e fácil de entender o que a linguagem C, mais isso é só um rascunho.
Apresentação
C é uma linguagem imperativa e procedural, para implementação de sistemas. Seus pontos de design foram para ele ser compilado, fornecendo acesso de baixo nível à memória e baixos requerimentos do hardware. Também foi desenvolvido para ser uma linguagem de alto nível, para maior reaproveitamento do código. C foi útil para muitas aplicações que foram codificadas originalmente em Assembly.
(esse paragrafo abaixo responde a questão da aplicação e acredito que os aspectos também).
Essa propriedade não foi acidental; a linguagem C foi criada com o objetivo principal em mente: facilitar a criação de programas extensos com menos erros, recorrendo ao paradigma da programação procedural, mas sobrecarregando menos o autor do compilador, cujo trabalho complica-se ao ter de realizar as características complexas da linguagem. Para este fim, a linguagem C possui as seguintes características:
Uma linguagem extremamente simples, com funcionalidades não-essenciais, tais como funções matemáticas ou manuseamento de ficheiros (arquivos), fornecida por um conjunto de bibliotecas de rotinas padronizada
A focalização no paradigma de programação procedural
Um sistema de tipos simples que evita várias operações que não fazem sentido
Uso de uma linguagem de pré-processamento, o pré-processador de C, para tarefas tais como a definição de macros e a inclusão de múltiplos ficheiros de código fonte
Ponteiros dão maior flexibilidade à linguagem
Acesso de baixo-nível, através de inclusões de código Assembly no meio do programa C
Parâmetros que são sempre passados por valor para as funções e nunca por referência (É possível simular a passagem por referência com o uso de ponteiros)
Definição do alcance lexical de variáveis
Estruturas de variáveis, (structs), que permitem que dados relacionados sejam combinados e