Algoritmo
O desenvolvimento inicial de C ocorreu no AT&T Bell Labs entre 1969 e 1973, de acordo com Dennis Ritchie, o período mais criativo ocorreu em 1972. A linguagem foi chamada "C", porque suas características foram obtidas a partir de uma linguagem anteriormente chamado de " B", segundo a Ken Thompson era versão reduzida da linguagem de programação BCPL. No entanto espalhou-se por muitos outros sistemas operativos, tornando-se uma das linguagens de programação mais usadas.
C é uma linguagem imperativa e procedural, para implementação de sistemas. Seus popontos 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.
Essa propriedade não foi acidental; a linguagem C foi criada com o objectivo 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