Linguagem C
86 pág.

Linguagem C


DisciplinaAlgoritmos e Estrutura de Dados I702 materiais7.920 seguidores
Pré-visualização18 páginas
....................................................................................................................................44 
8.1 Exercícios ...........................................................................................................................................45 
9. Ponteiros, Vetores e Matrizes....................................................................................................46 
9.1 Vetores e Matrizes de Ponteiros.......................................................................................................46 
 4
9.2 Exercícios ...........................................................................................................................................47 
10. Funções......................................................................................................................................48 
10.1 Ponteiros para Funções.....................................................................................................................48 
10.2 Recursividade ....................................................................................................................................49 
10.3 Função main.......................................................................................................................................50 
10.4 Funções de String ..............................................................................................................................50 
10.5 Funções Matemáticas ........................................................................................................................52 
10.6 Funções de Hora e Data ....................................................................................................................55 
10.7 Outras Funções..................................................................................................................................56 
10.8 Exercícios ...........................................................................................................................................56 
11. Alocação Dinâmica ...................................................................................................................59 
11.1 Exercícios ...........................................................................................................................................60 
12. Manipulação de Arquivos .........................................................................................................62 
12.1 \u201cStreams\u201d e Arquivos .......................................................................................................................62 
12.2 Tipos de Acesso..................................................................................................................................63 
12.3 Funções Manipulação de Arquivos..................................................................................................63 
12.4 Exercícios ...........................................................................................................................................66 
13. Ordenação..................................................................................................................................68 
13.1 Ordenação por Troca........................................................................................................................68 
13.2 Ordenação por Seleção .....................................................................................................................69 
13.3 Ordenação por Inserção ...................................................................................................................69 
13.4 \u201cShell Sort\u201d ........................................................................................................................................70 
13.5 \u201cQuicksort\u201d........................................................................................................................................70 
14. Estruturas de Dados ..................................................................................................................72 
14.1 Pilhas ..................................................................................................................................................72 
14.2 Filas.....................................................................................................................................................73 
14.2.1 Filas Circulares .............................................................................................................................73 
14.3 Listas Ligadas ....................................................................................................................................74 
14.3.1 Listas Singularmente Ligadas......................................................................................................74 
 5
14.3.2 Listas Duplamente Ligadas..........................................................................................................77 
14.4 Árvores Binárias................................................................................................................................79 
14.5 Exercícios...............................................................................................................................81 
15. Bibliografia................................................................................................................................82 
16. APÊNDICE ...............................................................................................................................83 
16.1 Tabela ASCII .....................................................................................................................................83 
16.2 Sistema Numérico..............................................................................................................................84 
16.3 Conversão entre Bases ......................................................................................................................85 
 
 
 
 6
PREFÁCIO 
Esta apostila é destinada aos alunos das disciplinas de Programação de Computadores I 
e II do curso de Ciência da Computação. Neste texto, encontra-se, de forma resumida, os conceitos 
básicos da linguagem de programação C, estruturas de dados e técnicas de programação baseado no 
livro texto e nas referências bibliográficas complementares. 
Quaisquer dúvidas, críticas e sugestões serão bem vindas. 
 
Prof. Me. Francisco Yastami Nakamoto 
emaito: yastami@unifieo.br 
Atualizado em: 01/02/2007 
 7
1. INTRODUÇÃO 
1.1 Dados, Informações e Conhecimento. 
O homem possui a capacidade de analisar as informações fornecidas pelos seus 
sentidos, abstrair os problemas do mundo real e criar um modelo desse problema. Além disso, 
possui a capacidade de estudar e aplicar as possíveis soluções a este modelo, de acordo com o 
conhecimento anteriormente adquirido, e implementá-lo no mundo real modificando o meio em que 
vive e, consequentemente, enriquecendo o seu conhecimento através dos resultados obtidos. 
De acordo com Aristóteles (384-322 a.C.), baseado na teoria das idéias de Platão (427-
347 a.C.), a idéia não existe antes da experiência vivida, ou seja, não existe nada na consciência que 
não tenha sido sentido pelos nossos cinco sentidos. Todas as idéias e pensamentos entram em nossa 
consciência através da vivência através dos sentidos tornando-se conhecimento. 
O conhecimento é individual e único que criamos a partir da interação com outros seres 
humanos e o meio em que vivemos, consequentemente, o conhecimento não é transmissível e sim 
um conjunto de informações, representadas por dados, que descrevem o conhecimento. Desta 
forma, pode-se definir que: 
\u2022 Dados são entidades matemáticas, compostas por uma seqüência de símbolos 
quantificados ou quantificáveis e puramente