Baixe o app para aproveitar ainda mais
Prévia do material em texto
A l inguagem C MRibeiro 6 2. A linguagem C Características que tornaram o C uma das mais populares linguagens de programação: ü Pequeno tamanho da sua definição ü Subdivisão do código e grande utilização de funções ü Alguma conversão automática entre tipos de dados (ao contrário do Pascal) ü Linguagem estruturada ü Disponibilidade de operadores para programação de baixo nível ü Utilização fácil e extensa de ponteiros para aceder memória, vectores, estruturas e funções A l inguagem C MRibeiro 7 Algumas razões que tornaram o C uma das linguagens predilectas dos programadores profissionais: ü A possibilidade de usar construções de alto nível ü A possibilidade de utilizar operadores de baixo nível ü A produção de código executável eficiente ü A disponibilidade de compiladores em praticamente todos os sistemas de computação Neste momento todos os compiladores seguem o standard internacional conhecido por ANSI C (American National Standards Institute). A l inguagem C MRibeiro 8 Marcos históricos ü 1969 - Desenvolvimento do UNIX (num PDP 7 em linguagem Assembly) ü 1969 - Desenvolvimento da linguagem BCPL, próxima do Assembly ü 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 edição do livro The C Programming Language, Kernighan & Ritchie ü 1983-1988 - Definição do ANSI C A l inguagem C MRibeiro 9 Ciclo de Desenvolvimento de um Programa Primeiro.c Primeiro.obj Primeiro.exe Compilador Linker Editor Código fonte Código objecto Executável Pré-processador Bibliotecas externas A l inguagem C MRibeiro 10 Estados de desenvolvimento de um programa em C § Criação (edição do código fonte) § Compilação (tradução para código executável) § Execução do código Criação do programa (edição do código fonte) ü Usa-se um editor de texto genérico ou específico do ambiente de desenvolvimento ü Em geral, os ficheiros deverão ter a extensão .c, para poderem ser reconhecidos automaticamente pelo compilador como sendo ficheiros contendo código fonte em C ü O conteúdo dos ficheiros deverá verificar rigorosamente a sintaxe da linguagem C A l inguagem C MRibeiro 11 Compilação ü Processo desempenhado pelo compilador ü Permite verificar se o código fonte está correctamente escrito (sintaxe) ü Caso existam incorrecções, é criada e apresentada uma lista de: § Erros: quando existem erros de sintaxe § Warnings (avisos): quando são detectadas situações suspeitas ü Se existirem erros de sintaxe no código fonte, o compilador detecta-los-á e indicará a sua localização junto com uma breve descrição do erro ü Erros na lógica do programa apenas poderão ser detectados durante a execução do mesmo ü Se o programa não contiver erros de sintaxe o compilador produzirá código executável A l inguagem C MRibeiro 12 Execução ü Se a operação anterior tiver sucesso, a execução 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 compilação) ü Durante a execução podem tornar-se evidentes mais alguns erros: § erros de execução (p. ex. divisão por zero) § ou erros que levem a que o programa não se comporte como esperado ü Neste caso é necessário: § voltar à edição do programa fonte para corrigir a sua lógica § e depois efectuar também uma nova compilação para produzir a nova versão do código executável A l inguagem C MRibeiro 13 Pré-processador ü O pré-processador prepara o código fonte para ser compilado pelo compilador, modificando-o ü Algumas das suas funções são: § remover os comentários de um programa; § interpretar directivas especiais a si dirigidas, que começam pelo carácter # . Exemplo § #inc lude - insere o conteúdo de um ficheiro de texto no ficheiro corrente. Esses ficheiros são usualmente designados por cabeçalhos (header files) e têm a extensão .h: #inc lude <std io.h> -- Insere o conteúdo do ficheiro stdio.h com a declaração das funções standard de entrada/saída da biblioteca standard § #def ine - define um nome simbólico cujas ocorrências no ficheiro serão substituídas por outro nome ou constante: #def ine MAX_ARRAY_SIZE 100 - substitui todas as ocorrências de MAX_ARRAY_SIZE por 100 A l inguagem C MRibeiro 14 Bibliotecas ü A linguagem C é muito compacta ü Muitas das funções que fazem parte de outras linguagens não estão directamente incluídas na linguagem C ü Temos como exemplo as operações de entrada/saída, a manipulação de strings e certas operações matemáticas ü A funcionalidade correspondente a estas e outras operações não faz parte integrante da linguagem, mas está incluída numa biblioteca externa, bastante rica e standard ü Todas essas operações são executadas por via da invocação de funções externas definidas nessa biblioteca standard ü Qualquer programador poderá desenvolver a sua própria biblioteca de funções, podendo até substituir algumas das funções standard, e também utilizar outras bibliotecas comerciais já existentes (p. ex. NAG, PHIGS, etc). A l inguagem C MRibeiro 15 Programas em C Os progr amas O programa Mínimo O mais curto programa em C que é possível escrever é o seguinte: main ( ) { } ü Todo o programa em C deverá conter uma e só uma função main() A l inguagem C MRibeiro 16 ü As chavetas { e } agrupam instruções ü É possível colocar comentários em qualquer posição de um programa em C ü Um comentário é qualquer texto delimitado pelos caracteres / * e * / Exemplo / * O meu pr ime i ro p rograma em C * / ma in ( ) { / * Ou t ro comentá r io * / } A l inguagem C MRibeiro 17 ü Os comentários não podem ser imbricados Exemplo main ( ) { /* Comentário /* Mais um comentário ilegal*/ */ } Um programa mínimo mais útil #inc lude <std io .h> #include <conio.h> ma in ( ) { pr int f ("Ola Mundo! \ n"); getch() ; } Este programa produz uma saída, escrevendo “Olá Mundo” no écran. pr in t f é uma função que existe na biblioteca standard “stdio”da linguagem C
Compartilhar