C
Referência : Ribeiro, P. (2012), WikiCiências, 3(06):0622
Autor: Pedro Ribeiro
Editor: Fernando Manuel Augusto Silva
A linguagem de programação C segue o paradigma de Programação Imperativa e foi desenvolvida entre 1969 e 1973 por Dennis Ritchie. O C é uma das linguagens de programação mais populares de sempre [1] e existem compiladores disponíveis para quase todas as arquitecturas de computador.
Índice |
Breve História
O C foi inicialmente pensado para o desenvolvimento de sistemas de operação, nomeadamente Unix. Dado o facto de possuir tantos compiladores, é também usado frequentemente para o desenvolvimento de aplicações portáveis, possíveis de serem compiladas em diferentes arquitecturas.
O desenvolvimento inicial do C ocorreu entre 1969 e 1973 nos AT&T Bell Labs, por intermédio do cientista de computadores Dennis Ritchie. O seu nome deve-se facto de ter sido derivada de uma linguagem de programação mais antiga chamada B. Em 1978 D. Ritchie e B. Kernighan publicaram a primeira versão do livro do livro "The C Programming Language", que viria a tornar-se a referência da linguagem e durante muitos anos foi usado como o texto de especificação da linguagem. A segunda edição do livro [2], de 1988, cobre uma versão mais actualizada de ANSI C, uma norma que foi obtida através de um grupo de trabalho mais alargado. A versão mais actual de C data de 2011 e é conhecida como C11 [3]. O compilador mais conhecido e usado é o GCC [4].
Em termos de linguagens baseadas em C, entre muitos outros casos, a linguagem de programação C++ surgiu como sendo uma espécie de extensão suportando a Programação Orientada a Objectos. A linguagem de programação C# teve forte inspiração no C. A linguagem de programação D [5] apareceu também como uma possível evolução da linguagem C++.
Exemplos de Código Fonte
O programa seguinte, escrito corretamente segundo a norma C11, escreve "Ola Mundo" para a saída padrão (standard output):
#include <stdio.h> int main() { printf("Ola Mundo\n"); return 0; }
O extrato de código fonte seguinte, escrito corretamente segundo a norma C11, corresponde a uma função iterativa que, dado um número inteiro positivo n, retorna o somatório dos números entre 1 e n, isto é, \(soma(n) = \sum_{k=1}^n k = 1 + 2 + \ldots + (n-1) + n\).
int soma(int n) { int i, resultado = 0; for (i=1; i<=n; i++) resultado += i; return resultado; }
Uma versão recursiva da mesma função podia ser escrita do seguinte modo em C:
int soma(int n) { if (n == 1) return 1; else return n + soma(n-1); }
Referências
- Página Web: http://www.langpop.com/ Acedida a 29/05/2012. (em inglês)
- http://cm.bell-labs.com/cm/cs/cbook/ Brian W. Kernighan and Dennis M. Ritchie. The C Programming Language, Second Edition. Prentice Hall, Inc., 1988.
- Página Web: http://www.open-std.org/jtc1/sc22/wg14/ Grupo de trabalho para a versão padrão de C. Acedida a 29/05/2012. (em inglês)
- Página Web:http://gcc.gnu.org/ GCC, the GNU Compiler Collection. Acedido a 29/05/2012. (em inglês)
- Página Web: http://www.d-programming-language.org/ D Programming Language. Acedida a 29/05/2012.
Saber Mais
- Página Web: http://www.dcc.fc.up.pt/~apt/aulas/IP/1112/T_TP.html Apontamentos de uma unidade curricular de introdução à programação que usa C. DCC/FCUP. Acedida a 29/05/2012.
- Página Web: http://ctp.di.fct.unl.pt/fct/ipb/ Apontamentos de uma unidade curricular de introdução à programação que usa C. DI/UNL. Acedida a 29/05/2012.
- http://syque.com/cstyle/ David Straker. C Style: Standards and Guidelines. Prentice Hall, Inc. 2001.
Criada em 29 de Maio de 2012
Revista em 30 de Maio de 2012
Aceite pelo editor em 01 de Junho de 2012