40
Introdução à Programação Introdução a Linguagem C Construções Básicas

IntroducaoC

Embed Size (px)

DESCRIPTION

C, language C

Citation preview

  • Introduo Programao

    Introduo a Linguagem C

    Construes Bsicas

  • 2Programa em C

    #include

    int main ( ) {

    float celsius ;

    float farenheit ;

    celsius = 30;

    farenheit = 9.0/5 *celsius + 32;

    printf (30 graus celsius = %f graus farenheit,farenheit);return 0;

    }

    #include

    floatfloat

    int main

    Palavras Reservadas

    E ainda expresses...

    celsiusfarenheit

    printf

    Identificadores criados pelo programador

    Identificadores criados por terceiros (chamadas

    de funes)

  • 3Tpicos da Aula

    Hoje aprenderemos a escrever um programa em C,para isto veremos

    Caractersticas da linguagem

    Estrutura de um programa

    Ciclo de construo de um programa em C

    Estruturas bsicas de uma linguagem de programao

    Identificadores,Variveis,Tipos de dados, Atribuio

    Conceito de funes

    Depois escreveremos um programa em um ambiente

    de programao

    Apresentao de um ambiente de programao

    Executando um programa

  • 4Linguagem C - Caractersticas

    Linguagem de programao de finalidadegeral criada por Dennis Ritchie em 1972

    Criada para desenvolver o sistema operacionalUnix

    Padronizada em 1989 pela ANSI

    Tornou-se muito popular

    Ela faz parte das linguagens denominadasimperativas

    Aes que o computador deve executar soespecificadas como comandos que alteram oestado da memria

  • 5Linguagem C - Caractersticas

    Combina o alto nvel com o baixo nvel,permitindo a manipulao direta de bits, bytese endereos de memria

    Possui fluxos de controle e estruturas dedados presentes na maioria das linguagensimperativas

    Agrupamento de comandos

    Tomadas de decises (if-else)

    Laos para permitir a repetio de comandos

  • 6Linguagem C - Caractersticas

    Possui apenas 32 palavras-chaves

    (reservadas)

    Permite economia de expresso e gera

    cdigos reduzidos

    Possibilita alocao dinmica de memria

    Permite estruturar o software em mdulos,

    arquivos fontes, bibliotecas

  • 7Linguagem C - Crticas

    D-se muita liberdade ao programador

    Programas ininteligveis, acesso direto

    memria

    No h verificao de tipos e nem de limites

    de arrays (veremos depois)Simplifica o projeto do compilador C

    Mensagens de erro muito vagas (limitao do

    compilador )

  • 8Estrutura de um Programa

    Em C, a construo fundamental a funo:Um programa constitudo de uma ou mais funes

    Uma destas funes deve ser a funo main

    O programa inicia sua execuo na funo main

    Mas, o que uma funo?

    um conjunto de instrues para realizar uma ou mais tarefas que so agrupadas em uma mesma

    unidade e que pode ser referenciada por um nome nico

  • 9Estrutura de um Programa

    Dentro de uma funo pode haver:Declaraes, expresses, chamadas de outras funes,comandos, etc

    Uma funo em C pode retornar algum valor, assim

    como acontece com funes matemticas

    Inteiro, real, caractere, etc

    Porm, uma funo no precisa necessariamente

    retornar um valor

    Quando no retorna um valor, dizemos que a funo do

    tipo void

  • 10

    Estrutura de um Programa

    funo 1

    int main ()

    {

    }

    Comandos,

    declaraes, chamada

    de funes, etc

    funo 2

    funo n

    return 0;

    .

    .

    .

    .

    .

    .

  • 11

    Exemplo de um Programa em C

    #include

    int main()

    {

    int resultado;

    resultado = 6 + 7;

    printf(%d,resultado);

    return 0 ;

    } Chamada de funo

    Expresso aritmtica

    Declarao de variavel

    Comando

  • 12

    Estrutura de uma Funo

    int multiplicacao (int p1, int p2)

    {

    int produto;

    produto = p1 * p2;

    return produto;

    }

    Assinatura da funo

    Corpo da

    funo

    Uma funo deve conter:Uma assinatura

    Um corpo

  • 13

    Estrutura de uma Funo

    int multiplicacao (int p1, int p2)

    {

    int produto;

    produto = p1 * p2;

    return produto;

    }

    Lista de parmetros

    Assinatura de uma funo deve informar:Tipo de valor retornado (se for o caso)

    Nome

    Lista de parmetros formais (se houver)

    Nome do parmetro e tipo do parmetro

    Tipo retornado Nome

    Parnteses

    obrigatrios

  • 14

    Estrutura de uma Funo

    int multiplicacao (int p1, int p2)

    {

    int produto;

    produto = p1 * p2;

    return produto;

    }

    Corpo da

    funo

    dentro das

    chaves { }

    Instrues devem ser separadas

    por ponto e vrgula (;)

    Corpo de uma funo contm:Instrues

    Declaraes, comandos, expresses, etc

    O comando return, caso o tipo de retorno seja diferente de

    void

  • 15

    Funes de Bibliotecas

    A linguagem C oferece um conjunto de funes j

    definidas que so organizadas em bibliotecas

    Programador pode utilizar (chamar) estas funes no programa

    Reduzem o tempo de desenvolvimento do programa

    Algumas das funes oferecidas permitem:

    realizar operaes de E/S

    manipulao de caracteres (strings)

    aplicaes matemticas, etc.

  • 16

    Funes de Bibliotecas

    Informaes sobre as funes de bibliotecas so

    encontradas em vrios arquivos

    header files ou arquivos com extenso .h

    Para usar estas bibliotecas, o programa deve indicar os

    nomes dos arquivos que as contm

    Estas bibliotecas so adicionadas ao programa usando

    a diretiva de pr-processamento # include

    Por exemplo: # include < stdio.h >

    No possui ponto_e_vrgula ( ; )

    stdio.h uma biblioteca que contm funes de

    entrada/sada, tal como a funo printf que permite

    mostrar alguma mensagem no monitor

  • 17

    Outro Exemplo de Programa em C

    #include

    int multiplicacao (int p1, int p2)

    {

    int produto;

    produto = p1 * p2;

    return produto;

    }

    int main ( )

    {

    int resultado;

    resultado = multiplicacao(6,7);

    printf(6 vezes 7 eh %d,resultado);return 0 ;

    }

    Inclui a biblioteca stdio

    Chama funo da biblioteca stdio

    Chama a funo multiplicacao

    Argumentos da

    funo

  • 18

    Diretivas de Pr-Processamento

    O pr-processador um programa que examina o

    programa fonte em C e executa certas modificaes

    com base em instrues chamadas de diretivas

    Exemplos: include, define, etc

    Uma diretiva deve vir precedida de #

    Deve ser escrita em uma nica linha

    Se passar de uma linha deve-se usar a barra invertida (\) ao

    final da linha e contiunuar na seguinte

    Diretivas no fazem parte da linguagem C

    Servem para auxiliar o desenvolvimento do programa fonte

  • 19

    Exemplo da Diretiva include

    #include

    int multiplicacao (int p1, int p2)

    {

    int produto;

    produto = p1 * p2;

    return produto;

    }

    int main ( )

    {

    int resultado;

    resultado = multiplicacao(6,7);

    printf(6 vezes 7 eh %d,resultado);return 0 ;

    }

    Inclui a biblioteca stdio

    Chama funo da biblioteca stdio

  • 20

    Variveis

    Programas manipulam dados (valores) e

    esses dados so armazenados em variveis

    Uma varivel uma posio na memria

    referenciada por um identificador (nome)

    Uma varivel deve ser declarada informando

    o tipo de dado que ela armazenar e o nome

    dela

    int total;

    int count, temp, result;

    Muitas variveis podem ser criadas em uma declarao

    tipo nome

  • 21

    Variveis

    Uma declarao de varivel instrui o

    compilador:

    a reservar um espao de memria suficiente para

    armazenar o tipo de dado declarado

    o nome ao qual iremos referenciar esta posio

    de memria

    S aps a declarao da varivel, que esta

    pode ser referenciada (utilizada)

    Quando uma varivel referenciada no

    programa, o valor armazenado nela

    utilizado

  • 22

    Variveis

    Onde se declara variveis?

    No corpo de uma funo (varivel local)

    Recomenda-se que as declaraes de

    variveis sejam as primeiras instrues da

    funo

    Na lista de parmetros de funes

    Parmetros formais

    Fora das funes (varivel global)

  • 23

    Declarao de Variveis

    #include

    int resultado;

    int multiplicacao (int p1, int p2)

    {

    int produto;

    produto = p1 * p2;

    return produto;

    }

    int main () {

    resultado = multiplicacao(6,7);

    printf(6 vezes 7 eh %d,resultado);return 0 ;

    }

    Declarao de variveis nos

    parmetros formais

    Declarao de varivel local

    Declarao de

    varivel global

  • 24

    Atribuio

    Um comando de atribuio modifica o valor

    armazenado na varivel

    O operador de atribuio o sinal de =

    total = 55;

    total = 65;

    Varivel total armazena valor 55

    Valor 65 sobrescreve o

    valor armazenado antes

    S se deve atribuir a uma varivel valores compatveis com o tipo

    declarado da varivel

    int total;

  • 25

    Inicializao de Variveis

    Uma varivel pode ser inicializada com o comando

    de atribuio na hora de sua declarao

    int total = 55; Inicializa total com valor 55

    Declara varivel total do tipo int

    Em C, variveis locais no so inicializadas automaticamente

  • 26

    Constantes

    Uma constante um identificador semelhante a

    uma varivel, exceto pelo fato de s poder

    armazenar o mesmo valor durante toda sua

    existncia

    Uma constante declarada usando a palavra

    reservada const

    Deve-se inicializar a constante no ato da sua

    declarao

    const float PI = 3.1416;

    PI = 3.141618; Esse comando gera um

    erro de compilao

    No se pode mudar o valor de uma constante

  • 27

    Constantes

    So teis para dar um significado mais

    compreensvel a determinados valores

    Exemplo : PI mais compreensvel que o valor 3,1416

    Facilitam a manuteno do programa

    Caso uma alterao no programa seja necessria que

    acarrete uma mudana no valor da constante e esta

    constante seja referenciada em vrios lugares do programa,

    s precisamos alterar o programa em um lugar

    Explicitam formalmente que um determinado valor

    no pode ser alterado

    Evitam erros de outros programadores

  • 28

    Constantes

    comum utilizar-se tambm a diretiva de pr-

    processamento define para definir constantes

    #define PI 3.1416

    int main() {

    float raio = 5;

    float area = PI*raio*raio;

    float comp = 2*PI*raio;

    return 0;

    }

    int main() {

    float raio = 5;

    float area = 3.1416*raio*raio;

    float comp = 2*3.1416*raio;

    return 0;

    }

    No pr-processamento, ocorre

    a substituio

  • 29

    Linguagem C - Tipos de Dados

    Cada dado possui associado a ele um tipo e pode

    possuir um qualificador

    C possui 5 tipos bsicos de dado

    char: tipo caractere (tamanho de um byte)

    int: tipo inteiro (nmeros sem parte decimal)

    float: tipo ponto flutuante de preciso simples

    double: tipo ponto flutuante de preciso dupla

    void: no possui valor

    Mais utilizado para indicar que uma funo no retorna

    nenhum valor

    Qualificadores: short, long, unsigned, signed

    Precedem o tipo na declarao do tipo

    Ex: unsigned int valor ;

  • 30

    Tipo Tamanho Representatividade

    char 1 byte -128 a 127

    unsigned char 1 byte 0 a 255

    short int 2 bytes -32768 a 32767

    unsigned short int 2 bytes 0 a 65535

    long int (ou int) em

    ambientes de 32 bits

    4 bytes -2147483648 a

    2147483647

    unsigned long int 4 bytes 0 a 4294967295

    Linguagem C - Tipos de Dados

    O tipo de dado define o tamanho do dado e a formade armazenamento

    Valores Inteiros e suas Representatividades

  • 31

    Tipo Tamanho Representatividade

    float 4 bytes 3.4 X10-38 a 3.4 X1038

    double 8 bytes 1.7 X 10-308 a 1.7X10308

    long double 10 bytes 3.4 X 10-4932 a 3.4X104932

    Valores Reais e suas Representatividades

    Linguagem C - Tipos de Dados

  • 32

    Tipos de Dados Numricos

    Nmeros com e sem sinal

    C permite que o programador defina se uma

    varivel de tipo numrico deva ou no reservar o

    bit de sinal (nmeros negativos)

    Notao

    signed tipo

    unsigned tipo

    Se nenhum modificador for indicado, o compilador

    C reservar o bit de sinal

  • 33

    Tipo de Dados Caractere

    Representado pelo tipo char

    a,b, 1, \n etc

    internamente representa um cdigo da tabelaASCII

    ASCII: na verdade aceita at 255 caracteres

    (unsigned char)

    char letra = A; char letra = 65;

    Instruo equivalente

  • 34

    Identificadores

    Identificadores so palavras que o

    programador utiliza em programas

    Consiste de um ou mais caracteres.

    o primeiro caractere deve ser letra ou "_

    demais so uma combinao de letras, nmeros e

    "_"

    Identificadores no podem comear com um

    dgito

    Exemplo de identificadores vlidos: _a, a3_,bom_dia

    Exemplo de identificadores invlidos: 2a, a-b, a_ b

    C case-sensitive

    Os identificadores casa e CASA so diferentes

  • 35

    Identificadores

    Identificadores podem ser:

    Nomes que o programador escolheu

    Exemplo: nome de uma varivel, funo, constante, etc

    Nomes que terceiros escolheram

    Exemplo: nome de uma funo de uma biblioteca

    utilizada

    Palavras reservadas da linguagem

    No podem ser usadas de outra forma

    Exemplo: main, const, int, etc

  • 36

    Identificadores em C

    #include

    int main ( ) {

    float celsius ;

    float farenheit ;

    celsius = 30;

    farenheit = 9.0/5 *celsius + 32;

    printf (30 graus celsius = %f graus farenheit,farenheit);return 0;

    }

    #include

    floatfloat

    int main

    Palavras Reservadas

    E ainda expresses...

    celsiusfarenheit

    printf

    Identificadores criados pelo programador

    Identificadores criados por terceiros (chamadas

    de funes)

  • 37

    Executando de um Programa em C

    Escrever o programa em um arquivo texto

    (cdigo fonte)

    Salvar o arquivo com a extenso .c

    Compilar o programa fonte para gerar o

    cdigo executvel (*.exe)

    Um programa em C pode ser composto de vrios

    cdigos fontes (vrios arquivos .c)

    comum a gerao de um cdigo objeto (*.obj ou

    *.o) para cada cdigo fonte e a posterior gerao

    do cdigo executvel (linkedio)

  • 38

    Construo de Programas em C

    EditorCodigo,

    Palavras reservadas

    Programafonte

    Edio

    ProgramaFonte

    Compilador ProgramaObjeto

    Compilao

    ProgramasObjeto

    ProgramaExecutvel

    Link-Edio

    Adio /Localizao de cdigos objetos das bibliotecas

    ProgramaFonte

    Pr-processador

    ProgramaFonte

    ModificadoPr-processamento

  • 39

    Ambiente de Programao

    Para acelerar o desenvolvimento de programas,

    comum utilizar ambientes de programao ou IDEs

    (Integrated Development Environment)

    Integra vrias ferramentas em um nico ambiente

    Editores de texto

    Compiladores

    Bibliotecas

    E muito mais ...

    CodeBlocks, DevC++, Visual Studio, Eclipse etc

    39

  • 40

    Resumindo ...

    Caractersticas da linguagem

    Estrutura de um programa

    Ciclo de construo de um programa em C

    Estruturas bsicas de uma linguagem de

    programao

    Identificadores,Variveis,Tipos de dados, Atribuio

    Conceito de funes