SlideShare une entreprise Scribd logo
1  sur  30
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 Thompson.
Ken Thompson e Dennis Ritchie em 1984
3
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
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
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
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
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
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 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°
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°
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
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
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

Contenu connexe

Tendances

Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo Lua
Sérgio Souza Costa
 
007 programando em python - funcoes
007   programando em python - funcoes007   programando em python - funcoes
007 programando em python - funcoes
Leandro Barbosa
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivos
Leandro Barbosa
 

Tendances (20)

Microsserviços com Spring Boot e ORM
Microsserviços com Spring Boot e ORMMicrosserviços com Spring Boot e ORM
Microsserviços com Spring Boot e ORM
 
Análise exploratória e modelação com R parte 1
Análise exploratória e modelação com R parte 1Análise exploratória e modelação com R parte 1
Análise exploratória e modelação com R parte 1
 
Estruturas de dados com C++ e STL
Estruturas de dados com C++ e STLEstruturas de dados com C++ e STL
Estruturas de dados com C++ e STL
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Estruturas
EstruturasEstruturas
Estruturas
 
Curso matlab 6 especiais
Curso matlab 6 especiaisCurso matlab 6 especiais
Curso matlab 6 especiais
 
Tutorial R
Tutorial RTutorial R
Tutorial R
 
Introdução ao R
Introdução ao RIntrodução ao R
Introdução ao R
 
C 1
C 1C 1
C 1
 
Estrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasEstrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas Estáticas
 
Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04
 
Apostila Lógica de Programação
Apostila Lógica de ProgramaçãoApostila Lógica de Programação
Apostila Lógica de Programação
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 
Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo Lua
 
LaTeX Básico II
LaTeX Básico IILaTeX Básico II
LaTeX Básico II
 
Introdução ao LaTeX
Introdução ao LaTeXIntrodução ao LaTeX
Introdução ao LaTeX
 
Algoritmos e Programação: Manipulação de strings
Algoritmos e Programação: Manipulação de stringsAlgoritmos e Programação: Manipulação de strings
Algoritmos e Programação: Manipulação de strings
 
007 programando em python - funcoes
007   programando em python - funcoes007   programando em python - funcoes
007 programando em python - funcoes
 
Apresentação sobre a linguagem lua
Apresentação sobre a linguagem luaApresentação sobre a linguagem lua
Apresentação sobre a linguagem lua
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivos
 

Similaire à Introdução a Linguagem C

Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Kratos879
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222
Bianca Dantas
 
Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02
Lucas Antonio
 

Similaire à Introdução a Linguagem C (20)

Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação C
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
 
Apostila c++ básico
Apostila c++ básicoApostila c++ básico
Apostila c++ básico
 
Apostila c++ básico (1)
Apostila c++ básico (1)Apostila c++ básico (1)
Apostila c++ básico (1)
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
 
Linguagem C Entendendo a Programação
Linguagem C Entendendo a ProgramaçãoLinguagem C Entendendo a Programação
Linguagem C Entendendo a Programação
 
Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações web
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdf
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Calourada2010
Calourada2010Calourada2010
Calourada2010
 
Apostila c
Apostila cApostila c
Apostila c
 
Mini Curso de C
Mini Curso de CMini Curso de C
Mini Curso de C
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02
 

Dernier

Dernier (9)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 

Introdução a Linguagem C

  • 1. Estrutura de Dados Linguagem C Profª Ms. Eveline B. Rodrigues 1
  • 2. Conteúdo da aula de hoje: • Introdução sobre a linguagem C • Variáveis • Vetores • Lista • Fila • Pilha 2
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Variáveis • É um espaço de memória que pode conter, a cada tempo, valores diferentes; 14
  • 15. Exemplo de Variável main( ) { int num; num=2; printf(“Este é o número dois: %d”, num); } 15
  • 16. 16
  • 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. 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. 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. 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. 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. 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. 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. 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. Listas 25 • Os elementos em uma lista são acessados em qualquer ordem (acesso randômico).
  • 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. 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. 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. Exercícios 3) Qual será a saída do programa abaixo: main() { printf(“%s n %s n %s”, “um”, “dois”, “tres”); } 29
  • 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