Estrutura de Dados
Linguagem C
Profª Ms. Eveline B. Rodrigues
1
Conteúdo da aula de hoje:
• Introdução sobre a linguagem C
• Variáveis
• Vetores
• Lista
• Fila
• Pilha
2
Linguagem C
• Criada por Dennis M. Ritchie e Ken Thompson
no laboratório Bell, em 1972.
• Baseada na Linguagem B de Thomps...
Linguagem C
Por que desenvolveram a linguagem C?
•O objetivo da lin­guagem era prover acesso de baixo
nível ao hard­ware (...
Linguagem C
O que podemos fazer com a linguagem C?
•Programação de qualquer tipo de sistema:
▫ Sistemas Operacionais (como...
Linguagem C
• A linguagem C continua a ser largamente
utilizada no desenvolvimento de aplicações e
sistemas operacionais e...
Linguagem C
• C é recomendada para aplicações de missão
critica, ou seja, que exige respostas rápidas, ex:
▫ servidores de...
Compilador C
• Maneira de comunicar com o computador:
programa;
• Linguagem que o computador entende:
linguagem de máquina...
Compilador C
• O ser humano compreende a linguagem natural
(português, inglês, ...), enquanto que o
computador entende a l...
Compilador C
• Lê cada instrução do programa e se não houver
erro converte-a para linguagem de máquina;
• O compilador ger...
Estrutura básica de um programa em C
• Um programa em C consiste em uma ou
várias funções.
• Vamos começar pelo menor prog...
Estrutura básica de um programa em C
• Programas de computador devem
poder ler e receber informações
• Como essas informaç...
Variáveis
• Aspecto fundamental de qualquer linguagem de
computador;
• É um espaço de memória reservado para
armazenar um ...
Variáveis
• É um espaço de memória que pode conter, a
cada tempo, valores diferentes;
14
Exemplo de Variável
main( )
{
int num;
num=2;
printf(“Este é o número dois: %d”, num);
}
15
16
Vetores
• Vetores são uma estrutura de dados muito
utilizada.
• Os vetores possuem todos os elementos
pertencentes ao mesm...
Vetores
• Quando o C vê uma declaração como esta ele
reserva um espaço na memória suficientemente
grande para armazenar o ...
Vetores
• o C irá reservar 4x20=80 bytes.
• Estes bytes são reservados de maneira contínua. Na linguagem C a
numeração com...
Exemplo 1
#include <stdio.h>
void main ()
{
int num[100]; /* Declara um vetor de inteiros de 100 posicoes */
for(cont=0;co...
Exemplo 2
#include <stdio.h>
void main ()
{
int num[100]; /* Declara um vetor de inteiros de 100 posicoes */
int count=0;
...
Exercício
• Reescreva o exemplo anterior, realizando a cada
leitura um teste para ver se a dimensão do vetor
não foi ultra...
Estrutura de Dados
Segundo o professor da COPPE/UFRJ, Jayme Luiz Szwarcfiter, em seu livro
Estruturas de Dados e seus Algo...
Listas
• Uma lista encadeada é uma representação de
uma sequência de objetos na memória do
computador.
• Cada elemento da ...
Listas
25
• Os elementos em uma lista são acessados em
qualquer ordem (acesso randômico).
Filas
• Filas nada mais são que estruturas lineares de
informação que são acessadas na ordem FIFO (primeiro
que entra é o ...
Pilhas
• Uma Pilha é o contrário de uma Fila porque usa o
acesso LIFO (o último a entrar é o primeiro a sair).
• Imagine u...
Exercícios
1) Um dos alunos preparou o seguinte programa e o apresentou para ser avaliado.
Ajude-0.
main{}
(
printf(Existe...
Exercícios
3) Qual será a saída do programa abaixo:
main()
{
printf(“%s n %s n %s”, “um”, “dois”, “tres”);
}
29
Bibliografia
Básica
Schildt, H., C Completo e Total, Editora Makron Books do Brasil
Editora Ltda, 1996.
Complementar
Evari...
Próximos SlideShares
Carregando em…5
×

Introdução a Linguagem C

536 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
536
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução a Linguagem C

  1. 1. Estrutura de Dados Linguagem C Profª Ms. Eveline B. Rodrigues 1
  2. 2. Conteúdo da aula de hoje: • Introdução sobre a linguagem C • Variáveis • Vetores • Lista • Fila • Pilha 2
  3. 3. Linguagem C • Criada por Dennis M. Ritchie e Ken Thompson no laboratório Bell, em 1972. • Baseada na Linguagem B de Thompson. Ken Thompson e Dennis Ritchie em 1984 3
  4. 4. Linguagem C Por que desenvolveram a linguagem C? •O objetivo da lin­guagem era prover acesso de baixo nível ao hard­ware (CPU, I/Os e per­iféri­cos), pre­ cisava ser portável para que o SO pudesse rodar em difer­entes platafor­mas de hard­ware, além de ter um bom desem­penho e otimizar o uso de memória; •Prin­ci­pal­mente numa época em que estavam começando a sur­gir as primeiras CPUs, e o preço por byte de memória era carís­simo. 4
  5. 5. Linguagem C O que podemos fazer com a linguagem C? •Programação de qualquer tipo de sistema: ▫ Sistemas Operacionais (como o UNIX); ▫ Planilhas eletrônicas; ▫ Processadores de texto; ▫ Gerenciadores de BD; ▫ Processadores gráficos; 5
  6. 6. Linguagem C • A linguagem C continua a ser largamente utilizada no desenvolvimento de aplicações e sistemas operacionais e a sua influência pode ser vista em linguagens de programação mais recentes, tais como C++, Java, C#, PHP e JavaScript. 6
  7. 7. Linguagem C • C é recomendada para aplicações de missão critica, ou seja, que exige respostas rápidas, ex: ▫ servidores de aplicação; ▫ drivers; ▫ kernels de S.O. 7
  8. 8. Compilador C • Maneira de comunicar com o computador: programa; • Linguagem que o computador entende: linguagem de máquina; • Os programas em C são traduzidos para linguagem de máquina através de um compilador. 8
  9. 9. Compilador C • O ser humano compreende a linguagem natural (português, inglês, ...), enquanto que o computador entende a linguagem de máquina (binária – 0 e 1) 9 compilador
  10. 10. Compilador C • Lê cada instrução do programa e se não houver erro converte-a para linguagem de máquina; • O compilador gera um programa em disco com o sufixo .OBJ com as instruções traduzidas. • A este arquivo são agregadas rotinas em linguagem de máquina que permitirão sua execução, criando um produto final em disco com sufixo .EXE. 10
  11. 11. Estrutura básica de um programa em C • Um programa em C consiste em uma ou várias funções. • Vamos começar pelo menor programa possível em C: main( ) { printf ( “primeiro programa”); } primeira função a ser executada. inicia o corpo da função termina a função função que imprime um texto na tela do seu computador 11
  12. 12. Estrutura básica de um programa em C • Programas de computador devem poder ler e receber informações • Como essas informações são armazenadas? 12
  13. 13. Variáveis • Aspecto fundamental de qualquer linguagem de computador; • É um espaço de memória reservado para armazenar um certo tipo de dado; • Tem um nome para que seu conteúdo possa ser referenciado. 13
  14. 14. Variáveis • É um espaço de memória que pode conter, a cada tempo, valores diferentes; 14
  15. 15. Exemplo de Variável main( ) { int num; num=2; printf(“Este é o número dois: %d”, num); } 15
  16. 16. 16
  17. 17. Vetores • Vetores são uma estrutura de dados muito utilizada. • Os vetores possuem todos os elementos pertencentes ao mesmo tipo de dado. • Para se declarar um vetor podemos utilizar a seguinte forma geral: tipo_da_variável nome_da_variável [tamanho]; 17
  18. 18. Vetores • Quando o C vê uma declaração como esta ele reserva um espaço na memória suficientemente grande para armazenar o número de células especificadas em tamanho. Por exemplo, se declararmos: float nota[20]; 18
  19. 19. Vetores • o C irá reservar 4x20=80 bytes. • Estes bytes são reservados de maneira contínua. Na linguagem C a numeração começa sempre em zero. • Isto significa que, no exemplo acima, os dados serão indexados de 0 a 19. Para acessá-los vamos escrever: nota[0] nota[1] . . . nota[19] 19
  20. 20. Exemplo 1 #include <stdio.h> void main () { int num[100]; /* Declara um vetor de inteiros de 100 posicoes */ for(cont=0;cont<100;cont++) { printf ("nEntre com um numero %d “, cont); scanf ("%d", &num[count]); } printf ("nnnt Os numeros que voce digitou foram:nn"); for (count=0;count<100;count++) { printf (“Nro: %d", num[count]); } } 20
  21. 21. Exemplo 2 #include <stdio.h> void main () { int num[100]; /* Declara um vetor de inteiros de 100 posicoes */ int count=0; int totalnums; do { printf ("nEntre com um numero (-999 p/ terminar): "); scanf ("%d", &num[count]); count++; } while (num[count-1]!=-999); totalnums=count-1; printf ("nnnt Os numeros que voce digitou foram:nn"); for (count=0;count<totalnums;count++) { printf (" %d", num[count]); } } 21
  22. 22. Exercício • Reescreva o exemplo anterior, realizando a cada leitura um teste para ver se a dimensão do vetor não foi ultrapassada. Caso o usuário entre com 100 números, o programa deverá abortar o loop de leitura automaticamente. O uso do Flag não deve ser retirado. 22
  23. 23. Estrutura de Dados Segundo o professor da COPPE/UFRJ, Jayme Luiz Szwarcfiter, em seu livro Estruturas de Dados e seus Algoritmos: “As estruturas diferem uma das outras pela disposição ou manipulação de seus dados. A disposição de dados em uma estrutura obedece a condições preestabelecidas e caracteriza a estrutura. O estudo de estrutura de dados não pode ser desvinculado de seus aspectos algoritmos. A escolha certa da estrutura adequada a cada caso depende diretamente do conhecimento de algoritmos para manipular a estrutura de maneira diferente.” 23
  24. 24. Listas • Uma lista encadeada é uma representação de uma sequência de objetos na memória do computador. • Cada elemento da sequência é armazenado em uma célula da lista: o primeiro elemento na primeira célula, o segundo na segunda e assim por diante. 24
  25. 25. Listas 25 • Os elementos em uma lista são acessados em qualquer ordem (acesso randômico).
  26. 26. Filas • Filas nada mais são que estruturas lineares de informação que são acessadas na ordem FIFO (primeiro que entra é o primeiro a sair). • O primeiro item colocado na Fila é o primeiro item a ser recuperado, e assim por diante. • Uma característica especial da fila é não permitir o acesso randômico a seus dados. 26 1° 2° 3°
  27. 27. Pilhas • Uma Pilha é o contrário de uma Fila porque usa o acesso LIFO (o último a entrar é o primeiro a sair). • Imagine uma pilha de provas para serem corrigidas por um certo professor. • A prova da base da pilha será a última a ser corrigida pelo professor e a prova do topo será a primeira a ser corrigida. 27 3° 2° 1°
  28. 28. Exercícios 1) Um dos alunos preparou o seguinte programa e o apresentou para ser avaliado. Ajude-0. main{} ( printf(Existem %d semanas no ano., 56); ) 2) O programa seguinte tem vários erros em tempo de compilação. Execute-o e observe as mensagens apresentadas por seu compilador. Main() { int a=1; b=2, c=3; printf(“Os numeros são: %d %d %dn, a,b,c,d) } 28
  29. 29. Exercícios 3) Qual será a saída do programa abaixo: main() { printf(“%s n %s n %s”, “um”, “dois”, “tres”); } 29
  30. 30. Bibliografia Básica Schildt, H., C Completo e Total, Editora Makron Books do Brasil Editora Ltda, 1996. Complementar Evaristo, J., Aprendendo a programar programando em linguagem C, Book Express, 2001. Mizrahi, V. V., Treinamento em Linguagem C, Curso Completo, Módulos 1 e 2, Makron Books do Brasil Editora Ltda,1990. Kernighan, B.W & Ritchie, D. M., C a Linguagem de Programação, Editora Campus, 1986. Liberty, Jesse, Aprenda em 24 horas C++, Editora Campus, 1998. 30

×