Escolar Documentos
Profissional Documentos
Cultura Documentos
A linguagem C
2. A linguagem C
Caractersticas que tornaram o C uma das mais populares linguagens de programao:
Pequeno tamanho da sua definio Subdiviso do cdigo e grande utilizao de funes Alguma converso automtica entre tipos de dados (ao contrrio do Pascal) Linguagem estruturada Disponibilidade de operadores para programao de baixo nvel Utilizao fcil e extensa de ponteiros para aceder memria, vectores, estruturas e funes
Algumas razes que tornaram o C uma das linguagens predilectas dos programadores profissionais:
A possibilidade de usar construes de alto nvel A possibilidade de utilizar operadores de baixo nvel A produo de cdigo executvel eficiente A disponibilidade de compiladores em praticamente todos os sistemas de computao
Neste momento todos os compiladores seguem o standard internacional conhecido por ANSI C ( merican National A Standards Institute).
MRibeiro
MRibeiro
A linguagem C
A linguagem C
Marcos histricos
1969 - Desenvolvimento do UNIX (num PDP 7 em linguagem Assembly) 1969 - Desenvolvimento da linguagem BCPL, prxima do Assembly
Editor
1970 - Desenvolvimento da linguagem B, sucessora da anterior (o B a 1 letra de BCPL) 1971 - Primeiro desenvolvimento da linguagem C, sucessora da anterior (o C a 2 letra de BCPL) 1973 - O sistema operativo UNIX reescrito em linguagem C 1978 - Primeira edio do livro The C Programming Language, Kernighan & Ritchie
Cdigo fonte
Pr-processador
Cdigo objecto
Primeiro.c
Compilador
Primeiro.obj
Linker
Primeiro.exe
MRibeiro
MRibeiro
A linguagem C
A linguagem C
Compilao Processo desempenhado pelo compilador Permite verificar se o cdigo fonte est correctamente escrito (sintaxe) Caso existam incorreces, criada e apresentada uma lista de:
Erros: quando existem erros de sintaxe
Criao do programa (edio do cdigo fonte) Us a-se um editor de texto genrico ou especfico do ambiente de desenvolvimento Em geral, os ficheiros devero ter a extenso .c, para poderem ser reconhecidos automaticamente pelo compilador como sendo ficheiros contendo cdigo fonte em C O contedo dos ficheiros dever verificar rigorosamente a sintaxe da linguagem C
Se existirem erros de sintaxe no cdigo fonte, o compilador detecta-los- e indicar a sua localizao junto com uma breve descrio do erro Erros na lgica do programa apenas podero ser detectados durante a execuo do mesmo Se o programa no contiver erros de sintaxe o compilador produzir cdigo executvel
MRibeiro
10
MRibeiro
11
A linguagem C
A linguagem C
Execuo Se a operao anterior tiver sucesso, a execuo do programa compilado produzido faz-se simplesmente invocando-o como se fosse um comando do sistema operativo (Exemplo: no programa j referido basta digitar primeiro, depois da compilao) Durante a execuo podem tornar-se evidentes mais alguns erros:
erros de execuo (p. ex. diviso por zero) ou erros que levem a que o programa no se comporte como esperado
P r - processador
O pr-processador prepara o cdigo fonte para ser compilado pelo compilador, modificando-o Algumas das suas funes so:
remover os comentrios de um programa; interpretar directivas especiais a si dirigidas, que comeam pelo carcter #.
Exemplo
# i n c l u d e - insere o contedo de um ficheiro de texto no ficheiro corrente. Esses ficheiros so usualmente designados por cabealhos (header files) e tm a extenso .h:
# i n c l u d e < s t d i o . h > -- Insere o contedo do ficheiro stdio.h com a declarao das funes standard de entrada/sada da biblioteca standard
# d e f i n e - define um nome simblico cujas ocorrncias no ficheiro sero substitudas por outro nome ou constante:
MRibeiro
12
MRibeiro
13
A linguagem C
A linguagem C
Bibliotecas
A linguagem C muito compacta Muitas das funes que fazem parte de outras linguagens no esto directamente includas na linguagem C Temos como exemplo as operaes de entrada/sada, a manipulao de strings e certas operaes matemticas A funcionalidade correspondente a estas e outras operaes no faz parte integrante da linguagem, mas est includa numa biblioteca externa, bastante rica e standard Todas essas operaes so executadas por via da invocao de funes externas definidas nessa biblioteca standard Qualquer programador poder desenvolver a sua prpria biblioteca de funes, podendo at substituir algumas das funes standard, e tambm utilizar outras bibliotecas comerciais j existentes (p. ex. NAG, PHIGS, etc).
O programa Mnimo
O mais curto programa em C que possvel escrever o seguinte:
main( ) { }
MRibeiro
14
MRibeiro
15
A linguagem C
A linguagem C
As chavetas { e } agrupam instrues possvel colocar comentrios em qualquer posio de um programa em C Um comentrio qualquer texto delimitado pelos caracteres / * e * /
Exemplo
/* O meu primeiro programa em C */ main() { /* Outro comentrio */ }
Este programa produz uma sada, escrevendo Ol Mundo no cran. p r i n t f uma funo que existe na biblioteca standard stdioda linguagem C
MRibeiro
16
MRibeiro
17