SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Linguagem C Agradecimentos
TÉCNICAS DE PROGRAMAÇÃO I
Prof.John Hebert da Silva Felix
johnfelix@unilab.edu.br
Universidade da Integração Internacional da Lusofonia
Afro-Brasiliera
Curso de Engenharia de Energias
Redenção-CE, Brasil
2014
Prof. John Hebert S. Felix 1/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Índice da Apresentação
1 Linguagem C
Linguagem C
Prof. John Hebert S. Felix 2/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
LINGUAGEM C
Prof. John Hebert S. Felix 3/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Linguagem C
1 Introdução;
2 A Biblioteca-padrão e as Palavras Reservadas em C;
3 Tipos de Dados e Variáveis;
4 Operadores e Expressões;
5 Entrada e Saída E/S pelo Console;
6 Estruturas de Controles;
7 Funções;
8 Arrays e Strings;
9 Ponteiros;
10 Estruturas, Uniões e Enumerações;
11 Arquivos e Streams;
12 Estruturas de dados:
Listas lineares (Filas, Pilhas e Listas Encadeadas);
Ordenação e Pesquisa.
Prof. John Hebert S. Felix 4/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Estruturas, Uniões e Enumerações
Estruturas, Uniões e Enumerações
Estrutura - é um agrupamento ou coleção de variáveis
relacionadas e referenciadas pelo mesmo nome;
União - é uma posição ou espaço de memória que é
compartilhado por variáveis diferentes e, em geral, tipos de
dados também diferentes;
Enumeração - é um conjunto de constantes inteiras, que
representa os valores contidos em variáveis deste tipo.
Prof. John Hebert S. Felix 5/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Estruturas, Uniões e Enumerações
Estruturas, Uniões e Enumerações
Estrutura - é um agrupamento ou coleção de variáveis
relacionadas e referenciadas pelo mesmo nome;
União - é uma posição ou espaço de memória que é
compartilhado por variáveis diferentes e, em geral, tipos de
dados também diferentes;
Enumeração - é um conjunto de constantes inteiras, que
representa os valores contidos em variáveis deste tipo.
Prof. John Hebert S. Felix 5/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Estruturas, Uniões e Enumerações
Estruturas, Uniões e Enumerações
Estrutura - é um agrupamento ou coleção de variáveis
relacionadas e referenciadas pelo mesmo nome;
União - é uma posição ou espaço de memória que é
compartilhado por variáveis diferentes e, em geral, tipos de
dados também diferentes;
Enumeração - é um conjunto de constantes inteiras, que
representa os valores contidos em variáveis deste tipo.
Prof. John Hebert S. Felix 5/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Estruturas, Uniões e Enumerações
Estruturas, Uniões e Enumerações
Estrutura - é um agrupamento ou coleção de variáveis
relacionadas e referenciadas pelo mesmo nome;
União - é uma posição ou espaço de memória que é
compartilhado por variáveis diferentes e, em geral, tipos de
dados também diferentes;
Enumeração - é um conjunto de constantes inteiras, que
representa os valores contidos em variáveis deste tipo.
Prof. John Hebert S. Felix 5/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Estruturas, Uniões e Enumerações
Estruturas
As estruturas podem ser formadas por variáveis de diferentes tipos de
dados. As variáveis em uma estrutura são chamadas de membros
(elementos ou campos) da estrutura. Em geral, as estruturas são
utilizadas na declaração de registros.
Estrutura - Sintaxe
struct identificador{
tipo nome_da_variável;
...
tipo nome_da_variável;
} variáveis_estrutura;
Em que: apenas um dos dois (identificador ou variáveis_estrutura) podem ser
omitidos.
Prof. John Hebert S. Felix 6/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Estruturas, Uniões e Enumerações
Ex.: Declaração, atribuição e acesso de uma estrutura
#include <stdio.h>
//declaração da estrutura
struct coordxy {
float cx;
float cy;
};
int main (void){
struct coordxy ponto; //declara variável do tipo coord
struct coordxy *pontoPt; //declara ponteiro do tipo coord
pontoPt = &ponto; //atribui o endereço de ponto para pontoPt
ponto.cx = 9.5; //Acessa o membro da estrutura com operador ponto(.)
pontoPt->cy = 14.3; //Acessa o membro da estrutura com operador seta(->)
printf(“O ponto está localizado nas coordenadas(%f,%f)”,ponto.cx,ponto.cy);
printf(“nO pontoPt está localizado nas
coordenadas(%f,%f)”,ponto->cx,ponto->cy);
return 0;
}
Prof. John Hebert S. Felix 6/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Estruturas, Uniões e Enumerações
Estrutura - typedef
A palavra-chave typedef permite criar novos nomes para tipos de dados
existentes, i.e., defeni sinônimos para representar determinado tipo de
dado. Exemplos:
1 typedef unsigned long int ULInt;
2 typedef struct coordxy Ponto;
3 typedef struct {
float cx;
float cy;
} Ponto;
No exemplo 1, ULInt é definido como do tipo inteiro longo sem sinal. A
partir deste é possivel declarar variável com tais características, e.g.,
ULInt cep;
No exemplo 2 é criado o tipo Ponto como sinônimo para o tipo struct
coordxy. Da mesma forma como no ex.3, porém sem a necessidade de
especificar o identificar da estrutura. A partir do ex. 2 ou 3 é possivel
declarar estruturas do tipo Ponto, e.g., Ponto ponto[25];, que declara um
array de 25 estruturas de ponto.
Prof. John Hebert S. Felix 6/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Estruturas, Uniões e Enumerações
Passando Estrutura para Funções
#include <stdio.h>
typedef struct { //declaração da estrutura
float cx;
float cy;
} Ponto;
float distPontos(Ponto *a, Ponto *b); //Protótipo de função com a Estrutura ponto
int main (void){
Ponto pa, pb; //declara variável do tipo estrutura Ponto
printf(“Digite as coordenadas(x,y) dos pontos A e Bn”);
scanf(“%f%f%f%f”,&pa.cx,&pa.cy,&pb.cx,&pb.cy);
printf(“A distância entre os pontos A (%f,%f) e B (%f,%f) é:
%2.2f”,pa.cx,pa.cy,pb.cx,pb.cy,distPontos(&pa,&pb)); //Passando a Estrutura ponto para
distPontos
return 0;
}
float distPontos(Ponto *a, Ponto *b) {
return (sqrt(pow((b->cx - a->cx),2) + pow((b->cy - a->cy),2)));
}
Prof. John Hebert S. Felix 6/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Estruturas, Uniões e Enumerações
Arrays dentro de uma estrutura
typedef struct {
int cod;
char nome[20]; //Array unidimensional - vetor
float prc;
int vend[4][6]; //Array bidimensional - tabela
} RgProduto;
Prof. John Hebert S. Felix 6/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Estruturas, Uniões e Enumerações
União
A união tem a mesma forma de uma estrutura a diferença é a
palavra-chave union;
A união pode conbuir no desenvolvimento de códigos portáveis,
pois o compilador não verifica o tamanho real das variáveis que a
formam, evitando assim a dependêcia de máquina;
Com frequências as uniões são utilizadas em conversões de tipo,
permitindo referenciar os dados contidos nesta de forma
diferente, e.g., modificar determinado tipo primitivo para realizar
algum tipo de arredondamento diferente do usual.
Prof. John Hebert S. Felix 6/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Estruturas, Uniões e Enumerações
União - Sintaxe
union identificador{
tipo nome_da_variável;
...
tipo nome_da_variável;
} variáveis_união;
Em que: apenas um dos dois (identificador ou variáveis_estrutura) podem ser
omitidos.
Ex.: União
union DTipos{
int num;
char tx;
};
Atribuição e acesso a um membro de uma união é semelhante ao de um
elemento de estrutura.
Prof. John Hebert S. Felix 6/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Estruturas, Uniões e Enumerações
Enumeração
A enumeração consiste numa forma mais adequada para organizar os
valores constantes.
Enumeração - Sintaxe
enum identificador{ lista_enumerada } lista_de_variáveis;
Semelhante a estrutura, o identificador ou lista_de_variáveis pode ser omitido.
Exs.:
enum estacoes {Ver, Inv, Out, Prim};
enum meses {Jan, Fev, Mar, Abr, Maio, jun, Jul, Ao, set, Out, Nov, Dez};
enum logico {True = 1, False = 0};
//Declaração de uma variável do tipo enum
enum estacoes estacao;
enum meses mes;
enum logico condicao;
Prof. John Hebert S. Felix 6/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arquivos e Streams
Arquivos e Streams
Arquivo - é formado por um grupo de registros (correponde a
estrutura vistas anteriormente). Um arquivo em C pode
representar desde arquivos em disco, impressora, teclado, ou
qualquer dispositivo de E/S;
Stream - é uma abstração de E/S de C, que estabelce canais de
comunicação entre os programas e arquivos, quando estão em
execução.
Prof. John Hebert S. Felix 7/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arquivos e Streams
Arquivos e Streams
Arquivo - é formado por um grupo de registros (correponde a
estrutura vistas anteriormente). Um arquivo em C pode
representar desde arquivos em disco, impressora, teclado, ou
qualquer dispositivo de E/S;
Stream - é uma abstração de E/S de C, que estabelce canais de
comunicação entre os programas e arquivos, quando estão em
execução.
Prof. John Hebert S. Felix 7/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arquivos e Streams
Arquivos e Streams
Arquivo - é formado por um grupo de registros (correponde a
estrutura vistas anteriormente). Um arquivo em C pode
representar desde arquivos em disco, impressora, teclado, ou
qualquer dispositivo de E/S;
Stream - é uma abstração de E/S de C, que estabelce canais de
comunicação entre os programas e arquivos, quando estão em
execução.
Prof. John Hebert S. Felix 7/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arquivos e Streams
Arquivos - declarar e abrir arquivos
A biblioteca-padrão que oferece suporte para manipular arquivos é a stdio.h.
Funções comuns do sistema de arquivo
Nome Função
fopen() Abre um arquivo
fclose() Fecha um arquivo
putc() Escreve um caractere em um arquivo
fputc() Realiza a mesma função que putc()
getc() Lê um caractere em um arquivo
fgetc() Realiza a mesma função que fgetc()
fseek() Posiciona o arquivo em um byte específico
fprintf() Realiza em um arquivo a mesma função que printf() no console
fscanf() Realiza em um arquivo a mesma função que scanf() no console
feof() Devolve verdadeiro se o fim do arquivo é alcançado
ferror() Devolve verdadeiro se ocorreu um erro
rewind() Posiciona o indicador de posição no início do arquivo
remove() Apaga um arquivo
fflush() Descarrega um arquivo
Prof. John Hebert S. Felix 8/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arquivos e Streams
Modos de abertura de arquivo
Modo Descrição
r Abre um arquivo de texto para leitura
w Cria um arquivo de texto para escrita
a Anexa novos dados a um arquivo de texto
rb Abre um arquivo binário para leitura
wb Cria um arquivo binário para leitura
ab Anexa novos dados a um arquivo binário
r+ Abre um arquivo de texto para leitura e escrita
w+ Cria um arquivo de texto para leitura e escrita
a+ Anexa novos dados ou cria um arquivo de texto para leitura e
escrita
r+b Abre um arquivo binário para leitura e escrita
w+b Cria um arquivo binário para leitura e escrita
a+b Anexa novos dados a um arquivo binário para leitura e escrita
Prof. John Hebert S. Felix 8/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arquivos e Streams
Arquivos - abrindo e fechando arquivos
A função fopen() abre um arquivo e retorna o poneiro que está associado
com tal arquivo. Enquanto a função fclose() fecha o arquivo.
Arquivo - Sintaxe fopen() e fclose()
FILE *fPt;
fPt = fopen(nome_do_arquivo, modo) ;
Em que: ftp é um ponteiro para uma estrutura FILE.
Ex.: Abrindo arquivo
FILE * txPt //ponteiro de arquivo txPt = texto1.dat
txPt = fopen(“texto1.dat”,“r”);
Prof. John Hebert S. Felix 8/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arquivos e Streams
Arquivo - Sintaxe fopen() e fclose() - continuação
Para detectar algum erro durante a abertura do arquivo é utilizada a seguinte forma:
FILE * txPt //ponteiro de arquivo txPt = texto1.dat
if((txPt = fopen(“texto1.dat”,“r”))==NULL){
printf(“Erro. O arquivo não pode ser aberton”);
exit(1);
}
Ex.: Fechando arquivo
fclose(txPt);
Em que: txPt é um ponteiro para uma estrutura FILE, obtido quando o arquivo “texto1.dat”
foi aberto.
Prof. John Hebert S. Felix 8/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arquivos e Streams
Arquivos - lendo e escrevendo qualquer tipo de dado em um arquivo
A função fread() realiza a leitura dos dados e a função fwrite() os escreve.
Arquivo - Sintaxe
fread(void *var, size_t num_bytes, size_t cont, FILE *fPt) ;
fwrite(void *var, size_t num_bytes, size_t cont, FILE *fPt) ;
Em que:
var é um ponteiro para uma região da memória que receberá os dados lidos;
size_t é tipo definido em stdio.h;
num_bytes é o número de bytes a ler ou escrever;
cont representa o número de itens (do comprimento especificado por num_bytes);
fPt é um ponteiro para uma estrutura FILE;
Ex.: Abrindo arquivo
......
Prof. John Hebert S. Felix 8/9 UNILAB
Técnicas de Programação I

Mais conteúdo relacionado

Mais procurados

Cenáculo Preparatório para o Concurso Banco do Brasil - 1º encontro área inf...
Cenáculo Preparatório para o Concurso Banco do Brasil  - 1º encontro área inf...Cenáculo Preparatório para o Concurso Banco do Brasil  - 1º encontro área inf...
Cenáculo Preparatório para o Concurso Banco do Brasil - 1º encontro área inf...George Rocio
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhanyKaren Costa
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem corvel
 
Caderno de exercícios cobol
Caderno de exercícios   cobolCaderno de exercícios   cobol
Caderno de exercícios cobolAlunosEscola
 
Apostila de Linguagem C
Apostila de Linguagem CApostila de Linguagem C
Apostila de Linguagem CDaniel Barão
 
Introdução à Linguagem de Programação GO
Introdução à Linguagem de Programação GOIntrodução à Linguagem de Programação GO
Introdução à Linguagem de Programação GOJose Augusto Cintra
 

Mais procurados (16)

Cenáculo Preparatório para o Concurso Banco do Brasil - 1º encontro área inf...
Cenáculo Preparatório para o Concurso Banco do Brasil  - 1º encontro área inf...Cenáculo Preparatório para o Concurso Banco do Brasil  - 1º encontro área inf...
Cenáculo Preparatório para o Concurso Banco do Brasil - 1º encontro área inf...
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhany
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Compiladores 1
Compiladores 1Compiladores 1
Compiladores 1
 
Apostila cobol
Apostila cobolApostila cobol
Apostila cobol
 
E booklingc
E booklingcE booklingc
E booklingc
 
COBOL
COBOLCOBOL
COBOL
 
Introducao a LPC
Introducao a LPCIntroducao a LPC
Introducao a LPC
 
Apostila C ANSI
Apostila C ANSIApostila C ANSI
Apostila C ANSI
 
Mini R
Mini R Mini R
Mini R
 
Caderno de exercícios cobol
Caderno de exercícios   cobolCaderno de exercícios   cobol
Caderno de exercícios cobol
 
Compiladores 6
Compiladores 6Compiladores 6
Compiladores 6
 
Apostila de Linguagem C
Apostila de Linguagem CApostila de Linguagem C
Apostila de Linguagem C
 
Compiladores 7
Compiladores 7Compiladores 7
Compiladores 7
 
Introdução ao R
Introdução ao RIntrodução ao R
Introdução ao R
 
Introdução à Linguagem de Programação GO
Introdução à Linguagem de Programação GOIntrodução à Linguagem de Programação GO
Introdução à Linguagem de Programação GO
 

Destaque

Tecnicas programacao i_c_p2
Tecnicas programacao i_c_p2Tecnicas programacao i_c_p2
Tecnicas programacao i_c_p2D M
 
Solucionario química a ciência central - brown 9ª ed - blog - aquelaquestao...
Solucionario química   a ciência central - brown 9ª ed - blog - aquelaquestao...Solucionario química   a ciência central - brown 9ª ed - blog - aquelaquestao...
Solucionario química a ciência central - brown 9ª ed - blog - aquelaquestao...Adriana Barbosa
 
Livro do fisiculturismo
Livro do fisiculturismoLivro do fisiculturismo
Livro do fisiculturismoMatheus Dutra
 
Resumen copa América Chile 2015
Resumen copa América Chile 2015Resumen copa América Chile 2015
Resumen copa América Chile 2015BrayanGL
 
LAVADO DE MANOS
LAVADO DE MANOSLAVADO DE MANOS
LAVADO DE MANOSGaby Gomez
 
Teoria y psicologia del color
Teoria y psicologia del colorTeoria y psicologia del color
Teoria y psicologia del colordars95dars
 
Kanevskiy. mobile g cloud. from russia with the success
Kanevskiy. mobile g cloud. from russia with the successKanevskiy. mobile g cloud. from russia with the success
Kanevskiy. mobile g cloud. from russia with the successE-Journal ICT4D
 
introduccion a la robotica
introduccion a la robotica introduccion a la robotica
introduccion a la robotica jnn3j32k
 
Piwik – największa platforma analityczna open source. Zastosowanie w środowis...
Piwik – największa platforma analityczna open source. Zastosowanie w środowis...Piwik – największa platforma analityczna open source. Zastosowanie w środowis...
Piwik – największa platforma analityczna open source. Zastosowanie w środowis...Web Analytics Wednesday Warsaw
 
Martínez lópez montserrat_m1s1_identificacion de usos de las tic
Martínez lópez montserrat_m1s1_identificacion de usos de las ticMartínez lópez montserrat_m1s1_identificacion de usos de las tic
Martínez lópez montserrat_m1s1_identificacion de usos de las ticMontserrat Martínez
 
Virus y vacunas informaticas
Virus y vacunas informaticasVirus y vacunas informaticas
Virus y vacunas informaticasyesi-agudelo
 
ETSAVA
ETSAVAETSAVA
ETSAVAETSAVA
 
Funciones trigonométricas
Funciones trigonométricasFunciones trigonométricas
Funciones trigonométricasesponjosita584
 
Genital herpes : Symptoms, causes diagnosis and treatment
Genital herpes : Symptoms, causes diagnosis and treatmentGenital herpes : Symptoms, causes diagnosis and treatment
Genital herpes : Symptoms, causes diagnosis and treatmentLazoi Lifecare Private Limited
 
хому модель
хому модельхому модель
хому модельweb007
 

Destaque (20)

Tecnicas programacao i_c_p2
Tecnicas programacao i_c_p2Tecnicas programacao i_c_p2
Tecnicas programacao i_c_p2
 
Solucionario química a ciência central - brown 9ª ed - blog - aquelaquestao...
Solucionario química   a ciência central - brown 9ª ed - blog - aquelaquestao...Solucionario química   a ciência central - brown 9ª ed - blog - aquelaquestao...
Solucionario química a ciência central - brown 9ª ed - blog - aquelaquestao...
 
Livro do fisiculturismo
Livro do fisiculturismoLivro do fisiculturismo
Livro do fisiculturismo
 
Slideshare2
Slideshare2Slideshare2
Slideshare2
 
Resumen copa América Chile 2015
Resumen copa América Chile 2015Resumen copa América Chile 2015
Resumen copa América Chile 2015
 
LAVADO DE MANOS
LAVADO DE MANOSLAVADO DE MANOS
LAVADO DE MANOS
 
Teoria y psicologia del color
Teoria y psicologia del colorTeoria y psicologia del color
Teoria y psicologia del color
 
Kanevskiy. mobile g cloud. from russia with the success
Kanevskiy. mobile g cloud. from russia with the successKanevskiy. mobile g cloud. from russia with the success
Kanevskiy. mobile g cloud. from russia with the success
 
introduccion a la robotica
introduccion a la robotica introduccion a la robotica
introduccion a la robotica
 
Piwik – największa platforma analityczna open source. Zastosowanie w środowis...
Piwik – największa platforma analityczna open source. Zastosowanie w środowis...Piwik – największa platforma analityczna open source. Zastosowanie w środowis...
Piwik – największa platforma analityczna open source. Zastosowanie w środowis...
 
Martínez lópez montserrat_m1s1_identificacion de usos de las tic
Martínez lópez montserrat_m1s1_identificacion de usos de las ticMartínez lópez montserrat_m1s1_identificacion de usos de las tic
Martínez lópez montserrat_m1s1_identificacion de usos de las tic
 
Virus y vacunas informaticas
Virus y vacunas informaticasVirus y vacunas informaticas
Virus y vacunas informaticas
 
ETSAVA
ETSAVAETSAVA
ETSAVA
 
citystaffCORRECTED
citystaffCORRECTEDcitystaffCORRECTED
citystaffCORRECTED
 
Funciones trigonométricas
Funciones trigonométricasFunciones trigonométricas
Funciones trigonométricas
 
Genital herpes : Symptoms, causes diagnosis and treatment
Genital herpes : Symptoms, causes diagnosis and treatmentGenital herpes : Symptoms, causes diagnosis and treatment
Genital herpes : Symptoms, causes diagnosis and treatment
 
Contaminacion ambiental
Contaminacion ambientalContaminacion ambiental
Contaminacion ambiental
 
Derecho penal kim
Derecho penal kimDerecho penal kim
Derecho penal kim
 
Practica 7-cancer
Practica 7-cancerPractica 7-cancer
Practica 7-cancer
 
хому модель
хому модельхому модель
хому модель
 

Semelhante a Tecnicas programacao i_c_p5

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 CJoberthSilva
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cMaicon Rodrigues
 
Algoritomos aula 3 rafael
Algoritomos aula 3 rafaelAlgoritomos aula 3 rafael
Algoritomos aula 3 rafaelhugodrocha
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+cThiago Freitas
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação CSchoolByte
 
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]Dafmet Ufpel
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Alex Camargo
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Marcelo Barros de Almeida
 
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 CJose Augusto Cintra
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Natanael Fonseca
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem CVê Rodrigues
 
Livro -estruturas_de_dados_e_algoritmos_em_c.erivanildo
Livro  -estruturas_de_dados_e_algoritmos_em_c.erivanildoLivro  -estruturas_de_dados_e_algoritmos_em_c.erivanildo
Livro -estruturas_de_dados_e_algoritmos_em_c.erivanildoFernando Chuva
 

Semelhante a Tecnicas programacao i_c_p5 (20)

C 1
C 1C 1
C 1
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
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
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Algoritomos aula 3 rafael
Algoritomos aula 3 rafaelAlgoritomos aula 3 rafael
Algoritomos aula 3 rafael
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
 
Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
 
Infos algoritmo
Infos algoritmoInfos algoritmo
Infos algoritmo
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação C
 
Bioestatistica usando R
Bioestatistica usando RBioestatistica usando R
Bioestatistica usando R
 
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
 
Amarração e escopo
Amarração e escopoAmarração e escopo
Amarração e escopo
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
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
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Livro -estruturas_de_dados_e_algoritmos_em_c.erivanildo
Livro  -estruturas_de_dados_e_algoritmos_em_c.erivanildoLivro  -estruturas_de_dados_e_algoritmos_em_c.erivanildo
Livro -estruturas_de_dados_e_algoritmos_em_c.erivanildo
 

Último

apresentação de Bancos de Capacitores aula
apresentação de Bancos de Capacitores aulaapresentação de Bancos de Capacitores aula
apresentação de Bancos de Capacitores aulaWilliamCruz402522
 
Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06AndressaTenreiro
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxFlvioDadinhoNNhamizi
 
NR10 - Treinamento LOTO - 2023.pp tx
NR10 - Treinamento LOTO - 2023.pp     txNR10 - Treinamento LOTO - 2023.pp     tx
NR10 - Treinamento LOTO - 2023.pp txrafaelacushman21
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMdiminutcasamentos
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptxVagner Soares da Costa
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptxVagner Soares da Costa
 

Último (7)

apresentação de Bancos de Capacitores aula
apresentação de Bancos de Capacitores aulaapresentação de Bancos de Capacitores aula
apresentação de Bancos de Capacitores aula
 
Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
 
NR10 - Treinamento LOTO - 2023.pp tx
NR10 - Treinamento LOTO - 2023.pp     txNR10 - Treinamento LOTO - 2023.pp     tx
NR10 - Treinamento LOTO - 2023.pp tx
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPM
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
 

Tecnicas programacao i_c_p5

  • 1. Linguagem C Agradecimentos TÉCNICAS DE PROGRAMAÇÃO I Prof.John Hebert da Silva Felix johnfelix@unilab.edu.br Universidade da Integração Internacional da Lusofonia Afro-Brasiliera Curso de Engenharia de Energias Redenção-CE, Brasil 2014 Prof. John Hebert S. Felix 1/9 UNILAB Técnicas de Programação I
  • 2. Linguagem C Agradecimentos Índice da Apresentação 1 Linguagem C Linguagem C Prof. John Hebert S. Felix 2/9 UNILAB Técnicas de Programação I
  • 3. Linguagem C Agradecimentos LINGUAGEM C Prof. John Hebert S. Felix 3/9 UNILAB Técnicas de Programação I
  • 4. Linguagem C Agradecimentos Linguagem C 1 Introdução; 2 A Biblioteca-padrão e as Palavras Reservadas em C; 3 Tipos de Dados e Variáveis; 4 Operadores e Expressões; 5 Entrada e Saída E/S pelo Console; 6 Estruturas de Controles; 7 Funções; 8 Arrays e Strings; 9 Ponteiros; 10 Estruturas, Uniões e Enumerações; 11 Arquivos e Streams; 12 Estruturas de dados: Listas lineares (Filas, Pilhas e Listas Encadeadas); Ordenação e Pesquisa. Prof. John Hebert S. Felix 4/9 UNILAB Técnicas de Programação I
  • 5. Linguagem C Agradecimentos Estruturas, Uniões e Enumerações Estruturas, Uniões e Enumerações Estrutura - é um agrupamento ou coleção de variáveis relacionadas e referenciadas pelo mesmo nome; União - é uma posição ou espaço de memória que é compartilhado por variáveis diferentes e, em geral, tipos de dados também diferentes; Enumeração - é um conjunto de constantes inteiras, que representa os valores contidos em variáveis deste tipo. Prof. John Hebert S. Felix 5/9 UNILAB Técnicas de Programação I
  • 6. Linguagem C Agradecimentos Estruturas, Uniões e Enumerações Estruturas, Uniões e Enumerações Estrutura - é um agrupamento ou coleção de variáveis relacionadas e referenciadas pelo mesmo nome; União - é uma posição ou espaço de memória que é compartilhado por variáveis diferentes e, em geral, tipos de dados também diferentes; Enumeração - é um conjunto de constantes inteiras, que representa os valores contidos em variáveis deste tipo. Prof. John Hebert S. Felix 5/9 UNILAB Técnicas de Programação I
  • 7. Linguagem C Agradecimentos Estruturas, Uniões e Enumerações Estruturas, Uniões e Enumerações Estrutura - é um agrupamento ou coleção de variáveis relacionadas e referenciadas pelo mesmo nome; União - é uma posição ou espaço de memória que é compartilhado por variáveis diferentes e, em geral, tipos de dados também diferentes; Enumeração - é um conjunto de constantes inteiras, que representa os valores contidos em variáveis deste tipo. Prof. John Hebert S. Felix 5/9 UNILAB Técnicas de Programação I
  • 8. Linguagem C Agradecimentos Estruturas, Uniões e Enumerações Estruturas, Uniões e Enumerações Estrutura - é um agrupamento ou coleção de variáveis relacionadas e referenciadas pelo mesmo nome; União - é uma posição ou espaço de memória que é compartilhado por variáveis diferentes e, em geral, tipos de dados também diferentes; Enumeração - é um conjunto de constantes inteiras, que representa os valores contidos em variáveis deste tipo. Prof. John Hebert S. Felix 5/9 UNILAB Técnicas de Programação I
  • 9. Linguagem C Agradecimentos Estruturas, Uniões e Enumerações Estruturas As estruturas podem ser formadas por variáveis de diferentes tipos de dados. As variáveis em uma estrutura são chamadas de membros (elementos ou campos) da estrutura. Em geral, as estruturas são utilizadas na declaração de registros. Estrutura - Sintaxe struct identificador{ tipo nome_da_variável; ... tipo nome_da_variável; } variáveis_estrutura; Em que: apenas um dos dois (identificador ou variáveis_estrutura) podem ser omitidos. Prof. John Hebert S. Felix 6/9 UNILAB Técnicas de Programação I
  • 10. Linguagem C Agradecimentos Estruturas, Uniões e Enumerações Ex.: Declaração, atribuição e acesso de uma estrutura #include <stdio.h> //declaração da estrutura struct coordxy { float cx; float cy; }; int main (void){ struct coordxy ponto; //declara variável do tipo coord struct coordxy *pontoPt; //declara ponteiro do tipo coord pontoPt = &ponto; //atribui o endereço de ponto para pontoPt ponto.cx = 9.5; //Acessa o membro da estrutura com operador ponto(.) pontoPt->cy = 14.3; //Acessa o membro da estrutura com operador seta(->) printf(“O ponto está localizado nas coordenadas(%f,%f)”,ponto.cx,ponto.cy); printf(“nO pontoPt está localizado nas coordenadas(%f,%f)”,ponto->cx,ponto->cy); return 0; } Prof. John Hebert S. Felix 6/9 UNILAB Técnicas de Programação I
  • 11. Linguagem C Agradecimentos Estruturas, Uniões e Enumerações Estrutura - typedef A palavra-chave typedef permite criar novos nomes para tipos de dados existentes, i.e., defeni sinônimos para representar determinado tipo de dado. Exemplos: 1 typedef unsigned long int ULInt; 2 typedef struct coordxy Ponto; 3 typedef struct { float cx; float cy; } Ponto; No exemplo 1, ULInt é definido como do tipo inteiro longo sem sinal. A partir deste é possivel declarar variável com tais características, e.g., ULInt cep; No exemplo 2 é criado o tipo Ponto como sinônimo para o tipo struct coordxy. Da mesma forma como no ex.3, porém sem a necessidade de especificar o identificar da estrutura. A partir do ex. 2 ou 3 é possivel declarar estruturas do tipo Ponto, e.g., Ponto ponto[25];, que declara um array de 25 estruturas de ponto. Prof. John Hebert S. Felix 6/9 UNILAB Técnicas de Programação I
  • 12. Linguagem C Agradecimentos Estruturas, Uniões e Enumerações Passando Estrutura para Funções #include <stdio.h> typedef struct { //declaração da estrutura float cx; float cy; } Ponto; float distPontos(Ponto *a, Ponto *b); //Protótipo de função com a Estrutura ponto int main (void){ Ponto pa, pb; //declara variável do tipo estrutura Ponto printf(“Digite as coordenadas(x,y) dos pontos A e Bn”); scanf(“%f%f%f%f”,&pa.cx,&pa.cy,&pb.cx,&pb.cy); printf(“A distância entre os pontos A (%f,%f) e B (%f,%f) é: %2.2f”,pa.cx,pa.cy,pb.cx,pb.cy,distPontos(&pa,&pb)); //Passando a Estrutura ponto para distPontos return 0; } float distPontos(Ponto *a, Ponto *b) { return (sqrt(pow((b->cx - a->cx),2) + pow((b->cy - a->cy),2))); } Prof. John Hebert S. Felix 6/9 UNILAB Técnicas de Programação I
  • 13. Linguagem C Agradecimentos Estruturas, Uniões e Enumerações Arrays dentro de uma estrutura typedef struct { int cod; char nome[20]; //Array unidimensional - vetor float prc; int vend[4][6]; //Array bidimensional - tabela } RgProduto; Prof. John Hebert S. Felix 6/9 UNILAB Técnicas de Programação I
  • 14. Linguagem C Agradecimentos Estruturas, Uniões e Enumerações União A união tem a mesma forma de uma estrutura a diferença é a palavra-chave union; A união pode conbuir no desenvolvimento de códigos portáveis, pois o compilador não verifica o tamanho real das variáveis que a formam, evitando assim a dependêcia de máquina; Com frequências as uniões são utilizadas em conversões de tipo, permitindo referenciar os dados contidos nesta de forma diferente, e.g., modificar determinado tipo primitivo para realizar algum tipo de arredondamento diferente do usual. Prof. John Hebert S. Felix 6/9 UNILAB Técnicas de Programação I
  • 15. Linguagem C Agradecimentos Estruturas, Uniões e Enumerações União - Sintaxe union identificador{ tipo nome_da_variável; ... tipo nome_da_variável; } variáveis_união; Em que: apenas um dos dois (identificador ou variáveis_estrutura) podem ser omitidos. Ex.: União union DTipos{ int num; char tx; }; Atribuição e acesso a um membro de uma união é semelhante ao de um elemento de estrutura. Prof. John Hebert S. Felix 6/9 UNILAB Técnicas de Programação I
  • 16. Linguagem C Agradecimentos Estruturas, Uniões e Enumerações Enumeração A enumeração consiste numa forma mais adequada para organizar os valores constantes. Enumeração - Sintaxe enum identificador{ lista_enumerada } lista_de_variáveis; Semelhante a estrutura, o identificador ou lista_de_variáveis pode ser omitido. Exs.: enum estacoes {Ver, Inv, Out, Prim}; enum meses {Jan, Fev, Mar, Abr, Maio, jun, Jul, Ao, set, Out, Nov, Dez}; enum logico {True = 1, False = 0}; //Declaração de uma variável do tipo enum enum estacoes estacao; enum meses mes; enum logico condicao; Prof. John Hebert S. Felix 6/9 UNILAB Técnicas de Programação I
  • 17. Linguagem C Agradecimentos Arquivos e Streams Arquivos e Streams Arquivo - é formado por um grupo de registros (correponde a estrutura vistas anteriormente). Um arquivo em C pode representar desde arquivos em disco, impressora, teclado, ou qualquer dispositivo de E/S; Stream - é uma abstração de E/S de C, que estabelce canais de comunicação entre os programas e arquivos, quando estão em execução. Prof. John Hebert S. Felix 7/9 UNILAB Técnicas de Programação I
  • 18. Linguagem C Agradecimentos Arquivos e Streams Arquivos e Streams Arquivo - é formado por um grupo de registros (correponde a estrutura vistas anteriormente). Um arquivo em C pode representar desde arquivos em disco, impressora, teclado, ou qualquer dispositivo de E/S; Stream - é uma abstração de E/S de C, que estabelce canais de comunicação entre os programas e arquivos, quando estão em execução. Prof. John Hebert S. Felix 7/9 UNILAB Técnicas de Programação I
  • 19. Linguagem C Agradecimentos Arquivos e Streams Arquivos e Streams Arquivo - é formado por um grupo de registros (correponde a estrutura vistas anteriormente). Um arquivo em C pode representar desde arquivos em disco, impressora, teclado, ou qualquer dispositivo de E/S; Stream - é uma abstração de E/S de C, que estabelce canais de comunicação entre os programas e arquivos, quando estão em execução. Prof. John Hebert S. Felix 7/9 UNILAB Técnicas de Programação I
  • 20. Linguagem C Agradecimentos Arquivos e Streams Arquivos - declarar e abrir arquivos A biblioteca-padrão que oferece suporte para manipular arquivos é a stdio.h. Funções comuns do sistema de arquivo Nome Função fopen() Abre um arquivo fclose() Fecha um arquivo putc() Escreve um caractere em um arquivo fputc() Realiza a mesma função que putc() getc() Lê um caractere em um arquivo fgetc() Realiza a mesma função que fgetc() fseek() Posiciona o arquivo em um byte específico fprintf() Realiza em um arquivo a mesma função que printf() no console fscanf() Realiza em um arquivo a mesma função que scanf() no console feof() Devolve verdadeiro se o fim do arquivo é alcançado ferror() Devolve verdadeiro se ocorreu um erro rewind() Posiciona o indicador de posição no início do arquivo remove() Apaga um arquivo fflush() Descarrega um arquivo Prof. John Hebert S. Felix 8/9 UNILAB Técnicas de Programação I
  • 21. Linguagem C Agradecimentos Arquivos e Streams Modos de abertura de arquivo Modo Descrição r Abre um arquivo de texto para leitura w Cria um arquivo de texto para escrita a Anexa novos dados a um arquivo de texto rb Abre um arquivo binário para leitura wb Cria um arquivo binário para leitura ab Anexa novos dados a um arquivo binário r+ Abre um arquivo de texto para leitura e escrita w+ Cria um arquivo de texto para leitura e escrita a+ Anexa novos dados ou cria um arquivo de texto para leitura e escrita r+b Abre um arquivo binário para leitura e escrita w+b Cria um arquivo binário para leitura e escrita a+b Anexa novos dados a um arquivo binário para leitura e escrita Prof. John Hebert S. Felix 8/9 UNILAB Técnicas de Programação I
  • 22. Linguagem C Agradecimentos Arquivos e Streams Arquivos - abrindo e fechando arquivos A função fopen() abre um arquivo e retorna o poneiro que está associado com tal arquivo. Enquanto a função fclose() fecha o arquivo. Arquivo - Sintaxe fopen() e fclose() FILE *fPt; fPt = fopen(nome_do_arquivo, modo) ; Em que: ftp é um ponteiro para uma estrutura FILE. Ex.: Abrindo arquivo FILE * txPt //ponteiro de arquivo txPt = texto1.dat txPt = fopen(“texto1.dat”,“r”); Prof. John Hebert S. Felix 8/9 UNILAB Técnicas de Programação I
  • 23. Linguagem C Agradecimentos Arquivos e Streams Arquivo - Sintaxe fopen() e fclose() - continuação Para detectar algum erro durante a abertura do arquivo é utilizada a seguinte forma: FILE * txPt //ponteiro de arquivo txPt = texto1.dat if((txPt = fopen(“texto1.dat”,“r”))==NULL){ printf(“Erro. O arquivo não pode ser aberton”); exit(1); } Ex.: Fechando arquivo fclose(txPt); Em que: txPt é um ponteiro para uma estrutura FILE, obtido quando o arquivo “texto1.dat” foi aberto. Prof. John Hebert S. Felix 8/9 UNILAB Técnicas de Programação I
  • 24. Linguagem C Agradecimentos Arquivos e Streams Arquivos - lendo e escrevendo qualquer tipo de dado em um arquivo A função fread() realiza a leitura dos dados e a função fwrite() os escreve. Arquivo - Sintaxe fread(void *var, size_t num_bytes, size_t cont, FILE *fPt) ; fwrite(void *var, size_t num_bytes, size_t cont, FILE *fPt) ; Em que: var é um ponteiro para uma região da memória que receberá os dados lidos; size_t é tipo definido em stdio.h; num_bytes é o número de bytes a ler ou escrever; cont representa o número de itens (do comprimento especificado por num_bytes); fPt é um ponteiro para uma estrutura FILE; Ex.: Abrindo arquivo ...... Prof. John Hebert S. Felix 8/9 UNILAB Técnicas de Programação I