Programação Estruturada I Introdução a Linguagem C Prof. Thiago Caproni Tavares 1 Prof. Mateus dos Santos 2 1 thiago.tavares@ifsuldeminas.edu.br 2 mateus.santos@ifsuldeminas.edu.br Última Atualização: 22 de março de 2015 Programaçã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 do assembly; 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ódigo entre chaves): # include <stdio.h> int main ( void ) { // comments printf (" 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 ( raio, 2 ) ; } int main ( int argc, char a r g v [ ] ) { double raio, area ; p r i n t f ( " Digite o raio : " ) ; s c a n f ( "%lf", &r a i o ) ; a r e a = 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 e a ) ; return 0 ; } Programação Estruturada I 9 / 21
Palavras-chave (C ANSI) auto double break else case enum char extern const float continue for default goto do if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while 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 do programa; Programação Estruturada I 15 / 21
Mapa de Memória Código do programa: região onde encontra-se o código do programa; Variáveis globais: região de memória onde ficam variáveis compartilhadas entre várias funções; Programação Estruturada I 15 / 21
Mapa de Memória Código do programa: região onde encontra-se o código do programa; Variáveis globais: região de memória onde ficam variáveis compartilhadas entre várias funções; Pilha: endereços de retorno de chamadas de funções, argumentos para funções, variáveis locais e estado atual da CPU; Programação Estruturada I 15 / 21
Mapa de Memória Código do programa: região onde encontra-se o código do programa; Variáveis globais: região de memória onde ficam variáveis compartilhadas entre várias funções; Pilha: endereços de retorno de chamadas de funções, argumentos para 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 conjunto de recursos de orientação a objetos; Programação Estruturada I 18 / 21
Obrigado pela atenção!!! thiago.tavares@ifsuldeminas.edu.br Programação Estruturada I 19 / 21
Referências I ASCENCIO, A.; CAMPOS, E. de. Fundamentos da programação de computadores: algoritmos, Pascal, C/C++ e Java. Pearson Prentice Hall, 2008. ISBN 9788576051480. Disponível em: <https://books.google.com.br/books?id=p-mtpgaacaaj>. C: A Reference Manual. Pearson Education, 2007. ISBN 9788131714409. Disponível em: <https://books.google.com.br/books?id=wt2neypdgnic>. DAMAS, L. LINGUAGEM C. LTC. ISBN 9788521615194. Disponível em: <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ão ANSI. 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. ISBN 9788534605953. Disponível em: <https://books.google.com.br/books?id=pbi0aaaacaaj>. Programação Estruturada I 21 / 21