Вы находитесь на странице: 1из 17

Linguagem de Programao C: uma introduo

Prof Viviane Todt


vivianetodt@unisinos.br

UNISINOS

ROTEIRO

Histrico Caractersticas Vantagens Compilao x Interpretao Normas de um bom programa em C

Histrico

Desenvolvida por Denis Ritchie


Parte do conjunto de ferramentas desenvolvidas para o sistema operacional UNIX (Denis Ritchie + Ken Tompson)

Busca por uma linguagem de propsito geral que permitisse ao programador explorar melhor os recursos da mquina (filosofia da linguagem BCPL)

Histrico

1979: linguagem B (Tompson) Simplificao da linguagem BCPL. Primeira verso do sistema UNIX
B + BCPL: generalista demais, pouco prtica, sem tipo de dados C: propsito geral, facilidades para acessar todos os recursos da mquina, sem perder as caractersticas de uma linguagem de alto nvel

Caractersticas

Conjunto bsico de tipos elementares de dados (int, char, float, double) Hierarquia de tipos de dados derivados criados com apontadores: arranjos, estruturas, unies, funes
Instrues fundamentais para programao estruturada: tomada de deciso, laos de controle e seleo

Caractersticas

Apontadores e aritmtica de endereos


Parmetros de funes so passados por valor. A passagem por referncia ocorre ao passar um apontador por valor como referncia ao objeto desejado Todas as funes podem ser chamadas recursivamente e suas variveis so do tipo automtica (criadas durante a chamada da funo e destrudas quando essa acaba)

Caractersticas

NO possui verificaes no que se refere aos tipos de dados e ndices de arrays (responsabilidade do programador)

Pequeno nmero de comandos


Propicia a criao de biblioteca de funes Portabilidade: um programa escrito para um tipo de computador pode ser adaptado para outro (recompilado para outro computador. Ex.: APPLE II -> IBM/PC)

Utilizao de C: programao de sistemas


Sistemas Operacionais Gerenciador de impresso Compiladores Editores de texto Bancos de dados

Vantagens

A codificao em C obtida com maior rapidez do que a codificao em Assembly (rdua)


Rapidez de processamento dos programas

Permite manipular bits, bytes e endereos de memria do computador. O programador pode acessar diretamente as funes de E/S

Linguagens de Programao
Alto nvel
ADA BASIC COBOL FORTRAN PASCAL

Nvel mdio Baixo nvel


C FORTH ASSEMBLY

Compilao x Interpretao

Refere-se maneira como o programa executado Programas sofisticados que operam sobre o cdigo-fonte do programa. Cdigo-fonte o texto do programa que voc escreve.

.CPP (fonte) .OBJ (cdigo-objeto, cod. mquina, binrio) .EXE (aps link)

Interpretao x Compilao

Interpretador
L o cdigo-fonte do programa uma linha por vez e executa as instrues contidas nessa linha. NO cria cdigoobjeto Ex.: BASIC (geral)

Compilador
L o programa inteiro e converte-o em cdigo-objeto, que consiste em uma traduo do cdigofonte em uma forma que pode ser diretamente executada pelo computador Ex.: C

Interpretao x Compilao

Programas compilados so executados mais rapidamente Porm, o processo de compilao em si leva muito mais tempo Os compiladores protegem o cdigo-fonte contra roubo e alteraes no autorizadas (o cdigo compilado no tem semelhana com o cdigo-fonte)

Interpretao x Compilao

O interpretador deve estar presente sempre que o programa executado

TEMPO DE COMPILAO: refere-se aos eventos que ocorrem durante o processo de compilao (erros de sintaxe). TEMPO DE PROCESSAMENTO: refere-se aos eventos que ocorrem enquanto o programa est sendo executado (raiz quadrada de nmero negativo)

Compilao x Interpretao
BASIC C FORTRAN ALGOL PASCAL CLIPPER

LISP APL BASIC VISUAL BASIC PROLOG PERL

Normas para um bom programa em C

Cada funo executa uma NICA tarefa

Uma funo bem escrita geralmente NO maior do que uma pgina O uso de constantes e nomes significativos aconselhado Usar identao (recuos) para maior clareza do cdigo-fonte