Declarando e Chamando Funções

Slides:



Advertisements
Apresentações semelhantes
Funções em C Prof. Fabiano Utiyama.
Advertisements

Técnicas de Programação II Revisão TP1 Parte2
Denise Guliato Faculdade de Computação – UFU
Um programa em C Bibliotecas Variáveis globais
Linguagem C Marco Antonio – Julho/2009. Instalação A IDE que será utilizada é o Eclipse, com plugin para C/C++. Descompacte no diretório.
Funções em C.
Programação II Estruturas de Dados
Programação para Engenharia I
Algoritmos e Programação Linguagens de Programação Teoria Aula (09/06)
PROGRAMAÇÃO MODULAR (com uso de subprogramas)
Linguagem C LPG – I - FUNÇÕES Prof. Flavio Marcello
THOBER CORADI DETOFENO, MSC. Aula 08
UDESC - Prof. Juliano Maia1 Funções. UDESC - Prof. Juliano Maia2 Índice Seção 1 – Funções em C Seção 2 – Iniciação Ponteiros Seção 3 – Recursão.
LINGUAGEM ESTRUTURADA TURBO C
Universidade Federal do Espírito Santo
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas.
PROGRAMAÇÃO ou LINGUAGEM C?
Linguagem C Funções.
Vetores, Matrizes e Funções
Vetores, Matrizes e Funções
Linguagem C.
Armazenamento de Dados em Arquivos
Estruturas de Dados Homogêneas Multidimensionais – Matrizes
Matrizes e Funções - Continuação
Fundamentos de Programação 1
Revisão da Linguagem C.
Linguagem de Programação
Vetor de Ponteiros Exemplo de Alocação. Escrever Vetor de Vetores de floats int main() { int i, k, n; float **vetor; // vetor de vetores int *tamanho;
Iniciação à linguagem C++
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
APRESENTAÇÃO: DAVID ANDERSON CARDOSO DANTAS CURSO DE C AULA 04: Funções Maceió, Maio de 2010.
Introdução a Computação e Cálculo Numérico
Ameliara Freire Programação I Ameliara Freire
1 Funções de intervalo. Primeiro contacto com o C e o C++ Uma função de intervalo é uma aplicação f: [a,b] [a,b] definida de forma recursiva x n+1 =f(x.
1 Funções (versão C) Funções são pedaços de código encapsulados para fácil acesso. Em C e C++ o processo de construção de uma função passa por 2 etapas.
PROGRAMAÇÃO ESTRUTURADA II
PROGRAMAÇÃO ESTRUTURADA II
Marco Antonio Montebello Júnior
Programação II Estruturas de Dados Aula 02 - continuação
Programação de Computadores
Introdução à linguagem C
Técnicas de Desenvolvimento de Programas
F UNÇÕES : PASSAGEM DE PARÂMETROS Aluno:Kaynã Vasconcelos Santos Matéria: Estrutura de dados e algoritmos I Turma: Professor: Danilo Silva dos Santos.
Linguagem de Programação
Estruturas de Dados Aula 2: Estruturas Estáticas 07/04/2014.
Algoritmos - Profa. Alciléia1 Profa. Maria Alciléia Alves Rocha Funções em C 2011.
Estruturas de Dados Aula 8: Tipos Abstratos de Dados 30/04/2014.
Uso de parâmetros na linha de comando. Parâmetros da função main:
Introdução à Linguagem C
Aula Prática 3 Funções Monitoria Introdução à Programação.
 São utilizadas para dividir um código maior (mais complexo) em partes menores (mais simples).  Quando uma mesma tarefa é realizada várias vezes em um.
Revisão Luis Antonio Tavares
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IX Subprogramação e Recursividade.
Aula Prática 3 Funções Monitoria Introdução à Programação.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Ponteiros.
Ameliara Freire Dividir para Conquistar.
Introdução à Programação Engenharia da Computação Aula Prática 3 Funções Monitoria
Algoritmo e Estrutura de Dados I Introdução à Linguagem C Márcia Marra.
30/8/2015(c) Dept. Informática - PUC-Rio1 INF1007: Programação 2 Módulos.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula /08/2011 Professor Leomir J. Borba-
Linguagem de Programação
Tipo Abstrato de Dados (TAD) Estrutura de Dados Professor: Rodrigo Alves Sarmento Professor: André Cypriano.
PRE 1002 Éverlin Marques 2015/1.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C”
Fundamentos de Programação 1 Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Laços de Repetição em C”
Fundamentos de Programação 1
Fundamentos de Programação 1 Slides 7 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Funções”
FUNÇÕES Dilvan Moreira (baseado em material de Z. Liang)
Funções definidas pelo usuário Escola Olímpio Professor Marcelo Josué Telles Linguagem de Programação I1 de 36.
Transcrição da apresentação:

Declarando e Chamando Funções #include<conio.h> #include<stdio.h> void oi( ) { printf ("Oi! \n"); } int main( void ) { oi( ); /* Chamada de Função Sem Retorno */ getch( ); return 0; luistavares.com

Função de Retorno Inteiro #include<conio.h> #include<stdio.h> int calcula_quadrado (int a) { int result; result = a * a; return result; } int main (void) { int num, r; printf ("Informe um valor: "); scanf ("%d", &num); r = calcula_quadrado (num); printf ("Quadrado: %d", r); getch ( ); return 0; Função de Retorno Inteiro

Retorno de tipo real em C A palavra float antes do nome da função indica que a função irá retornar um valor real; A função seguinte está dividindo um parâmetro por outro e retornando o resultado. float divide (float a, float b) { float result; result = a / b; return result; }

Chamada para a função int main(void) { float n1, n2, r; printf ("Informe o primeiro numero: "); scanf ("%f", &n1); printf ("Informe o segundo numero: "); scanf ("%f", &n2); r = divide (n1, n2); printf (“Divisao: %f", r); getch ( ); return 0; } Chamada para a função

Exercícios luistavares.com

Protótipos de Funções e Arquivos Header Luis Antonio Tavares Linguagem C Protótipos de Funções e Arquivos Header Luis Antonio Tavares luistavares.com

Criar Funções Nos programas que desenvolvemos até agora tivemos de definir nossas funções antes do main (parte principal). Agora vamos ver como criar funções em qualquer parte de um arquivo .c ou até mesmo usar outro arquivo para implementar uma função.

Protótipo de Função Para definir uma função em qualquer parte de um arquivo fonte em linguagem C, precisamos primeiro criar o protótipo da função. O protótipo é a assinatura da função, trata-se da primeira linha da função porém encerrando com um ponto e vírgula ( ; ).

Protótipo de Função Pelo protótipo informamos ao compilador que em algum ponto dos arquivos ele encontrará uma função com as características informadas.

Exemplo de Protótipo de Função int potencia(int base, int exp); Função: int potencia (int base, int exp) { int result, cont; result = 1; for (cont = 1; cont <= exp; cont++){ result = result * base; } return result;

Como Ficaria o Programa #includes ... /* Bibliotecas */ int potencia(int base, int exp); /* Protótipo */ int main (void ) {... } /* Parte Principal */ int potencia (int base, int exp){ /* Função */ int result, cont; result = 1; for (cont = 1; cont <= exp; cont++){ result = result * base; } return result;

Arquivo Separado para a Função Passos Criamos um arquivo de cabeçalho contendo o protótipo da função; Criamos um arquivo .c que irá conter o código da função; Criamos um arquivo .c que irá conter a parte principal do programa.

1.Arquivo de Cabeçalho ou Header Criamos um arquivo de cabeçalho (header file) que irá conter apenas o protótipo da função: int potencia(int base, int exp); Nos arquivos header, são declaradas funções e constantes que podem ser compartilhadas por vários programas ou rotinas de linguagem C.

2.Arquivo .c da Função int potencia (int base, int exp){ /* Função */ Criamos um .c que contém o código da função: int potencia (int base, int exp){ /* Função */ int result, cont; result = 1; for (cont = 1; cont <= exp; cont++){ result = result * base; } return result;

3.Arquivo .c da Parte Principal #include<conio.h> #include<stdio.h> #include “potencia.h” /* Header File da Função */ int main (void){ int num, r; printf("Informe um numero: "); scanf("%d", &num); r = potencia(num, 3); printf("O resultado eh: %d", r); getch( ); return 0; } Note a Inclusão do Arquivo de Cabeçalho (.h) que contém o protótipo da função. Usa-se aspas por ser um arquivo local.

Exercícios luistavares.com

Variáveis Globais e Constantes Luis Antonio Tavares Linguagem C Variáveis Globais e Constantes Luis Antonio Tavares luistavares.com

Variáveis Locais x Globais Nos programas que desenvolvemos até agora declaramos apenas variáveis locais, ou seja, as variáveis que utilizamos tinham seu escopo limitado à função main ou outra função. Utilizamos parâmetros para transferir valores para funções.

Variáveis Locais x Globais Agora veremos como definir uma variável para se tornar visível em todo o código (variável global), sem a necessidade de passar por parâmetro entre as funções. Porém, o uso de variáveis globais não é recomendado.

Variáveis Locais #include<conio.h> #include<stdio.h> int main (void) { int a, b, r; printf("Informe o primeiro valor: "); scanf("%d", &a); printf("Informe o segundo valor: "); scanf("%d", &b); r = soma(a, b); printf("A soma eh: %d \n", r); return 0; } Variáveis Locais

Variáveis Globais Variável Global #include<conio.h> #include<stdio.h> int exemplo = 15; void exibe(); int main (void) { printf("Valor da variavel: %d \n", exemplo); exibe( ); getch( ); return 0; } void exibe ( ) { Variável Global

Variáveis Globais Note que a variável global foi definida logo após a inclusão das bibliotecas. No exemplo anterior a variável global será acessível tanto na função principal (main) como na função exibe( ).

Definição de Constantes Uma das maneiras de definir uma constante em linguagem C é através do uso da diretiva de compilação #define Exemplo: #define PI 3.14159 O compilador irá substituir todas as ocorrências da constante PI no código pelo valor 3.14159, no momento da compilação. luistavares.com

Definição de Constantes #include<stdio.h> #include<conio.h> #define PI 3.14159 int main( ) { printf("O valor de PI eh: %f", PI); getch( ); return 0; } luistavares.com

Definição de Constantes Um outro local onde podemos declarar constantes são nos arquivos de cabeçalho (ou arquivos header). Basta criar um arquivo de extensão .h, definir as constantes e protótipos dentro do arquivo e, depois, importar o arquivo no código usando o comando include.

Definição de Constantes Exemplo de arquivo header: #ifndef POTENCIA_H_ #define POTENCIA_H_ #define PI 3.14 int potencia(int base, int exp); #endif /* POTENCIA_H_ */ Comando de importação: #include “potencia.h”

Exercícios luistavares.com

Tipos de Variáveis Luis Antonio Tavares Linguagem C Tipos de Variáveis Luis Antonio Tavares luistavares.com

Principais Tipos de Variáveis Bytes Faixa que abrange Formato p/ scanf e printf char 1 -127 a 127 %c int 2 -32.768 / 32.767 %i ou %d long int 4 -2.147.483.648 a 2.147.483.647 %li float 3,4E-38 / 3.4E+38 %f double 8 1,7E-308 / 1,7E+308 %lf

Utilizando os Novos Tipos O tipo char permite armazenar letras; O tipo long é semelhante ao int, porém suporta um valor maior, com mais dígitos que o tipo int; O tipo double é semelhante ao float, porém também suporta mais dígitos que o float; O processo para declarar e utilizar variáveis dos tipos char, long e double é o mesmo que já utilizamos para as variáveis de tipo int e float.

Declarando Variáveis Long Int #include <stdio.h> #include <conio.h> int main(void) { long int a; /* Declarando variável long int */ return 0; }

Variáveis Long Int Em Um Programa #include <stdio.h> #include <conio.h> int main(void) { long int a, q; /* Declarando variável long int */ printf("Informe um valor inteiro: "); scanf("%li", &a); /* Função Leia */ q = a * a; printf(“Esse valor ao quadrado eh: %li", q); return 0; }

Declarando Variáveis Double #include <stdio.h> #include <conio.h> int main(void) { double a; /* Declarando variável double */ return 0; }

Variáveis Double Em Um Programa #include <stdio.h> #include <conio.h> int main(void) { double a, q; /* Declarando variável real */ printf("Informe um valor real: "); scanf("%lf", &a); q = a * a; printf(" Esse valor ao quadrado eh: %lf", q); return 0; }

Declarando Variáveis Char #include <stdio.h> #include <conio.h> int main(void) { char a; /* Declarando variável char*/ return 0; } Tome cuidado, pois esta declaração funciona apenas para um único caractere, não palavras.

Variáveis Char Em Um Programa int main(void) { char v; printf("Informe apenas uma letra: "); scanf("%c", &v); if (v == 'a'){ printf("Voce digitou a letra A."); } else { printf("Voce digitou letra diferente de A."); getch(); return 0;

Funções Também podemos definir funções que recebam variáveis de tipo double, long int e char como parâmetro e funções que tenham retorno de tipo double, long int ou char. Exemplo: double cubo (double num) { double result; result = num * num * num; return result; } luistavares.com

Exercícios luistavares.com

Estrutura Switch Case Luis Antonio Tavares luistavares.com

Muitas Condições Aninhadas Em algumas situações pode ser necessário o uso de muitas condições aninhadas. Exemplo: if (num == 1) { /* Bloco de Instruções */ } else if (num == 2) { else if (num == 3) { else {

Comando Switch Case O comando Switch Case serve para facilitar este tipo de construção, simplificando a organização do código, já que muitas condições aninhadas podem ser um pouco confuso; Porém o Switch Case só serve para comparar valores inteiros ou tipos derivados, por exemplo: char e long int.

Comando Switch Case switch (n) { case 1: printf("Valor Um"); break; printf("Valor Dois"); case 3: printf("Valor Tres"); }

Comando Switch Case Após o switch, definimos a variável que será manipulada (n); Cada um dos blocos case trata-se de uma possibilidade de valor para esta variável; Se a variável n for igual a 1, então o bloco de código definido no case 1 será executado; Se a variável n for igual a 2, então o bloco de código definido no case 2 será executado; Se a variável n for igual a 3, então o bloco de código definido no case 3 será executado;

Comando Switch Case Também é possível adicionar um bloco default, que será executado caso a variável manipulada não corresponda a nenhum dos valores definidos pelos case; default: printf("Bloco Padrão"); break;

Comando Switch Case switch (n) { case 1: printf("Valor Um"); break; printf("Valor Dois"); default: printf(“Nenhum dos Valores"); }

Comando Switch Case A instrução break é responsável por encerrar a execução do bloco de código; Quando não presente, a execução do programa inicia em um case e continua pelos próximos case, até encontrar um comando break.

Comando Switch Case switch (n) { case 1: printf("Valor Um"); case 2: printf("Valor Dois"); break; default: printf(“Nenhum dos Valores"); }

Exercícios luistavares.com

Vetores Luis Antonio Tavares Linguagem C Vetores Luis Antonio Tavares luistavares.com

Vetores Vetores são coleção de objetos que têm mesma natureza, ou seja, todos seus elementos possuem um mesmo tipo básico; São chamados também de array, em inglês; Os elementos de um vetor são identificados pelo nome seguido de índice entre colchetes. Com vetores, conseguimos armazenar vários valores usando um mesmo identificador (variável), porém cada valor fica em um índice diferente. luistavares.com

Declaração de Vetor int exemplo [5]; Tipo Nome Número Elementos Na declaração de um vetor tempos de definir o tipo do vetor, o nome do vetor e a quantidade de elementos (entre colchetes); Para atribuir e acessar os elementos do vetor, temos de especificar o índice do elemento, também através do uso de colchetes. Ex.: exemplo[3] = 100; luistavares.com

Declaração de Vetor No caso da declaração do vetor anterior, obtemos na memória o seguinte arranjo: Observe que o vetor exemplo é dividido em 5 posições. Cada posição pode ser ocupada por um valor distinto; Depois de inicializar a posição 3 com o valor 100, ainda tempos 4 posições livres no vetor. exemplo 100 índices [0] [1] [2] [3] [4] luistavares.com

Declaração de Vetor Exemplo - vetor de notas de uma turma: float notas[22]; Organização do vetor: notas 7,8 10,0 5,6 ... 8,5 índices [0] [1] [2] ... [21] luistavares.com

Declaração e Inicialização de Vetor Veja exemplos de declarações e inicializações de vetores a seguir. int dia[7] = { 12, 30, 14, 7, 13, 15, 6 }; float notas[5] = { 8.4, 6.9, 4.5, 4.6, 7.2 }; char vogal[5] = { 'a', 'e', 'i', 'o', 'u' }; luistavares.com

Declaração e Inicialização int exemplo[5]; exemplo[0] = 20; exemplo[1] = 22; exemplo[2] = 24; exemplo[3] = 26; exemplo[4] = 28; printf("Primeiro elemento do vetor: %d \n", exemplo[0]); printf("Segundo elemento do vetor: %d \n", exemplo[1]); printf("Terceiro elemento do vetor: %d \n", exemplo[2]); printf("Quarto elemento do vetor: %d \n", exemplo[3]); printf("Quinto elemento do vetor: %d \n", exemplo[4]); luistavares.com

Varrendo o Vetor int cont; int exemplo[5]; exemplo[0] = 20; exemplo[1] = 22; exemplo[2] = 24; exemplo[3] = 26; exemplo[4] = 28; for (cont = 0; cont <=4; cont++) { printf(“Elemento do vetor: %d \n”, exemplo[cont]); } luistavares.com

Atribuindo Dados Lidos ao Vetor int exemplo[5]; printf("Informe o primeiro valor: "); scanf("%d", &exemplo[0]); printf("Informe o segundo valor: "); scanf("%d", &exemplo[1]); printf("Informe o terceiro valor: "); scanf("%d", &exemplo[2]); printf("Informe o quarto valor: "); scanf("%d", &exemplo[3]); printf("Informe o quinto valor: "); scanf("%d", &exemplo[4]);

Atribuindo Dados Lidos ao Vetor Para evitar repetições podemos usar um laço para percorrer todos os índices do vetor, armazenando em cada posição um valor informado pelo usuário: for (cont = 0; cont <=4; cont++) { printf("Informe um valor: "); scanf("%d", &exemplo[cont]); }

Exemplo Completo int main( ) { int cont, exemplo[5]; for (cont = 0; cont <=4; cont++) { printf("Informe um valor: "); scanf("%d", &exemplo[cont]); } printf("\n Estes sao os elementos do vetor: \n"); printf("Elemento: %d \n", exemplo[cont]); getch( ); return 0;

Exercícios luistavares.com

Trabalhando com Strings Luis Antonio Tavares Linguagem C Trabalhando com Strings Luis Antonio Tavares luistavares.com

Strings Uma String é o termo utilizando em programação para definir uma sequência de caracteres; Usamos Strings para armazenar nomes, endereços, até mesmo números, desde que não sejam usados em operações aritméticas, apenas como valor literal.

Strings Em linguagem C criamos uma String  ao definir um vetor de caracteres; Exemplo: char nome[50]; char endereco[200];

Lendo Strings Ao ler Strings em linguagem C podemos usar o especificador %s, o qual lê o conteúdo digitado pelo usuário até encontrar o primeiro espaço; Ou podemos utilizar o comando: scanf("%[^\n]", &variavel); O comando irá ler todo o conteúdo digitado pelo usuário até encontrar o \n, ou seja, a tecla enter; Para apresentar a String também utilizamos o especificador %s.

Programa Exemplo Usando %s #include <stdio.h> #include <conio.h> int main (void) { char nome[30]; printf("Informe seu nome: "); scanf("%s", &nome); printf("Seu nome eh: %s", nome); getch( ); return 0; }

Programa Exemplo Alternativo #include <stdio.h> #include <conio.h> int main (void) { char nome[30]; printf("Informe seu nome: "); scanf("%[^\n]", &nome); printf("Seu nome eh: %s", nome); getch( ); return 0; }

Programa Usando Função gets( ) Também é possível utilizar a função gets para ler uma String, veja o exemplo: int main (void) { char nome[30]; printf("Informe seu nome: "); gets(nome); printf("Seu nome eh: %s", nome); getch( ); return 0; }

Formação da String Como a String é um vetor, também podemos percorrer os vários caracteres que a constitui através de um laço de repetição; Utilizaremos o laço de repetição para percorrer os caracteres da String até que encontre o caractere de controle \0, responsável por indicar o final da String.

Inicializando String char nome [5] = { 'L', 'u', 'i', 's', '\0' }; Repare que apesar da String possuir 4 caracteres, devemos sempre definir o tamanho com uma unidade a mais devido ao caractere \0 que delimita o fim da String. luistavares.com

Formação da String O caractere de controle \0 é sempre o último caractere em uma String.

Percorrendo os Caracteres int main(void) { char nome[30]; int cont = 0; printf("Informe seu nome: "); scanf("%[^\n]", &nome); while (nome[cont] != '\0'){ printf("%c \n", nome[cont]); cont++; } getch( ); return 0;

Funções para Strings Por se tratar de um vetor, não é possível comparar uma String com outra utilizando os operadores relacionais >, <, !=, etc. Assim como não é possível atribuir o conteúdo de uma String diretamente a outra. Se optarmos por esta forma, teria de ser uma atribuição de posição por posição da String.

Funções para Strings Para realizar essas operações utilizaremos algumas funções da biblioteca string.h strcpy (str1, str2); /* Copia */ strcat (str1, str2); /* Concatena */ strcmp (str1, str2); /* Compara */ strlen (str1); /* Calcula tamanho */

Exemplo Copiando String #include <string.h> int main (void) { char nome1[30]; char nome2[30]; printf("Informe seu nome: "); scanf("%s", &nome1); strcpy (nome2, nome1); printf("Valor da variavel nome1: %s \n", nome1); printf("Valor da variavel nome2: %s", nome2); getch( ); return 0; }

Exemplo Tamanho de String #include <string.h> int main (void) { char frase[250]; int tamanho; printf("Informe seu nome: "); scanf("%[^\n]", &frase); tamanho = strlen (frase); printf("Quantidade caracteres: %d", tamanho); getch( ); return 0; }

Exemplo Concatenando String char nome[100], sobrenome[100]; printf("Informe seu nome: "); fflush(stdin); scanf("%[^\n]", &nome); printf("Informe seu sobrenome: "); scanf("%[^\n]", &sobrenome); strcat(nome, " "); strcat(nome, sobrenome); printf("Nome completo: %s", nome);

Exemplo Comparando String char nome1[50], nome2[50]; printf("Informe uma palavra: "); fflush(stdin); scanf("%s", &nome1); printf("Informe outra palavra: "); scanf("%s", &nome2); if (strcmp(nome1, nome2) < 0) { printf("A palavra que vem primeiro: %s", nome1); } else { printf("A palavra que vem primeiro : %s", nome2);

Funções da Biblioteca ctype.h #include <stdio.h> #include <conio.h> #include <ctype.h> int main (void) { printf ("tolower A = %c\n", tolower('A') ); printf ("toupper a = %c", toupper('a') ); getch( ); return 0; } Converte letra para maiúscula ou minúscula.

Funções strupr e strlwr #include <stdio.h> #include <conio.h> #include <string.h> /* Biblioteca Necessária */ int main (void) { char s1[ ] = "ABC"; strlwr(s1); printf ("Palavra em minusculas: %s\n", s1); strupr(s1); printf ("Palavra em maiusculas: %s\n", s1); getch( ); return 0; } Converte palavra para maiúscula ou minúscula.

Exercícios luistavares.com

Gravando Dados em Arquivo Luis Antonio Tavares Linguagem C Gravando Dados em Arquivo Luis Antonio Tavares luistavares.com

Gravando em Arquivo Veremos na sequência quatro funções básicas para gravar e ler dados de um arquivo com Linguagem C; Existem outras funções para a mesma finalidade, mas as funções que serão abordadas são de uso mais simplificado.

Funções Básicas fopen ( ) – abrir arquivo; fclose( ) – fechar arquivo; fwrite( ) – grava o conteúdo no arquivo; fread( ) – lê o conteúdo do arquivo.

Declarando o arquivo e um valor #include <stdio.h> #include <conio.h> int main(void) { FILE * f; int a[3] = {4,5,6}; ...

Abrindo o Arquivo Abrindo o arquivo em modo de escrita binário. f = fopen("arquivo.bin", "wb"); if (f == NULL) { printf("Erro ao abrir o arquivo! \n"); getch( ); return 0; }

Gravando o dado no arquivo Parâmetros de gravação: Variável, tamanho, quantidade e arquivo; fwrite(a, sizeof( int ), 3, f); if (fclose( f ) != 0) { printf("Erro ao fechar o arquivo"); }

Exemplo Completo Gravando FILE * f; int a[3] = {4,5,6}; f = fopen("arquivo.bin", "wb"); if (f == NULL) { printf("Erro ao abrir o arquivo! \n"); getch( ); return 0; } fwrite(a, sizeof( int ), 3, f); if (fclose( f ) != 0) { printf("Erro ao fechar o arquivo");

Funcionamento Após rodar o código anterior o programa irá gravar o conteúdo do vetor chamado a em um arquivo de nome arquivo.bin. luistavares.com

Abrindo o arquivo para ler o valor #include <stdio.h> #include <conio.h> int main(void) { FILE * f; int a[3], cont; f = fopen("arquivo.bin", "rb"); if (f == NULL) { printf("Erro ao abrir o arquivo! \n"); getch( ); return 0; }

Lendo o valor gravado em arquivo fread(a, sizeof( int ), 3, f); for (cont=0; cont<=2;cont++){ printf("Valor lido: %d \n", a[cont]); } if (fclose( f ) != 0) { printf("Erro ao fechar o arquivo");

Exemplo completo lendo o valor FILE * f; int a[3], cont; f = fopen("arquivo.bin", "rb"); if (f == NULL) { printf("Erro ao abrir o arquivo! \n"); getch( ); return 0; } fread(a, sizeof( int ), 3, f); for (cont=0; cont<=2;cont++){ printf("Valor lido: %d \n", a[cont]); if (fclose( f ) != 0) { printf("Erro ao fechar o arquivo"); luistavares.com

Funcionamento Após rodar o código anterior o programa irá ler o conteúdo do arquivo de nome arquivo.bin e armazenar esse conteúdo no vetor chamado a. luistavares.com

Simplificando a escrita em arquivo FILE * f; int a[3] = {4,5,6}; /* declara */ f = fopen("arquivo.bin", "wb"); /* abre */ fwrite(a, sizeof( int ), 3, f); /* grava*/ fclose( f ); /* fecha */

Simplificando a leitura de arquivo FILE * f; int a[3], cont; f = fopen("arquivo.bin", "rb"); fread(a, sizeof( int ), 3, f); /* leitura */ for (cont=0; cont<=2;cont++){ printf("Valor lido: %d \n", a[cont]); } fclose( f );

Exercícios luistavares.com