O pré-processador executa transformações controladas no arquivo fonte antes da compilação. Os comandos (sentenças) sempre são iniciados por #.
|
|
- Augusto Castelo Casqueira
- 6 Há anos
- Visualizações:
Transcrição
1 O modificador static Se o modificador static for utilizado na declaração de uma variável local em uma função, essa variável não perderá seu valor entre chamadas à função. void rot1() { static int var1=0; printf( %d\n, var1++); rot1(); rot1(); rot1(); No vídeo obteremos: Observe no exemplo acima, a variável var1 foi iniciada com zero apenas o início do programa os incrementos dentro do printf alteram o valor que permanecerá nessa variável mesmo quando a função rot1 não estiver executando. O pré-processador O pré-processador executa transformações controladas no arquivo fonte antes da compilação. Os comandos (sentenças) sempre são iniciados por #. #include Incluiu o arquivo especificado. trata o texto no arquivo especificado como se esse texto aparecesse no arquivo corrente. Formato: #include arquivo.ext Inclui o arquivo especificado, encontrado no diretório corrente. Se ele não for encontrado, a busca pelo arquivo continua no diretório de includes. #include <arquivo.ext> Por que o utilizar #include? Inclui o arquivo especificado, encontrado no diretório de includes. O #include é utilizando para incluir o arquivo que contém os protótipos das funções nas bibliotecas utilizadas. O que são protótipos? Protótipos são definições dos tipos dos parâmetros e tipo do valor retornado pela função. O compilador só é capaz de compilar as chamadas às funções as quais tem os parâmetros e o tipo retornado previamente declarados. Assim, devemos declará-la completamente ou pelo menos seu protótipo antes que ela possa antes ser chamada. printf( Hello World\n ); #define Define uma macro. Formato: #define <id1>[( <id2>,... )] < texto que substituirá > A diretiva #define define uma macro. Macros fornecem um mecanismo para substituição com ou sem um junto formal de parâmetros. Todas as instâncias subseqüentes do identificador <id1> no arquivo fonte será substituído pelo texto definido por < texto que substituirá >.
2 Se <id1> é seguido IMEDIATAMENTE por um (, o identificador após o abre parênteses (<id2>, etc.) é tratado como parâmetros de uma função. Todas as instâncias de <id2> em < texto que substituirá > serão substituídas com o texto atual para <id2> quando <id1> foi referência dado no arquivo fonte. Para continuar as definições em outra linha, termine a linha atual com \. Exemplos: Considere o programa abaixo: após o pré-processamento obteremos: #define TRUE 1 #define FALSE 0 if (TRUE) printf( VERDADEIRO ) if (!FALSE) printf( FALSO ) todas os protótipos do stdio.h, inclusive: int _Cdecl printf (const char * format,...); if (1) printf( VERDADEIRO ); if (!0) printf( FALSO ); Considere o programa abaixo: #define BEGIN { #define END void main() BEGIN printf( VERDADEIRO ); END após o pré-processamento obteremos: todas os protótipos do stdio.h, inclusive: int _Cdecl printf (const char * format,...); void main() { printf( VERDADEIRO ) #define com parâmetros Considere o programa abaixo: #define MAX(A,B) A>B?A:B int x=10, y=20; float r1=1.2, r2=2.3; printf( %d\n, MAX(x, y)); printf( %d\n, MAX(x-y, x+y)); printf( %f\n, MAX(r1, r2)); após o pré-processamento obteremos: todas os protótipos do stdio.h, inclusive: int _Cdecl printf (const char * format,...); int x=10, y=20; float r1=1.2, r2=2.3; printf( %d\n, x>y?x:y); printf( %d\n, x-y>x+y?x-y:x+y); printf( %f\n, r1>r2?r1:r2); Considere o programa abaixo: #define SQR(X) X*X int x=10; printf( %d\n, SQR(x)); printf( %d\n, SQR(x+1)); após o pré-processamento obteremos: todas os protótipos do stdio.h, inclusive: int _Cdecl printf (const char * format,...); int x=10; printf( %d\n, x*x); (resultado: 100) printf( %d\n, x+1*x+1); (resultado: 21) A precedência deve ser considerada após a substituição do #define. Assim, para evitar surpresas desagradáveis, como no exemplo acima, muitas vezes cercamos os parâmetros com parênteses. Por exemplo: #define SQR(X) (X)*(X).
3 Montagem Condicional O préprocessador permite também a utilização de diretivas para indicar partes do programa que devem ser ignoradas (não são compiladas nem geram código). As diretivas que controlam a montagem condicional são: #ifdef, #ifndef, #if, #elif, #else e #endif. O exemplo abaixo, composto por dois arquivos (principal.c e biblioteca.h), usa compilação condicional. No arquivo principal.c a compilação do printf( %d, i); ocorrerá apenas se o #define DEBUG estiver declarado. No arquivo biblioteca.h é implementado um controle que realizará a inclusão do conteúdo desse arquivo apenas uma vez, mesmo que o #include biblioteca.h aconteça diversas vezes. //arquivo principal.c #include biblioteca.h #define DEBUG int i; i=leint(); #ifdef DEBUG printf( %d, i); #endif mostraint(i); //arquivo biblioteca.h #ifndef BIBLIOTECA_H #define BIBLIOTECA_H void mostraint(int var1); int leint(); #endif Exercício: Pesquise sobre as diretivas de compilação condicional e procure na Internet exemplos de utilização dessas diretivas. Criação e Utilização de Bibliotecas de Funções Muitas vezes, por diversas razões, se deseja criar rotinas empacotadas separadamente do programa principal. A esses pacotes de rotinas costumamos chamar de bibliotecas. Duas formas de implementação são utilizadas para criar bibliotecas, uma utiliza arquivos objeto (.obj) e a outra utiliza arquivos de biblioteca (.lib). O arquivo de biblioteca é a união de vários arquivos objetos. Quanto à utilização tanto os arquivos objeto quanto os arquivos de biblioteca comportam-se da mesma forma e são utilizados seguindo os mesmos critérios. Para entender a utilização de bibliotecas de funções é necessário um entendimento prévio do funcionamento da compilação e da ligação. A compilação transforma o arquivo fonte texto escrito pelo programador em um arquivo objeto, gerado na linguagem do processador onde o programa será executado. Um arquivo objeto contém apenas o código correspondente ao que existe no arquivo fonte, isso significa que funções que são chamadas, mas não estão implementadas no arquivo fonte, não farão parte no arquivo objeto gerado, essas funções serão apenas referenciadas. A ligação junta todos os arquivos objetos gerando um arquivo executável. A ligação é responsável também pelo preenchimento dos endereços de chamada das funções juntadas. Para que o compilador consiga interpretar e gerar o código da chamada de uma função é necessário que o compilador tenha informações sobre os tipos dos parâmetros e do valor retornado pela função. Se essa função não está declarada antes da chamada no mesmo arquivo, a utilização de um protótipo da função a declaração da primeira linha da função seguida por ponto e vírgula é necessária para que a compilação possa prosseguir. O processo de ligação deve de alguma forma conhecer a localização dos arquivos que serão unidos para criação do executável. Espaço de trabalho (no Visual C ) ou projeto (no Turbo e Borland C) são estruturas utilizadas para indicar a localização dos arquivos e dessa forma permitir que partes de um programa, desenvolvidas separadamente, possam ser unidas para formar um único executável. Sempre que se deseja utilizar uma biblioteca é necessário o arquivo objeto (.obj) contendo as funções desejadas e o arquivo de cabeçalhos (.h) que define os protótipos das funções incluídas na biblioteca. Da mesma forma para se criar uma biblioteca coloca-se todas as funções desejadas em um arquivo fonte (.c) que após a compilação gerará um arquivo objeto (.obj). Cria-se também um arquivo de cabeçalhos com extensão (.h) colocando-se os protótipos das funções.
4 Exemplo: Definição da biblioteca //arquivo biblio.c void mostraint(int var1) { printf( %d\n, var1); int leint() { int i; scanf( %d, &i); return i; //arquivo biblioteca.h void mostraint(int var1); int leint(); Após a compilação será gerado o arquivo biblio.obj. Utilização da biblioteca //arquivo principal.c #include biblioteca.h int i; i=leint(); mostraint(i); Após a compilação será gerado o arquivo principal.c. A união das rotinas contidas no arquivo biblio.obj com o arquivo principal.c ocorre com o processo de ligação. Após a ligação o arquivo.exe será gerado. Estruturas struct Uma estrutura (struct) é um agrupamento de variáveis em um registro único. struct [<struct-type-name>] { <type> <variable-names> ;... [<struct-variables>] ; Onde: <struct-type-name> é um nome opcional para referenciar o tipo da estrutura. <struct-variables> declarações opcionais das variáveis do tipo da estrutura. <struct-type-name> e <struct-variables> são opcionais, mas pelo menos um deles deve aparecer.
5 Por exemplo, struct data { int dia, mês, ano; struct pessoa { char nome[30]; char ender[30]; long cep; double salario; struct data nascimento, contratacao; var1; Declaração de uma variável do tipo estrutura: struct pessoa pess; Acesso aos campos da estrutura: var1.cep= ; pess.nascimento.dia=10; Ponteiros para estruturas Declaração de um ponteiro para uma estrutura: struct data *p; Acesso aos campos da estrutura através do ponteiro: (*p).cep= ; p->nascimento.dia=10; Lembre-se que o ponteiro p deve estar indicando uma área de memória reservada para que o acesso possa ser realizado. Campos de bits Campos de bits permitem acessos para alguns bits de uma variável. Um campo de bits é um elemento de uma estrutura que é definida em termos de bits. Usando um tipo especial de definição de struct, é possivel declarar uma campo da estrutura que pode variar de 1 a 16 bits de comprimento. Por exemplo, struct bit_field { int bit_1 : 1; int bits_2_to_5 : 4; int bit_6 : 1; int bits_7_to_16 : 10; bit_var; Uniões Uma união (union) consiste de uma variável que pode conter valores de diferentes tipos compartilhando a mesma área de memória. Uma união é semelhante a uma struct, exceto que ela permite definir variáveis que compartilham o mesmo espaço de armazenamento.
6 Formato: union [<union-type-name>] { <type> <variable-names> ;... [<union-variables>] ; Por exemplo, union int_or_long { int i; long l; a_number; O compilador alocará memória suficiente para acomodar o elemento maior na união. Ao contrário da struct, as variáveis a_number.i e a_number.l ocupam a mesma localização em memória. Assim, escrevendo em uma irá escrever sobre o valor da outra. Acessos aos elementos de uma união são feitos da mesma maneira como em uma struct. Definições de Tipos Formato: typedef <type-definition> <identifier> ; Associa um nome novo de tipo <identifier> a um tipo <type-definition>. Exemplos: typedef int INTEGER; /* criação do tipo INTEGER */ INTEGER var2; /* utilização do tipo */ typedef struct { int dia, mes, ano; tipodata; tipodata aniversario; Parâmetros para a Função main Pode-se usar dois argumentos na função main(). Esses argumentos são atribuídos pelo sistema operacional no momento da iniciação do programa. O primeiro argumento é um inteiro que contém o número de elementos (cadeias de caracteres) recebidos do S.O. O segundo argumento é um vetor de ponteiros para as cadeias de caracteres recebidas. void main(int argc, char *argv[]) { printf( Exite(m) %d parâmetros\n, argc); if (argc!=2) printf( %s\n, Número inválido de parâmetros\n ); else printf( %s %s\n, Parâmetro:, argv[1]);
7 Operações com Arquivos Funções com protótipos no arquivo de cabeçalhos stdio.h. Função fopen() Abre um arquivo FILE *fopen(const char *filename, const char *mode); fopen abre o arquivo com o nome filename e retorna um ponteiro para uma estrutura de informações do arquivo aberto. Se o ponteiro é NULL, indica erro de abertura. A cadeia de caracteres mode indica o modo de abertura do arquivo. modo descrição r abre para leitura w abre para escrita a abre para escrita no fim do arquivo + leitura/escrita b arquivo binário t arquivo texto (default) Função fclose() Fecha um arquivo. int fclose(file *stream); Grava no disco todas informações associadas ao arquivo antes de fechá-lo. Retorna zero no sucesso ou EOF se um erro for detectado. Função fgetc() int fgetc(file *stream); Retorna o caracter atual do arquivo e avança o indicador para o próximo caracter ou EOF para indicar fim de arquivo. Função fputc() int fputc(int c, FILE *stream); Escreve o caracter c no arquivo. Função feof() int feof(file *stream); Retorna 1 para indicar fim do arquivo ou 0 caso contrário.
8 Exemplo: char ch; FILE *fpent, *fpsai; char arqent[80], arqsai[80]; printf("arquivo de entrada: "); gets(arqent); if (!(fpent=fopen(arqent, "rb"))) { printf("erro na abertura do arquivo %s\n", arqent); return; printf("arquivo de saida: "); gets(arqsai); if (!(fpsai=fopen(arqsai, "wb"))) { printf("erro na abertura do arquivo %s\n", arqsai); return; while (!feof(fpent)) { ch=fgetc(fpent); fputc(ch, fpsai); if (ch==' ') { while ((ch=fgetc(fpent))==' '); fputc(ch, fpsai); fclose(fpsai); fclose(fpent); Macros putc() e getc() A macros putc() e getc() são compatíveis às funções fputc() e fgetc(), respectivamente. Existem por motivos de compatibilidade. Arquivos Padrões Arquivos definidos automaticamente abertos quando o programa é iniciado. Esses arquivos são: stdin dispositivo de entrada padrão (teclado) stdout dispositivo de saída padrão (vídeo) stderr dispositivo de saída padrão de erros (vídeo) stdaux dispositivo auxiliar padrão stdprn impressora padrão Esses arquivos estão declarados no stdio.h. Exemplos: #define mostracaracter(ch) putc(ch, stdout) #define lecaracter() getc(stdin) Função exit() void exit(int status); Terminam o programa. O valor de status é retornando à função chamadora. Normalmente um valor 0 é usado para indicar uma finalização normal e o valor não zero indica algum erro.
cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).
Cast (conversão) Um tipo de dado pode ser convertido momentaneamente em outro tipo com um cast. Em linguagem C a sintaxe usada é formada pelo tipo desejado entre parênteses precedendo a expressão a ser
Leia maisAula 16: Manipulação de Arquivos em C
Aula 16: Manipulação de Arquivos em C Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Manipulação de Arquivos Programação de Computadores IV 1 / 33
Leia maisComputação 2. Aula 9. Diego Addan Arquivos
Computação 2 Aula 9 Arquivos Diego Addan diegoaddan@gmail.com E/S com Arquivos A linguagem C não possui nenhum comando de E/S. Todas as operações de E/S ocorrem mediante chamadas a funções de biblioteca
Leia maisComputação 2. Aula 8. Profª. Fabiany Arquivos
Computação 2 Aula 8 Arquivos Profª. Fabiany fabianyl@utfpr.edu.br E/S com Arquivos A linguagem C não possui nenhum comando de E/S. Todas as operações de E/S ocorrem mediante chamadas a funções de biblioteca
Leia maisunion [<union-type-name>] { <type> <variable-names> ;... } [<union-variables>] ; union int_or_long { int i; long l; } a_number;
Uniões Uma união (union) consiste de uma variável que ode conter valores de diferentes tios comartilhando a mesma área de memória. Uma união é semelhante a uma struct, exceto que ela ermite definir variáveis
Leia maisLinguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Leia maisLinguagem C Ficheiros Compilação Separada
Linguagem C Ficheiros Compilação Separada typedef definição de tipos Apontadores para estruturas Ficheiros na bibiloteca standard do C Compilação Separada Definição de novos tipos em C É possível definir
Leia mais1/24 FICHEIROS DE TEXTO
1/24 FICHEIROS DE TEXTO Hardware de entrada/saída 2/24 Hardware de entrada/saída Grande variedade de dispositivos de E/S (Input/Output) - de memória: disco interno e externo, DVD, pen, CD,... - de transmissão:
Leia maisOutline. 33. Manipulação de arquivos DIM
Outline 33. Manipulação de arquivos DIM031 015.1 Leitura e escrita 3 s DIM031 33. Manipulação de arquivos 015.1 1 / 4 DIM031 33. Manipulação de arquivos 015.1 / 4 Arquivo = entidade de armazenamento de
Leia maisManipulação de Arquivos Exercício/Exemplo:
Manipulação de Arquivos Exercício/Exemplo: Com o que vimos até o momento sobre manipulação de arquivos. Construa um função em C que possua a capacidade de escrever um inteiro em um arquivo binário. Escreva
Leia maisLinguagem C: diretivas, compilação separada. Prof. Críston Algoritmos e Programação
Linguagem C: diretivas, compilação separada Prof. Críston Algoritmos e Programação Diretivas do pré processador Permite que o programador modifique a compilação O pré processador é um programa que examina
Leia maisSumário. Ficheiros. Ficheiros
Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções
Leia maisAula 26: Arquivos de texto
Aula 26: Arquivos de texto Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aulas anteriores Estruturas heterogêneas Alocação
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Leia maisE/S em Arquivo. Para ler ou escrever arquivos é preciso usar ponteiros de arquivo. Um ponteiro de arquivo é uma variável ponteiro do tipo FILE:
E/S em Arquivo A linguagem C não contém nenhum comando de E/S. O sistema de E/S de C provê um nível de abstração entre o programador e o dispositivo utilizado. Abstração stream Dispositivo real arquivo
Leia maisTipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas
Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
Leia maisEstruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?
Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o
Leia maisEstruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011
Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
Leia maisProgramação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre
Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Manipulação de ficheiros de texto Programação 2010/2011 IST-DEEC Manipulação de Ficheiros 1 Sumário Ficheiros
Leia maisSSC304 Introdução à Programação Para Engenharias. Arquivos. GE4 Bio
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Arquivos GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos
Leia maisAula 26 - Arquivos. Prof. Laura Silva de Assis. Engenharia da Computação. CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca
Programação I Aula 26 - Prof. Laura Silva de Assis Engenharia da Computação 2 o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca UnED Petrópolis 2 o semestre - 2015 1 Sumário
Leia maisC Arquivos. Adriano Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ
C Arquivos Adriano Cruz 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Resumo da Seção Introdução Fluxos de Dados Arquivos Funções de Entrada e Saída Abrindo um
Leia maisAmbiente de desenvolvimento
Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa
Leia maisLaboratório de Introdução à Ciência da Computação I
Laboratório de Introdução à Ciência da Computação I Aula 13 Arquivos Professores: Jó Ueyama 10/06/10 1 Stream de texto Arquivo: tipo texto Um arquivo texto é uma sequência de linhas, onde cada linha contém
Leia maisTÉCNICAS DE PROGRAMAÇÃO
TÉCNICAS DE PROGRAMAÇÃO Arquivo Conceitos Arquivo Fluxo de bytes stream Linguagem C Estrutura do tipo FILE FILE contém informações do arquivo Tamanho Ponteiro para buffer dados Atual operação sobre o arquivo
Leia maisEstruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Leia maisCAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:
CAP. IX - MANIPULAÇÃO DE ARQUIVOS 9.1 Generalidades sobre arquivos 9.2 Abertura e fechamento de arquivos 9.3 Arquivos textos e arquivos binários 9.4 Leitura e escrita em arquivos binários 9.5 Procura direta
Leia maisExiste uma quantidade de informação que pode ser armazenada para resolver o problema.
Arquivos Introdução As estruturas vistas anteriormente armazenam as informações na memória principal do computador. Nem sempre é conveniente. Problemas: A informação é perdida; As estruturas de dados são
Leia maisAula 14 Oficina de Programação Tópicos Especiais em C: Arquivos. Profa. Elaine Faria UFU
Aula 14 Oficina de Programação Tópicos Especiais em C: Arquivos Profa. Elaine Faria UFU - 2017 Uso da Memória Secundária Em muitos casos necessitamos da memória secundária (auxiliar), para armazenar informações
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Linguagem C Arquivos Seqüências ou de Texto. Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO 1 Arquivo de Escrita 1 fopen ( nome.txt", "w" ); fputc ( caracter, arquivo); 2 #include
Leia maisTópicos em C. Eliade F. Lima
Tópicos em C Eliade F. Lima maio/2010 Criada em 1972, por Dennis Ritchie, nos laboratórios Bell, para ser usada no sistema operacional UNIX. Linguagem de propósito geral, sendo adequada à programação estruturada.
Leia maisHello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento
Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double
Leia maisAlgoritmos e Estruturas de Dados II IEC013
Algoritmos e Estruturas de Dados II IEC013 Linguagem C - Arquivos - Prof. César Melo cavmelo@dcc.ufam.edu.br Slides preparados pelo Prof. Leandro Galvão galvao@dcc.ufam.edu.br Conceitos iniciais Um arquivo
Leia maisLinguagem C: Introdução
Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais
Leia maisUniversidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Profa Rosana Braga 1º semestre de 2010 1 Arquivo-FONTE /*******************************/ /* Primeiro exemplo arq exemplo1.c
Leia maisLeitura de Arquivos. Prof. Fabrício Olivetti de França
Leitura de Arquivos Prof. Fabrício Olivetti de França Leitura de Arquivos Na linguagem C temos um tipo especial chamado FILE para trabalhar com arquivos. Abrindo e fechando um arquivo Para abrir um arquivo
Leia maisA Linguagem C. A forma de um programa em C
A Linguagem C Criada em 1972 por D. M. Ritchie e K. Thompson. Tornou-se uma das mais importantes e populares, principalmente pela portabilidade e flexibilidade. Foi projetada para o desenvolvimento de
Leia maisArquivos em C Parte 2
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Arquivos em C Parte 2 Profa Rosana Braga Material preparado pela profa Silvana Maria Affonso de Lara 1º semestre de
Leia maisMétodos Computacionais
Métodos Computacionais Objetivos da Disciplina e Introdução a Linguagem C Construções Básicas Objetivos da Disciplina Objetivo Geral Discutir técnicas de programação e estruturação de dados para o desenvolvimento
Leia maisPreprocessador. Macros. #include. #define
Preprocessador O preprocessamento é uma das primeiras etapas na compilação do código em C. Toda linha que começa com # é uma diretiva para o preprocessador, e se extende até o fim da linha (diferentemente
Leia maisUniversidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Arquivos em C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Arquivos em C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO DA AULA Arquivos
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Arquivos Copyright 2014 IFRN Agenda Conceito Tipos de arquivos Texto Binário Stream Principais funções Exemplos
Leia maisLINGUAGEM C: ARQUIVOS
LINGUAGEM C: ARQUIVOS Prof. André Backes ARQUIVOS Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não seqüencial; Acesso
Leia maisArquivos. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo
Arquivos Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Arquivos Um arquivo é uma coleção homogênea de itens que reside em disco. teclado
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Organização de um programa Copyright 2014 IFRN Agenda Escopo de variáveis Local Global Macros #define Organizando
Leia maisProgramação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Leia maisDisciplina de Introdução à Ciência da Computação ICC 1 - Teoria
USP - ICMC - SSC SSC 0501-1o. Semestre 2015 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia maisManipulação de Arquivos
Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Manipulação de Arquivos Linguagem de Programação Estruturado Sumário Introdução; E/S ANSI Versus E/S UNIX; E/S em C Versus E/S
Leia maisLinguagem de Programação C. Arquivos
Arquivos Cristiano Lehrer Introdução Em C um arquivo é apenas um conjunto de bytes colocados uns após os outros de forma sequencial: Utilização de arquivos: Fonte de dados para o programa: Trata-se de
Leia mais9. Arquivos em C. Prof. Renato Tinós. Departamento de Computação e Matemática (FFCLRP/USP) Introdução à Computação II
Introdução à Computação II 5952011 9. Arquivos em C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 9. Arquivos em C 9.1. Introdução 9.2. Escrita 9.3. Leitura
Leia maisIntrodução à Programação
Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5
Leia maisTE091 Programação Orientada a Objetos Engenharia Elétrica
TE091 Programação Orientada a Objetos Engenharia Elétrica Revisão Rápida de Programação em C Prof. Carlos Marcelo Pedroso 2015 Revisão Linguagem C Características principais Modularidade: uso de procedimentos
Leia maisLinguagem de Programação C. Arquivos Binários
Arquivos Binários Cristiano Lehrer Motivação Variáveis int e float tem tamanho fixo em memória: int 2 bytes. float 4 bytes. A representação em texto dos números precisa de uma quantidade variável de caracteres:
Leia mais13a. Aula Manipulação de arquivos
13a. Aula Manipulação de arquivos 2013.2 O sistema de entrada e saída do ANSI C é composto por uma série de funções (fopen, fprintf, fgets, fclose) cujos protótipos estão reunidos em stdio.h Todas estas
Leia mais#include <stdio.h> void Swap (int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } main () {
422 #include void Swap (int *a,int *b) int temp; temp=*a; *a=*b; *b=temp; main () int num1,num2; printf("\nentre com o primeiro valor: "); scanf ("%d",&num1); printf("\nentre com o segundo valor:
Leia maisManipulação de Arquivos
Manipulação de Arquivos Devemos iniciar nossa explanação pelo conceito de arquivo: Arquivo é uma unidade lógica utilizada para armazenar dados em disco ou em qualquer outro dispositivo externo de armazenamento.
Leia maisIntrodução a Programação. Manipulando Arquivos em Modo Texto
Introdução a Programação Manipulando Arquivos em Modo Texto Tópicos da Aula Hoje aprenderemos funções de manipulação de arquivos texto Funções de leitura em modo texto Funções de escrita em modo texto
Leia maisUSP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria
USP - ICMC - SSC SSC 0501-1o. Semestre 2011 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia mais3.1 - Funções para manipular dados de entrada e saída padrão
1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado
Leia maisProgramação de Computadores II
Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para
Leia maisProgramação para Computação 13ª Aula
Programação para Computação 13ª Aula Arquivos em C O sistema de E/S da linguagem C utiliza o conceito de streams e arquivos, como um nível de abstração entre o programador e o dispositivo utilizado. Uma
Leia maisDepartamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos
Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I Aula 13 Arquivos Responsável Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com
Leia maisINSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem
Leia maisBásico: estrutura de programa, sintaxe Interface com linha de comando
Programação em C Sintaxe Básico: estrutura de programa, sintaxe Interface com linha de comando Preprocessamento e compilação Makefiles Ponteiros e estruturas Bibliotecas, ficheiros include e funções Referências
Leia maisFUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara
Universidade do Estado de Minas Gerais - UEMG Curso de Engenharia da Computação FUNÇÕES EM C 1 Material adaptado da profa Silvana Maria Affonso de Lara ROTEIRO DA AULA Definição de Função Argumentos, retornos
Leia maisUSP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental
USP - ICMC - SSC SSC 0301-2o. Semestre 2013 Disciplina de Introdução à Computação para Engenharia Ambiental 1 Prof. Dr. Fernando Santos Osório / Prof. Artur Lovato Cunha LRM - Laboratório de Robótica Móvel
Leia maisProgramação de Computadores
Programação de Computadores Arquivos Prof. Fabio Henrique N. Abe fabio.henrique.abe@gmail.com 99642-5002 http://www.comp.uems.br/~fhna/ Exercícios 1 de Agora valendo 2,0 dos trabalhos para a P4! Entrega
Leia mais1 d=
O que faz/o que é Como usar / Como funciona Formato geral do Arquivo Submetido ao Lex ER estendidas / Exemplos The Lex & YACC page: http://dinosaur.compilertools.net/ Flex: versão livre http://simplesamples.info/c++/flex.php
Leia maisDisciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]
USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /
Leia maisListas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node {
Listas (cont.) K&R: Capitulo 6 Lista Simplesmente Ligada Conjunto de nós head NULL Cada nó contém Informação útil Ponteiro para o próimo nó typedef struct node Item item; struct node *net; *link; Item
Leia maisLINGUAGEM C: ARQUIVOS
LINGUAGEM C: ARQUIVOS Prof. André Backes Arquivos 2 Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não seqüencial;
Leia maisfacilita o trabalho em equipe, com diferentes grupos trabalhando em cada módulo independente.
Estruturação do Programa Queremos organizar um programa de forma a: dividi-lo em partes que realizem tarefas específicas, resumindo um problema complexo a vários problemas mais simples simplifica a elaboração
Leia maisUSP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]
USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /
Leia maisOperações em Arquivos. MC102 Felipe Bergo
Operações em Arquivos MC102 Felipe Bergo Arquivos O sistema de arquivos é uma abstração para as memórias secundárias do computador: discos, fitas, CDs. Há uma hierarquia de diretórios e cada diretório
Leia maisControlo de Execução. K&R: Capitulo 3
Controlo de Execução K&R: Capitulo 3 IAED, 2009/2010 Controlo de Execução Instruções e Blocos if else-if switch Ciclos: Instruçõeswhile e for Instruçãodo-while break e continue goto e labels 2 IAED, 2009/2010
Leia maisSSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL REGISTROS E ARQUIVOS. Profa. Dra. Milena Guessi Margarido
SSC 301 - INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL REGISTROS E ARQUIVOS Profa. Dra. Milena Guessi Margarido (milena@icmc.usp.br) Número Bairro CEP Cidade Logradouro Endereço País REGISTRO Estrutura
Leia maisArquivos. Programação de Computadores I. Natália Batista.
Arquivos Programação de Computadores I Natália Batista nataliabatista@decom.cefetmg.br 1. Arquivos Estruturas de dados armazenadas fora da memória principal do computador, por exemplo em discos. Usados
Leia maisProgramação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio
Leia maisAula: ARQUIVOS. Introdução à Ciência da Computação I Simone Senger Souza. ICMC/USP São Carlos
Aula: ARQUIVOS Introdução à Ciência da Computação I Simone Senger Souza ICMC/USP São Carlos Introdução As estruturas vistas anteriormente armazenam as informações na memória principal do computador. Nem
Leia maisFundamentos de Programação
Fundamentos de Programação CP41F Operações de abertura, leitura e finalização de arquivos. Aula 32 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia de Computação
Leia maisConhecendo a Linguagem de Programação C
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como
Leia maisAnhanguera Educacional S.A. Centro Universitário Ibero-Americano
O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações
Leia maisEstruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 4 Funções 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Manipulação de arquivos
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Manipulação de arquivos Prof. Renato Pimentel 1 Introdução Até o momento, trabalhamos com programas que utilizam apenas a memória
Leia maisLinguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná
Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída
Leia maisLinguagem C: Arquivo-Texto
Prof. Paulo R. S. L. Coelho paulo@facom.ufu.br Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização 1 Introdução em C 2 3 Organização Introdução em C 1 Introdução em C 2 3 Introdução
Leia maisLinguagens de Programação Conceitos e Técnicas. Amarrações Prof. Tiago Alves de Oliveira
Linguagens de Programação Conceitos e Técnicas Amarrações Prof. Tiago Alves de Oliveira Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável
Leia maisINF 1620 P2-14/10/05 Questão 1 Nome:
INF 1620 P2-14/10/05 Questão 1 Considere um cadastro de produtos de um estoque, com as seguintes informações para cada produto: Código de identificação do produto: representado por um valor inteiro Nome
Leia maisStructs, Ponteiros e Arquivos. Prof. Maurício Dias
Structs, Ponteiros e Arquivos Prof. Maurício Dias Registros e structs Um registro (= record) é uma coleção de várias variáveis, possivelmente de tipos diferentes. Na linguagem C, registros são conhecidos
Leia maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia maisConceitos básicos. Computação eletrônica: Gurvan Huiban
Computação eletrônica: Conceitos básicos Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 Estrutura de um programa em C 2 Variáveis e constantes 3 Comandos de entrada e saída Estrutura de um programa
Leia maisManipulação de Arquivos
Manipulação de Arquivos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Tipo
Leia maisLinguagem de Programação
Linguagem de Programação Manipulando Arquivo de Texto Gil Eduardo de Andrade Arquivos Introdução Em linguagem C um arquivo pode ser utilizado para representar vários recursos, desde um arquivo de texto
Leia maisLinguagens de Programação I
Linguagens de Programação I Tema # 4 Operadores em C Susana M Iglesias FUNÇÕES ENTRADA-SAÍDA I/O printf(), utilizada para enviar dados ao dispositivo de saída padrão (stdout), scanf(), utilizada para ler
Leia maisLinguagem de Programação C
Algoritmos e Lógica de Programação Linguagem C Reinaldo Gomes reinaldo@cefet-al.br Introdução Pé Pré-processador Variáveis Operadores Introdução: Histórico Linguagem criada por Dennis Ritchie em 1972 Em
Leia maisA linguagem C (visão histórica)
A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação
Leia mais13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Mestrado em Engenharia Física Tecnológica
13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física
Leia mais