programação estruturada i

24
Programação Estruturada I Introdução a Linguagem C Prof. Thiago Caproni Tavares 1 Prof. Mateus dos Santos 2 1 [email protected] 2 [email protected] Última Atualização: 22 de março de 2015 Programação Estruturada I 1 / 21

Upload: others

Post on 23-Nov-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Programação Estruturada IIntrodução a Linguagem C

Prof. Thiago Caproni Tavares 1 Prof. Mateus dos Santos 2

[email protected]

[email protected]

Última Atualização: 22 de março de 2015Programação Estruturada I 1 / 21

Conteúdo

1 Introdução

2 Forma de um Programa em C

3 Compilando um Programa em C

4 Mapa de Memória

5 Termos Utilizados em C

Programação Estruturada I 2 / 21

Conteúdo

1 Introdução

2 Forma de um Programa em C

3 Compilando um Programa em C

4 Mapa de Memória

5 Termos Utilizados em C

Programação Estruturada I 3 / 21

As Origens de C

Implementada por Dennis Rithie;Derivada da linguagens BCPL e B;Fornecida com o UNIX;Em 1983, a ANSI estabeleceu um comitê para criar um padrão;

Programação Estruturada I 4 / 21

C é uma Linguagem de Médio Nível

Combina elementos de linguagens de alto nível com funcionalidade doassembly ;Permite a manipulação:

bits;bytes;endereços.

Programação Estruturada I 5 / 21

Forma de um Programa em C

Um código em C pode ser estruturado através de blocos (códigoentre chaves):

# include <stdio.h>

int main(void){

// commentsprintf ("Hello World!");return 0;

}

Programação Estruturada I 6 / 21

Conteúdo

1 Introdução

2 Forma de um Programa em C

3 Compilando um Programa em C

4 Mapa de Memória

5 Termos Utilizados em C

Programação Estruturada I 7 / 21

Forma de um Programa em C

Declarações globais;Funções definidas pelo programador;Função main

declaracoes globais

tipo devolvido main(lista de parametros ){

sequencia de comandos}

int main(int argc , char *argv []){

sequencia de comandos}

Programação Estruturada I 8 / 21

Forma de um Programa em C

Exemplo de programa:

# include <s t d i o . h># include <math . h>

const double PI = 3 . 1 4 1 5 9 6 ;

double c a l c u l a r A r e a C i r c u l o ( double r a i o ){return PI ∗ pow( r a i o , 2 ) ;

}

int main ( int argc , char ∗ a rgv [ ] ) {double r a i o , a r ea ;p r i n t f ( " Digite o raio: " ) ;s c a n f ( "%lf" , &r a i o ) ;a r ea = c a l c u l a r A r e a C i r c u l o ( r a i o ) ;p r i n t f ( "Area = %lf" , a r ea ) ;return 0 ;

}

Programação Estruturada I 9 / 21

Palavras-chave (C ANSI)

autobreakcasecharconstcontinuedefaultdo

doubleelseenumexternfloatforgotoif

intlongregisterreturnshortsignedsizeofstatic

structswitchtypedefunionunsignedvoidvolatilewhile

Programação Estruturada I 10 / 21

Forma de um Programa em C

Declarações globais;Funções definidas pelo programador;Função main

declaracoes globais

tipo devolvido main(lista de parametros ){

sequencia de comandos}

int main(int argc , char *argv []){

sequencia de comandos}

Programação Estruturada I 11 / 21

Conteúdo

1 Introdução

2 Forma de um Programa em C

3 Compilando um Programa em C

4 Mapa de Memória

5 Termos Utilizados em C

Programação Estruturada I 12 / 21

Compilando um Programa em C

Criar um programa;Compilar o programa;Linkeditar o programa com as funções necessárias da biblioteca;

Programação Estruturada I 13 / 21

Conteúdo

1 Introdução

2 Forma de um Programa em C

3 Compilando um Programa em C

4 Mapa de Memória

5 Termos Utilizados em C

Programação Estruturada I 14 / 21

Mapa de Memória

Código do programa: região onde encontra-se o código doprograma;

Variáveis globais: região de memória onde ficam variáveiscompartilhadas entre várias funções;Pilha: endereços de retorno de chamadas de funções, argumentospara funções, variáveis locais e estado atual da CPU;Heap: região de memória livre para alocação dinâmica (malloc);

Programação Estruturada I 15 / 21

Mapa de Memória

Código do programa: região onde encontra-se o código doprograma;Variáveis globais: região de memória onde ficam variáveiscompartilhadas entre várias funções;

Pilha: endereços de retorno de chamadas de funções, argumentospara funções, variáveis locais e estado atual da CPU;Heap: região de memória livre para alocação dinâmica (malloc);

Programação Estruturada I 15 / 21

Mapa de Memória

Código do programa: região onde encontra-se o código doprograma;Variáveis globais: região de memória onde ficam variáveiscompartilhadas entre várias funções;Pilha: endereços de retorno de chamadas de funções, argumentospara funções, variáveis locais e estado atual da CPU;

Heap: região de memória livre para alocação dinâmica (malloc);

Programação Estruturada I 15 / 21

Mapa de Memória

Código do programa: região onde encontra-se o código doprograma;Variáveis globais: região de memória onde ficam variáveiscompartilhadas entre várias funções;Pilha: endereços de retorno de chamadas de funções, argumentospara funções, variáveis locais e estado atual da CPU;Heap: região de memória livre para alocação dinâmica (malloc);

Programação Estruturada I 15 / 21

Conteúdo

1 Introdução

2 Forma de um Programa em C

3 Compilando um Programa em C

4 Mapa de Memória

5 Termos Utilizados em C

Programação Estruturada I 16 / 21

Mapa de Memória

Código fonte;Código objeto (entrada para o linkeditor);Linkeditor (saída é um código executável);Biblioteca (funções padrão);Tempo de compilação;Tempo de execução.

Programação Estruturada I 17 / 21

C Vs C++

A linguagem C++ é um extensão da linguagem C;A linguagem C++ é orientada a objetos;A linguagem C++ contém a linguagem C adicionando um conjuntode recursos de orientação a objetos;

Programação Estruturada I 18 / 21

Obrigado pela atençã[email protected]

Programação Estruturada I 19 / 21

Referências I

ASCENCIO, A.; CAMPOS, E. de. Fundamentos da programação decomputadores: algoritmos, Pascal, C/C++ e Java. Pearson PrenticeHall, 2008. ISBN 9788576051480. Disponível em:<https://books.google.com.br/books?id=p-mTPgAACAAJ>.

C: A Reference Manual. Pearson Education, 2007. ISBN9788131714409. Disponível em:<https://books.google.com.br/books?id=Wt2NEypdGNIC>.

DAMAS, L. LINGUAGEM C. LTC. ISBN 9788521615194. Disponívelem: <https://books.google.com.br/books?id=22-vPgAACAAJ>.

FEOFILOFF, P. Algoritmos Em Linguagem C. CAMPUS - RJ, 2009.ISBN 9788535232493. Disponível em:<http://books.google.com.br/books?id=LfUQai78VQgC>.

Programação Estruturada I 20 / 21

Referências II

KERNIGHAN, B.; RITCHIE, D. C: a linguagem de programação padrãoANSI. Campus, 1989. ISBN 9788570015860. Disponível em:<https://books.google.com.br/books?id=aVWrQwAACAAJ>.

MIZRAHI, V. Treinamento em linguagem C. Pearson Prentice Hall,2008. ISBN 9788576051916. Disponível em:<https://books.google.com.br/books?id=7xt7PgAACAAJ>.

SCHILDT, H.; MAYER, R. C completo e total. Makron, 1997. ISBN9788534605953. Disponível em:<https://books.google.com.br/books?id=PbI0AAAACAAJ>.

Programação Estruturada I 21 / 21