Primeiro Curso de Programação em C 3 a Edição



Documentos relacionados
Plano de Ensino. Ementa

PROGRAMA DE DISCIPLINA

PROGRAMA DE DISCIPLINA

CAPÍTULO 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO C

Manipulação de Arquivos

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org

Estrutura de um programa em linguagem C

Algoritmos e Programação _ Departamento de Informática

Capítulo 2: Introdução à Linguagem C

Curso de C. Procedimentos e Funções. 6/4/200901/04/09 09:42 Copyright@Arnaldo V Moura, Daniel F Ferber 1

INF 1005 Programação I

INF 1620 P2-14/10/05 Questão 1 Nome:

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Introdução à Programação

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

INF 1620 P2-23/10/04 Questão 1 Nome:

INTRODUÇÃO À LINGUAGEM C++

Introdução a POO. Introdução a Linguagem C++ e POO

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Componentes da linguagem C++

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

PROVA P2 INF /10/2014 Programação II

Algoritmos e Estruturas de Dados I 01/2013. Arquivos. Pedro O.S. Vaz de Melo

INF 1620 P3-25/11/05 Questão 1 Nome:

INF 1620 P3-29/06/04 Questão 1 Nome:

Conceitos de Linguagens de Programação

Algoritmos e Estruturas de Dados I. Arquivos. Pedro O.S. Vaz de Melo

Programação de Computadores I. Ponteiros

Iguatemi Eduardo da Fonseca Eduardo de Santana Medeiros Alexandre. Linguagem de Programação I: Programação Estruturada usando C

Algoritmos e Programação

INF 1620 P3-27/11/04 Questão 1 Nome:

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

CURSO BÁSICO DE PROGRAMAÇÃO EM TURBO C DESCRIÇÃO DO PROGRAMA. Introdução e conceitos básicos

QUALIFICAÇÃO TÉCNICA EM DESENVOLVIMENTO DE SISTEMAS

INF 1620 P4-01/07/08 Questão 1 Nome:

Computação 2. Aula 8. Profª. Fabiany Arquivos

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

INF 1620 P3-21/06/08 Questão 1 Nome:

INF 1620 P1-16/09/06 Questão 1 Nome:

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Alocação dinâmica de memória

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA... 1

APOSTILA DO CURSO LINGUAGEM C. Prof. Erico Fagundes Anicet Lisboa, M. Sc.

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

INF 1620 P4 11/12/06 Questão 1 Nome:

Curso de Linguagem C

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

INF 1620 P4 30/06/07 Questão 1 Nome:

Expressões. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA COLEGIADO DO CURSO DE GRADUAÇÃO EM ENGENHARIA ELÉTRICA/ENG.

Computação 2. Aula 9. Diego Addan Arquivos

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

INF 1620 P1-18/09/04 Questão 1 Nome:

2ª Lista de Exercícios

INF 1620 P2-17/05/08 Questão 1 Nome:

15 a Aula Subprogramação /Subalgoritmos Função e Procedimento

Programação de Computadores

E/S em Arquivo. Para ler ou escrever arquivos é preciso usar ponteiros de arquivo. Um ponteiro de arquivo é uma variável ponteiro do tipo FILE:

INF 1620 P3-06/12/03 Questão 1 Nome:

Programação Básica em Arduino Aula 2

Linguagem de Programação I

Introdução a Computação

INF 1007 P2 23/10/10 Nome: Instruções:

Comunicação. O Modelo de Fluxo de Dados (Streams)

O Processo de Programação

LINGUAGEM C. Estrutura básica de um programa

Administração Central Unidade de Ensino Médio e Técnico - CETEC. Ensino Técnico

Resumo da Introdução de Prática de Programação com C. A Linguagem C

SENAC Serviço Nacional de Aprendizagem Comercial Curso de Programação em C. Linguagem C

Web site. Objetivos gerais. Introdução. Profa. Patrícia Dockhorn Costa

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton

Algoritmos e Programação Estruturada

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti

PROGRAMA DE DISCIPLINA

Fundamentos de Arquivos. SCC203 Algoritmos e Estruturas de Dados II

PLANIFICAÇÃO MODULAR

INF P3-23/06/07 Questão 1 Nome:

Estruturas de entrada e saída

13a. Aula Manipulação de arquivos

LINGUAGEM C: DESCOMPLICADA. Prof. André R. Backes

Programação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

INF 1620 P1-17/09/05 Questão 1 Nome:

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Programação de Computadores I. Linguagem C Arquivos

Curso de C para Engenharias

INF 1620 P4-27/06/02 Questão 1 Nome:

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA

Análises Geração RI (representação intermediária) Código Intermediário

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Transcrição:

Edson Luiz França Senne Primeiro Curso de Programação em C 3 a Edição Visual Books

Sumário Prefácio da Terceira Edição 9 Prefácio da Primeira Edição 11 Aula 1 13 Regras de sintaxe de uma linguagem de programação... 13 Programa compilador... 13 Linguagem de máquina... 13 Erros de sintaxe e erros de lógica... 14 Arquivos de cabeçalho e bibliotecas... 15 Programa-fonte, programa-objeto e programa executável... 15 Função principal (main)... 16 Tipos de valores... 16 Representação de dados numéricos... 17 Representação de números inteiros... 17 Representação de números de ponto flutuante... 19 Representação de dados não-numéricos... 20 Variáveis... 21 Tipos de variáveis (char, int, float, double)... 21 Funções... 22 A função printf... 23 Diferença entre função e procedimento... 25 Conceitos importantes desta aula... 28 Exercícios... 28 Aula 2 31 Limites máximo e mínimo para os valores inteiros... 32 Modificadores de tipo... 32 Avaliação de expressões aritméticas... 34 Formatação de valores numéricos... 36 Endereços de variáveis e ponteiros... 37 Operadores de incremento e decremento... 39 Operações combinadas com a atribuição... 41 Operações bit-a-bit... 41 Processamento condicional... 44 Como são interpretados os valores Verdadeiro e Falso... 44 Operadores relacionais... 44 Operadores lógicos... 45 O operador condicional... 46 A atribuição e o teste de igualdade... 46 Comando if... 47 Conceitos importantes desta aula... 47 Exercícios... 58 Aula 3 51 A leitura de dados e a função scanf... 52 Diferença entre valor atribuído estaticamente e dinamicamente... 53 O comando if-else... 54 A sintaxe para escrever conjuntos de instruções... 55

A importância dos recuos... 57 Parâmetros formais e parâmetros reais de uma função... 60 Repetições... 62 O comando while... 62 A possibilidade de a execução de um programa ser infinita... 64 O comando do-while... 64 A diferença entre os comandos while e do-while... 65 Conceitos importantes desta aula... 66 Exercícios... 67 Aula 4 69 Algoritmos estruturados... 70 Representação de algoritmos com diagramas de blocos (fluxogramas)... 70 Programação estruturada... 72 Entrada (parâmetros) e saída (valor de retorno) de uma função... 76 A execução de um programa para vários dados de entrada... 77 As funções getche e toupper... 77 A função putch... 78 A função system... 79 O comando switch... 81 O comando break... 82 O comando continue... 85 Conceitos importantes desta aula... 87 Exercícios... 87 Aula 5 91 Representação de strings... 92 Variáveis indexadas... 93 Alocação de memória para variáveis indexadas... 93 A representação de índices... 93 O comando for... 94 Definição de constantes... 95 Pré-processamento e a expansão de constantes e macros... 97 Constantes já definidas pelo pré-processador... 100 Novos arquivos de cabeçalho... 101 Expressões múltiplas... 104 Conceitos importantes desta aula... 105 Exercícios... 106 Aula 6 109 Geração de números aleatórios... 110 A classificação de dados... 114 Variáveis indexadas como parâmetros de funções... 116 Vetores e matrizes... 116 Conceitos importantes desta aula... 120 Exercícios... 121 Aula 7 125 Protótipos de funções... 128 Escopo e visibilidade de variáveis... 129 Escopo de bloco... 129 Variáveis locais... 131 Escopo de parâmetro de função... 131 Escopo de arquivo... 132

Variáveis globais... 132 A passagem de parâmetros... 135 A passagem por valor... 136 Passagem de parâmetros por referência... 137 Definição de novos tipos de dados... 139 Estruturas de dados... 141 Conceitos importantes desta aula... 141 Exercícios... 142 Aula 8 147 Variáveis automáticas e variáveis estáticas... 149 Funções com número variável de parâmetros... 151 A equivalência entre nomes de vetores e ponteiros... 154 Nome de vetor como parâmetro de função (passagem por referência)... 157 A declaração const em parâmetros formais... 159 Ponteiros para funções... 160 As funções qsort e bsearch... 161 Funções recursivas... 164 Conceitos importantes desta aula... 170 Exercícios... 170 Aula 9 173 Alocação estática e alocação dinâmica de memória... 174 As funções calloc e malloc... 175 A função realloc... 177 Alocação de vetores dentro de funções... 179 Strings como ponteiros... 180 Alocação dinâmica de memória para matrizes... 181 A função fflush... 186 A entrada de dados com buffer... 186 Representação de matrizes esparsas... 187 Conceitos importantes desta aula... 191 Exercícios... 192 Aula 10 195 Leitura de dados a partir de arquivos... 196 Arquivos textuais... 199 A função fopen... 199 Modos de abertura de um arquivo... 200 A função fscanf... 201 Fechamento de arquivos e a função fclose... 201 Os dispositivos padrões vistos como arquivos... 203 A função fprintf... 204 Processamento de arquivos que contêm somente valores numéricos... 205 Processamento de arquivos que contêm strings... 207 A função fgets... 207 A função strtok... 207 As funções de conversão de tipo atoi e atof... 208 Como modificar informações contidas em um arquivo textual... 215 As funções remove e rename... 216 A função rewind... 216 Argumentos da linha de comando e parâmetros da função main... 220 As funções strcmp, strcpy e strcat... 223

Conceitos importantes desta aula... 224 Exercícios... 224 Aula 11 229 Arquivos binários... 233 Diferenças entre arquivos binários e arquivos textuais... 233 Abertura de arquivos binários... 234 As funções fread e fwrite e os acessos de leitura e escrita... 235 A função feof... 237 A função fseek e o acesso aos registros do arquivo... 238 Funções de baixo nível para tratamento de arquivos... 239 Funções que utilizam serviços do sistema operacional... 240 Estruturas de dados e uniões... 249 Campos de bits... 254 As funções memset, memmove, memcpy e memcmp... 255 A função ftell... 255 Conceitos importantes desta aula... 256 Exercícios... 256 Aula 12 257 Listas ordenadas e vetores... 260 Estruturas de dados contendo ponteiros... 262 Estruturas de dados dinâmicas... 262 Ordenação física e ordenação lógica de elementos... 262 Listas encadeadas simples... 262 Operações de inserção e de exclusão em listas ordenadas... 263 A função free para liberar memória alocada... 265 Listas com elementos especiais do tipo list head... 268 Listas duplamente encadeadas... 273 Inserção e exclusão em listas duplamente encadeadas ordenadas... 273 Listas circulares... 276 Conceitos importantes desta aula... 280 Exercícios... 280 Aula 13 283 A estrutura de pilha... 285 As operações de empilhar e desempilhar... 285 A estrutura de fila... 291 As operações de inclusão e exclusão em filas... 291 Filas de prioridade... 292 Estruturas encadeadas não-lineares... 297 A estrutura de árvore binária... 297 Árvores binárias de procura... 300 Travessias em árvores... 302 Árvores de expressão... 303 A notação polonesa para expressões... 308 Procura em espaços de estados... 309 A procura cega e a procura informada... 309 A estrutura de árvores gerais... 314 Busca em largura e busca em profundidade... 314 Conceitos importantes desta aula... 316 Exercícios... 316 Indíce Remissivo 319