Linguagem C
Dissertações: Linguagem C. Pesquise 862.000+ trabalhos acadêmicosPor: mfragoso • 11/11/2013 • 3.235 Palavras (13 Páginas) • 330 Visualizações
Disambig grey.svg Nota: Para outros significados, veja C (desambiguação).
C
Paradigma Programação estruturada
Programação imperativa
Programação procedural
Surgido em 1972
Última versão C11 (dezembro de 2011)
Criado por Dennis Ritchie
Estilo de tipagem: Estática, Fraco
Compiladores Borland C, GNU GCC, Microsoft Visual Studio, Turbo C, Watcom C, Tiny C Compiler
Dialetos: ANSI C, C99, C11, ISO C, K&R C
Influenciada por ALGOL 68, Assembly, B, BCPL, CPL, Fortran, PL/I
Influenciou AWK, BitC, C++, C♯, C Shell, D, Euphoria, Go, Java, JavaScript, Limbo, Logic Basic, Objective-C, Perl, PHP
Licença: Dependente de implementação
C é uma linguagem de programação compilada de propósito geral, estruturada, imperativa, procedural, padronizada pela ISO, criada em 1972, por Dennis Ritchie, no AT&T Bell Labs, para desenvolver o sistema operacional Unix (que foi originalmente escrito em Assembly).1
C é uma das linguagens de programação mais populares2 3 e existem poucas arquiteturas para as quais não existem compiladores para C. C tem influenciado muitas outras linguagens de programação,4 mais notavelmente C++, que originalmente começou como uma extensão para C.
Índice [esconder]
1 História
1.1 C K&R
1.2 ANSI C e ISO C
1.3 C99
1.4 C11
2 Visão geral
2.1 Tipos de dados
3 Relações com C++
4 Exemplos
4.1 Programa Olá Mundo
4.2 Matemática
4.3 Estruturas de dados
5 Baixo-nível
6 Ferramentas de programação
7 Ver também
8 Referências
9 Ligações externas
História[editar]
Ken Thompson e Dennis Ritchie (da esquerda para direita), os criadores das linguagens B e C, respectivamente.
O desenvolvimento inicial de C ocorreu no AT&T Bell Labs entre 1969 e 1973.5 de acordo com 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", que de acordo com a Ken Thompson era versão reduzida da linguagem de programação BCPL.6
A versão original PDP-11 do sistema Unix foi desenvolvido em assembly. Em1973, com a adição dos tipos struct, a linguagem C tornou-se poderosa o suficiente para que a maior parte do kernel do Unix fosse reescrito em C. Este foi um dos primeiros núcleos de sistemas operacionais implementadas em uma linguagem diferente da linguagem Assembly. Em 1977, foram feitas novas mudanças por Ritchie e Stephen C. Johnson para facilitar a portabilidade do sistema operacional Unix. O Portable C Compiler' de Johnson serviu de base para várias implementações de C em novas plataformas.7
C K&R[editar]
A linguagem C não teve sucesso imediato após sua criação e seu uso ficou restrito a alguns laboratórios mas em 1978 Brian Kerningham e Dennis Rithcie lançam o livro The C Programming Language.8 que serviu de tutorial e mudou a história da programação em C, de fato essa primeira versão da linguagem é conhecida como "C Kernigham e Ritchie" ou apenas "C K&R".9
Esse livro, conhecido pelos programadores de C como "K&R", serviu durante muitos anos como uma especificação informal da linguagem. A versão da linguagem C que ele descreve é usualmente referida como "K&R C". A segunda edição do livro cobriu o padrão posterior, o ANSI C. K&R C introduziu as seguintes características na linguagem:
Biblioteca padrão de E/S
Tipos de dado struct
Tipos de dado long int
Tipos de dado unsigned int
O operador =+ foi alterado para +=, e =- para -= (o analisador léxico do compilador fazia confusão entre i =+ 10 e i = +10. O mesmo acontecia com =-)
K&R C é frequentemente considerado a parte mais básica da linguagem, cujo suporte deve ser assegurado por um compilador C. Durante muitos anos, mesmo após a introdução do padrão ANSI C, K&R C foi considerado o "menor denominador comum", em que programadores de C se apoiavam quando uma portabilidade máxima era desejada, já que nem todos os compiladores eram actualizados o bastante para suportar o padrão ANSI C.
Nos anos que se seguiram à publicação do K&R C, algumas características "não-oficiais" foram adicionadas à linguagem, suportadas por compiladores da AT&T e de outros vendedores. Estas incluíam:
Funções void e tipos de dados void *
Funções que retornam tipos struct ou union
Campos de nome struct num espaço de nome separado para cada tipo struct
Atribuição a tipos de dados struct
Qualificadores const para criar um objecto só de leitura
Biblioteca padrão, que incorpora grande parte da funcionalidade implementada por vários vendedores
Enumerações
Cálculos de ponto-flutuante em precisão simples (no K&R C, os cálculos intermediários eram feitos sempre em double, porque era mais eficiente na máquina onde a primeira implementação do C foi feita)
NoFonti.svg
Este artigo ou se(c)ção cita uma ou mais fontes fiáveis e independentes, mas ela(s) não cobre(m) todo o texto (desde agosto de 2013).
Por favor, melhore este artigo providenciando mais fontes fiáveis e independentes e
...