Você está na página 1de 6

A linguagem C

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

Ciclo de Desenvolvimento de um Programa

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

1983-1988 - Definio do ANSI C

Bibliotecas externas Executvel

Primeiro.exe

MRibeiro

MRibeiro

A linguagem C

A linguagem C

Estados de desenvolvimento de um programa em C


Criao (edio do cdigo fonte) Compilao (traduo para cdigo executvel) Execuo do cdigo

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

Warnings (avisos): quando so detectadas situaes suspeitas

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:

Neste caso necessrio:


voltar edio do programa fonte para corrigir a sua lgica e depois efectuar tambm uma nova compilao para produzir a nova verso do cdigo executvel

# 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:

# d e f i n e M A X _ A R R A Y _ S I Z E 1 0 0 - substitui todas as ocorrncias de MAX_ARRAY_SIZE por 100

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).

Programas em C Os progr amas

O programa Mnimo
O mais curto programa em C que possvel escrever o seguinte:

main( ) { }

Todo o programa em C dever conter uma e s uma funo 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 * /

Os comentrios no podem ser imbricados Exemplo


main() { /* Comentrio /* Mais um comentrio ilegal*/ */

Exemplo
/* O meu primeiro programa em C */ main() { /* Outro comentrio */ }

Um programa mnimo mais til


#include <stdio.h> #include <conio.h> main() { printf("Ola Mundo! \ n"); getch(); }

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

Você também pode gostar