SlideShare uma empresa Scribd logo
1 de 22
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
Funções
Funções
A programação estruturada em C é obtida com funções, que
permitem dividir os programa em partes menores;
As funções são módulos que combinados formam o programa.
Este pode utilizar funções da biblioteca-padrão ou outras funções
definidas pelo programador; e
As funções podem ser (re)utilizadas várias vezes em um mesmo
programa ou em outros programas diferentes.
Prof. John Hebert S. Felix 5/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Funções
Funções
A programação estruturada em C é obtida com funções, que
permitem dividir os programa em partes menores;
As funções são módulos que combinados formam o programa.
Este pode utilizar funções da biblioteca-padrão ou outras funções
definidas pelo programador; e
As funções podem ser (re)utilizadas várias vezes em um mesmo
programa ou em outros programas diferentes.
Prof. John Hebert S. Felix 5/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Funções
Funções
A programação estruturada em C é obtida com funções, que
permitem dividir os programa em partes menores;
As funções são módulos que combinados formam o programa.
Este pode utilizar funções da biblioteca-padrão ou outras funções
definidas pelo programador; e
As funções podem ser (re)utilizadas várias vezes em um mesmo
programa ou em outros programas diferentes.
Prof. John Hebert S. Felix 5/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Funções
Funções
A programação estruturada em C é obtida com funções, que
permitem dividir os programa em partes menores;
As funções são módulos que combinados formam o programa.
Este pode utilizar funções da biblioteca-padrão ou outras funções
definidas pelo programador; e
As funções podem ser (re)utilizadas várias vezes em um mesmo
programa ou em outros programas diferentes.
Prof. John Hebert S. Felix 5/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Funções
Sintaxe - função
especificador_de_tipo nome_da_função(lista_de_parâmetros)
{
Corpo da função;
}
Em que:
especificador_de_tipo: estabece o tipo de valor que o comando return da
função retorna;
nome_da_função: pode ser representado por algum identificador válido;
lista_de_parâmetros: lista com tipos de dados e de nomes de variáveis
separados por vírgula. Ex.: especificador_de_tipo nome_da_função(tipo
var1, tipo var2,...tipo varn)
Prof. John Hebert S. Felix 6/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Funções
Protótipo de função, Chamada por valor e Chamada por referência
O protótipo de função permite que as funções sejam validadas pelo
compilador que verifica toda a sua forma, tipos de dados de retorno da
função, o número e o tipo de parâmetros e a sua sequência de
ocorrência;
O protótipo de função deve ser declarado antes da função main do
programa; e
A chamada por valor consiste em passar uma cópia do valor do
argumento para a função chamada. Isto significa, que as alterações
realizadas na cópia não modifica o valor original da variável utilizada
para chamá-la;
A chamada por referência consiste em passar uma cópia do edereço
do argumento para a função chamada. Este edereço é utilizado para
modificar o valor original da variável chamada, i.e, a função chamada
pode alterar o valor da da variável original.
Prof. John Hebert S. Felix 6/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Funções
Protótipo de função, Chamada por valor e Chamada por referência
#include <stdio.h>
int quadrado(int a); //protótipo de função
int troca(int *a, int *b); //protótipo de função
int main (void){
int numa = 5, numb = 9;
printf(“O quadrado é: %dn”, quadrado(numa));
troca(&numa, &numb);
printf(“Trocando os valores de A e B:%d %dn”, numa, numb);
return 0;
} //Funções
int quadrado(int a) {
a = a*a;
return a; //uso do comando para retornar um valor
}
int troca(int *a, int *b) {
int aux;
aux = *a;
*a = *b;
*b = aux;
}
Prof. John Hebert S. Felix 6/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Funções
Recursão
Processo que consiste em definir algo em termos de si mesmo. Uma função é
recursiva quando algum comando dentro do seu corpo realiza a sua chamada.
Ex.: Função Recursiva
#include <stdio.h>
int fat(int a);
int fat_rec(int a);
int main (void){
int num;
printf(“Digite o número para calcular o fatorial: %dn”);
scanf (“%d”,&num);
printf(“O fatorial da função fat é:%d2dn”, fat(num));
printf(“O fatorial da função fat_rec é:%d2dn”, fat_rec(num));
return 0;
} //Funções
int fat_rec(int a)
{
if(a <= 1) return 1;
else return (a * fat_rec(a – 1));
}
Ex.: Função normal
int fat(int a)
{
int cont, ft = 1;
if(a <= 1) return 1;
else
{
for(cont = 1; cont <= a; cont++)
{
ft *= cont;
}
return ft;
}
}
Prof. John Hebert S. Felix 6/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arrays e Strings
Arrays e Strings
Arrays - corresponde a conjunto ou coleção de variáveis do
mesmo tipo e nome. Os arrays podem ser: unidimensionais
(vetores) e multidimensionais (tabelas); e
String - definida como um array de caracteres terminada por um
nulo (0).
Prof. John Hebert S. Felix 7/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arrays e Strings
Arrays e Strings
Arrays - corresponde a conjunto ou coleção de variáveis do
mesmo tipo e nome. Os arrays podem ser: unidimensionais
(vetores) e multidimensionais (tabelas); e
String - definida como um array de caracteres terminada por um
nulo (0).
Prof. John Hebert S. Felix 7/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arrays e Strings
Arrays e Strings
Arrays - corresponde a conjunto ou coleção de variáveis do
mesmo tipo e nome. Os arrays podem ser: unidimensionais
(vetores) e multidimensionais (tabelas); e
String - definida como um array de caracteres terminada por um
nulo (0).
Prof. John Hebert S. Felix 7/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arrays e Strings
Arrays - unidimensionais
Refere-se a um conjunto de variáveis de mesmo tipo e nome, que são alocadas
na memória de forma sequencial. Também são chamadas de vetores.
Sintaxe - declaração de um vetor
tipo nome_do_array[tamanho];
Ex.: float vetor[10];
Atribuição de valores
O acesso a um determinado elemento de um vetor é obtido por meio de seu índice, que corresponde a sua
posição.
Em C, o primeiro índice começa em zero (0), ou seja, o vetor[10] vai de vetor[0] até vetor[9]. Ex.:
vetor[1] = 35;
vetor[2] = 23;
Prof. John Hebert S. Felix 8/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arrays e Strings
Operações com vetores
Os arrays permitem que os elementos alocados em suas posições sejam manipulados
de forma independentes. A inclusão e a substituição de valores correponde a uma
mesma operação, i.e, na inclusão de um valor novo, o valor atual é substituido.
Ex.: Somando dois vetores
#include <stdio.h>
#define TAM 10
int main (void){
int i, veta[TAM], vetb[TAM], vetres[TAM];
for(i = 0;i < TAM; i++){
printf(“Digite os números inteiros para cada vetorn”);
scanf(“%d%d”,&veta[i], &vetb[i]);
vetres[i] = veta[i] + vetb[i];
printf(“A soma dos vetores é: %dn”, vetres[i]);
}
return 0;
}
Prof. John Hebert S. Felix 8/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arrays e Strings
Arrays - multidimensionais
Diferente dos vetores, as variáveis multidimensionais (tabelas ou
matrizes), precisam de um índice para cada dimensão, e.g., uma
tabela tem dois índice.
Sintaxe - declaração de uma tabela
tipo nome_da_tabela[tamanho1][tamanho2]; Ex.: float tabela[3][3];
Atribuição de valores
O acesso a um determinado elemento de uma tabela é obtido por meio de seus
índices, e.g., em uma tabela ou matriz bidimensional se utliza dois índices, em que
um represeta a linha e o outro a coluna.
Ex.:
tabela[1][1] = 15;
tabela[2][1] = 31;
Prof. John Hebert S. Felix 8/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arrays e Strings
Operação de soma com duas matrizes
#include <stdio.h>
#define LIN 3
#define COL 3
int main (void){
int i, j, taba[LIN][COL], tabb[LIN][COL], tabres[LIN][COL];
for(i = 0; i < LIN; i++){
for(j = 0; j < COL; j++){
printf(“Digite os números inteiros para cada tabelan”);
scanf(“%d%d”,&taba[i][j], &tabb[i][j]);
tabres[i][j] = taba[i][j] + tabb[i][j];
}
}
for(i = 0;i < LIN; i++)
for(j = 0;j < COL; j++)
printf(“A soma das tabelas é: %2d %2d %2dn”,i,j, tabres[i][j]);
return 0;
}
Prof. John Hebert S. Felix 8/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arrays e Strings
Strings
Em C, não há o tipo de dado string. Esta é definida como array
unidimensional do tipo caractere “char”.
Sintaxe - declaração de uma String
char nome_da_String[tamanho];
Ex.: char nome[30], endereco[20];
Atribuição de valores
O acesso a um determinado elemento de uma string é obtido por meio de seu
índices.
Ex.:
char nome[] = ‘L’,‘u’,‘c’,‘i’,‘a’;
Prof. John Hebert S. Felix 8/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arrays e Strings
String - Obs.:
scanf(“%s”,nome);
Na passagem de dados para a cadeia de caractere o operadro & não pode ser
utilizado, devido a variável nome ser uma string;
O especificar de tipo %s tem seu uso limitado, pois somente realiza a leitura
de uma sequência de caracteres não brancos;
O especificador %[...] permite capturar uma sequência de caracteres não
brancos. Para isto, utiliza-se a seguinte confirguração %30[ ˆ n] s.
Em que:
30 correponde ao tamanho máximo de caracteres que podem ser lidos;
ˆ aplica o efeito inverso (negação);
n
O comando gets() pode ser utilizado para fazer a leitura de variáveis do tipo
string. Porém, este comando não consegue verificar se a quantidade de
carateres digitados excede o tamanho da string;
Prof. John Hebert S. Felix 8/9 UNILAB
Técnicas de Programação I
Linguagem C Agradecimentos
Arrays e Strings
E.: String - lendo e mostrando um texto
#include <stdio.h>
#include <string.h>
#define TAM 10
int main (void){
char texto[TAM];
puts(“Digite o texto: n”);
gets(texto);
printf(“O texto digitado é: %sn”, texto);
return 0;
}
Prof. John Hebert S. Felix 8/9 UNILAB
Técnicas de Programação I

Mais conteúdo relacionado

Mais procurados (20)

Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
 
Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
Introdução ao c++
Introdução ao c++Introdução ao c++
Introdução ao c++
 
Introducao a LPC
Introducao a LPCIntroducao a LPC
Introducao a LPC
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
Cap 2
Cap 2Cap 2
Cap 2
 
Aula4
Aula4Aula4
Aula4
 
Compiladores 3
Compiladores 3Compiladores 3
Compiladores 3
 
Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1
 
Apostila de Alocação Dinâmica em C
Apostila de Alocação Dinâmica em CApostila de Alocação Dinâmica em C
Apostila de Alocação Dinâmica em C
 
Linguagem c parte 2
Linguagem c parte 2Linguagem c parte 2
Linguagem c parte 2
 
Fundamentos do .NET Framework - Parte 2
Fundamentos do .NET Framework - Parte 2Fundamentos do .NET Framework - Parte 2
Fundamentos do .NET Framework - Parte 2
 
Ponteiros e Alocação Dinâmica
Ponteiros e Alocação DinâmicaPonteiros e Alocação Dinâmica
Ponteiros e Alocação Dinâmica
 
(2014-04-16) [Garoa HC] Strategy
(2014-04-16) [Garoa HC] Strategy(2014-04-16) [Garoa HC] Strategy
(2014-04-16) [Garoa HC] Strategy
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
Estrutura de Dados - Alocação dinâmica de memória
Estrutura de Dados - Alocação dinâmica de memóriaEstrutura de Dados - Alocação dinâmica de memória
Estrutura de Dados - Alocação dinâmica de memória
 
Ud3
Ud3Ud3
Ud3
 

Destaque

Tecnicas programacao i_c_p5
Tecnicas programacao i_c_p5Tecnicas programacao i_c_p5
Tecnicas programacao i_c_p5D M
 
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
 
Apcict efforts4 humancapacitydevelopment_asomtalk_tajik
Apcict efforts4 humancapacitydevelopment_asomtalk_tajikApcict efforts4 humancapacitydevelopment_asomtalk_tajik
Apcict efforts4 humancapacitydevelopment_asomtalk_tajikE-Journal ICT4D
 
Trabajo de biología biología
Trabajo de biología biologíaTrabajo de biología biología
Trabajo de biología biologíaErica Urizar
 
Procesos del reciclaje del plastico
Procesos del reciclaje del plasticoProcesos del reciclaje del plastico
Procesos del reciclaje del plasticokatiacruzricardo
 
Detras de cada_triunfo_hay_una_estrategia
Detras de cada_triunfo_hay_una_estrategiaDetras de cada_triunfo_hay_una_estrategia
Detras de cada_triunfo_hay_una_estrategiaJuan González Medina
 
ULS - Software libre
ULS - Software libreULS - Software libre
ULS - Software libreIntComp-ULS
 
대신리포트_모닝미팅_150318
대신리포트_모닝미팅_150318대신리포트_모닝미팅_150318
대신리포트_모닝미팅_150318DaishinSecurities
 
La buena suerte
La buena suerte La buena suerte
La buena suerte patrisp1
 
Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...
Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...
Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...Kharkivbatkiv
 
06 2013 nd-cp_164307
06 2013 nd-cp_16430706 2013 nd-cp_164307
06 2013 nd-cp_164307suuvuclc
 

Destaque (20)

Tecnicas programacao i_c_p5
Tecnicas programacao i_c_p5Tecnicas programacao i_c_p5
Tecnicas programacao i_c_p5
 
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
 
crucigrama
 crucigrama  crucigrama
crucigrama
 
Tecnologia carolina niño
Tecnologia carolina niñoTecnologia carolina niño
Tecnologia carolina niño
 
Apcict efforts4 humancapacitydevelopment_asomtalk_tajik
Apcict efforts4 humancapacitydevelopment_asomtalk_tajikApcict efforts4 humancapacitydevelopment_asomtalk_tajik
Apcict efforts4 humancapacitydevelopment_asomtalk_tajik
 
Trabajo de biología biología
Trabajo de biología biologíaTrabajo de biología biología
Trabajo de biología biología
 
Las preguntas
Las preguntasLas preguntas
Las preguntas
 
Procesos del reciclaje del plastico
Procesos del reciclaje del plasticoProcesos del reciclaje del plastico
Procesos del reciclaje del plastico
 
Detras de cada_triunfo_hay_una_estrategia
Detras de cada_triunfo_hay_una_estrategiaDetras de cada_triunfo_hay_una_estrategia
Detras de cada_triunfo_hay_una_estrategia
 
ULS - Software libre
ULS - Software libreULS - Software libre
ULS - Software libre
 
대신리포트_모닝미팅_150318
대신리포트_모닝미팅_150318대신리포트_모닝미팅_150318
대신리포트_모닝미팅_150318
 
Sexting
SextingSexting
Sexting
 
Hardware software
Hardware softwareHardware software
Hardware software
 
Practica 7-cancer
Practica 7-cancerPractica 7-cancer
Practica 7-cancer
 
La buena suerte
La buena suerte La buena suerte
La buena suerte
 
Jak mierzyć niemierzalne?
Jak mierzyć niemierzalne? Jak mierzyć niemierzalne?
Jak mierzyć niemierzalne?
 
Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...
Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...
Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...
 
06 2013 nd-cp_164307
06 2013 nd-cp_16430706 2013 nd-cp_164307
06 2013 nd-cp_164307
 

Semelhante a Tecnicas programacao i_c_p3

Semelhante a Tecnicas programacao i_c_p3 (20)

Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
 
Java2
Java2Java2
Java2
 
Php
PhpPhp
Php
 
Pesquisa ppi 2
Pesquisa ppi 2Pesquisa ppi 2
Pesquisa ppi 2
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
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
 
Funções e procedimentos
Funções e procedimentosFunções e procedimentos
Funções e procedimentos
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Ed1
Ed1Ed1
Ed1
 
Linguagem_C.pdf
Linguagem_C.pdfLinguagem_C.pdf
Linguagem_C.pdf
 
Aula de C e C++
Aula de C e C++Aula de C e C++
Aula de C e C++
 
Subalgoritmos Profª Letíca Lopes
Subalgoritmos Profª Letíca LopesSubalgoritmos Profª Letíca Lopes
Subalgoritmos Profª Letíca Lopes
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Algoritomos aula 3 rafael
Algoritomos aula 3 rafaelAlgoritomos aula 3 rafael
Algoritomos aula 3 rafael
 
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)
 
Aula01 introducao operacoes
Aula01   introducao operacoesAula01   introducao operacoes
Aula01 introducao operacoes
 

Último

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
 
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfPROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfdanielemarques481
 
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
 
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICADESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICAPabloVinicius40
 
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
 
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
 

Último (6)

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
 
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfPROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
 
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
 
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICADESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
 
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
 
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
 

Tecnicas programacao i_c_p3

  • 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 Funções Funções A programação estruturada em C é obtida com funções, que permitem dividir os programa em partes menores; As funções são módulos que combinados formam o programa. Este pode utilizar funções da biblioteca-padrão ou outras funções definidas pelo programador; e As funções podem ser (re)utilizadas várias vezes em um mesmo programa ou em outros programas diferentes. Prof. John Hebert S. Felix 5/9 UNILAB Técnicas de Programação I
  • 6. Linguagem C Agradecimentos Funções Funções A programação estruturada em C é obtida com funções, que permitem dividir os programa em partes menores; As funções são módulos que combinados formam o programa. Este pode utilizar funções da biblioteca-padrão ou outras funções definidas pelo programador; e As funções podem ser (re)utilizadas várias vezes em um mesmo programa ou em outros programas diferentes. Prof. John Hebert S. Felix 5/9 UNILAB Técnicas de Programação I
  • 7. Linguagem C Agradecimentos Funções Funções A programação estruturada em C é obtida com funções, que permitem dividir os programa em partes menores; As funções são módulos que combinados formam o programa. Este pode utilizar funções da biblioteca-padrão ou outras funções definidas pelo programador; e As funções podem ser (re)utilizadas várias vezes em um mesmo programa ou em outros programas diferentes. Prof. John Hebert S. Felix 5/9 UNILAB Técnicas de Programação I
  • 8. Linguagem C Agradecimentos Funções Funções A programação estruturada em C é obtida com funções, que permitem dividir os programa em partes menores; As funções são módulos que combinados formam o programa. Este pode utilizar funções da biblioteca-padrão ou outras funções definidas pelo programador; e As funções podem ser (re)utilizadas várias vezes em um mesmo programa ou em outros programas diferentes. Prof. John Hebert S. Felix 5/9 UNILAB Técnicas de Programação I
  • 9. Linguagem C Agradecimentos Funções Sintaxe - função especificador_de_tipo nome_da_função(lista_de_parâmetros) { Corpo da função; } Em que: especificador_de_tipo: estabece o tipo de valor que o comando return da função retorna; nome_da_função: pode ser representado por algum identificador válido; lista_de_parâmetros: lista com tipos de dados e de nomes de variáveis separados por vírgula. Ex.: especificador_de_tipo nome_da_função(tipo var1, tipo var2,...tipo varn) Prof. John Hebert S. Felix 6/9 UNILAB Técnicas de Programação I
  • 10. Linguagem C Agradecimentos Funções Protótipo de função, Chamada por valor e Chamada por referência O protótipo de função permite que as funções sejam validadas pelo compilador que verifica toda a sua forma, tipos de dados de retorno da função, o número e o tipo de parâmetros e a sua sequência de ocorrência; O protótipo de função deve ser declarado antes da função main do programa; e A chamada por valor consiste em passar uma cópia do valor do argumento para a função chamada. Isto significa, que as alterações realizadas na cópia não modifica o valor original da variável utilizada para chamá-la; A chamada por referência consiste em passar uma cópia do edereço do argumento para a função chamada. Este edereço é utilizado para modificar o valor original da variável chamada, i.e, a função chamada pode alterar o valor da da variável original. Prof. John Hebert S. Felix 6/9 UNILAB Técnicas de Programação I
  • 11. Linguagem C Agradecimentos Funções Protótipo de função, Chamada por valor e Chamada por referência #include <stdio.h> int quadrado(int a); //protótipo de função int troca(int *a, int *b); //protótipo de função int main (void){ int numa = 5, numb = 9; printf(“O quadrado é: %dn”, quadrado(numa)); troca(&numa, &numb); printf(“Trocando os valores de A e B:%d %dn”, numa, numb); return 0; } //Funções int quadrado(int a) { a = a*a; return a; //uso do comando para retornar um valor } int troca(int *a, int *b) { int aux; aux = *a; *a = *b; *b = aux; } Prof. John Hebert S. Felix 6/9 UNILAB Técnicas de Programação I
  • 12. Linguagem C Agradecimentos Funções Recursão Processo que consiste em definir algo em termos de si mesmo. Uma função é recursiva quando algum comando dentro do seu corpo realiza a sua chamada. Ex.: Função Recursiva #include <stdio.h> int fat(int a); int fat_rec(int a); int main (void){ int num; printf(“Digite o número para calcular o fatorial: %dn”); scanf (“%d”,&num); printf(“O fatorial da função fat é:%d2dn”, fat(num)); printf(“O fatorial da função fat_rec é:%d2dn”, fat_rec(num)); return 0; } //Funções int fat_rec(int a) { if(a <= 1) return 1; else return (a * fat_rec(a – 1)); } Ex.: Função normal int fat(int a) { int cont, ft = 1; if(a <= 1) return 1; else { for(cont = 1; cont <= a; cont++) { ft *= cont; } return ft; } } Prof. John Hebert S. Felix 6/9 UNILAB Técnicas de Programação I
  • 13. Linguagem C Agradecimentos Arrays e Strings Arrays e Strings Arrays - corresponde a conjunto ou coleção de variáveis do mesmo tipo e nome. Os arrays podem ser: unidimensionais (vetores) e multidimensionais (tabelas); e String - definida como um array de caracteres terminada por um nulo (0). Prof. John Hebert S. Felix 7/9 UNILAB Técnicas de Programação I
  • 14. Linguagem C Agradecimentos Arrays e Strings Arrays e Strings Arrays - corresponde a conjunto ou coleção de variáveis do mesmo tipo e nome. Os arrays podem ser: unidimensionais (vetores) e multidimensionais (tabelas); e String - definida como um array de caracteres terminada por um nulo (0). Prof. John Hebert S. Felix 7/9 UNILAB Técnicas de Programação I
  • 15. Linguagem C Agradecimentos Arrays e Strings Arrays e Strings Arrays - corresponde a conjunto ou coleção de variáveis do mesmo tipo e nome. Os arrays podem ser: unidimensionais (vetores) e multidimensionais (tabelas); e String - definida como um array de caracteres terminada por um nulo (0). Prof. John Hebert S. Felix 7/9 UNILAB Técnicas de Programação I
  • 16. Linguagem C Agradecimentos Arrays e Strings Arrays - unidimensionais Refere-se a um conjunto de variáveis de mesmo tipo e nome, que são alocadas na memória de forma sequencial. Também são chamadas de vetores. Sintaxe - declaração de um vetor tipo nome_do_array[tamanho]; Ex.: float vetor[10]; Atribuição de valores O acesso a um determinado elemento de um vetor é obtido por meio de seu índice, que corresponde a sua posição. Em C, o primeiro índice começa em zero (0), ou seja, o vetor[10] vai de vetor[0] até vetor[9]. Ex.: vetor[1] = 35; vetor[2] = 23; Prof. John Hebert S. Felix 8/9 UNILAB Técnicas de Programação I
  • 17. Linguagem C Agradecimentos Arrays e Strings Operações com vetores Os arrays permitem que os elementos alocados em suas posições sejam manipulados de forma independentes. A inclusão e a substituição de valores correponde a uma mesma operação, i.e, na inclusão de um valor novo, o valor atual é substituido. Ex.: Somando dois vetores #include <stdio.h> #define TAM 10 int main (void){ int i, veta[TAM], vetb[TAM], vetres[TAM]; for(i = 0;i < TAM; i++){ printf(“Digite os números inteiros para cada vetorn”); scanf(“%d%d”,&veta[i], &vetb[i]); vetres[i] = veta[i] + vetb[i]; printf(“A soma dos vetores é: %dn”, vetres[i]); } return 0; } Prof. John Hebert S. Felix 8/9 UNILAB Técnicas de Programação I
  • 18. Linguagem C Agradecimentos Arrays e Strings Arrays - multidimensionais Diferente dos vetores, as variáveis multidimensionais (tabelas ou matrizes), precisam de um índice para cada dimensão, e.g., uma tabela tem dois índice. Sintaxe - declaração de uma tabela tipo nome_da_tabela[tamanho1][tamanho2]; Ex.: float tabela[3][3]; Atribuição de valores O acesso a um determinado elemento de uma tabela é obtido por meio de seus índices, e.g., em uma tabela ou matriz bidimensional se utliza dois índices, em que um represeta a linha e o outro a coluna. Ex.: tabela[1][1] = 15; tabela[2][1] = 31; Prof. John Hebert S. Felix 8/9 UNILAB Técnicas de Programação I
  • 19. Linguagem C Agradecimentos Arrays e Strings Operação de soma com duas matrizes #include <stdio.h> #define LIN 3 #define COL 3 int main (void){ int i, j, taba[LIN][COL], tabb[LIN][COL], tabres[LIN][COL]; for(i = 0; i < LIN; i++){ for(j = 0; j < COL; j++){ printf(“Digite os números inteiros para cada tabelan”); scanf(“%d%d”,&taba[i][j], &tabb[i][j]); tabres[i][j] = taba[i][j] + tabb[i][j]; } } for(i = 0;i < LIN; i++) for(j = 0;j < COL; j++) printf(“A soma das tabelas é: %2d %2d %2dn”,i,j, tabres[i][j]); return 0; } Prof. John Hebert S. Felix 8/9 UNILAB Técnicas de Programação I
  • 20. Linguagem C Agradecimentos Arrays e Strings Strings Em C, não há o tipo de dado string. Esta é definida como array unidimensional do tipo caractere “char”. Sintaxe - declaração de uma String char nome_da_String[tamanho]; Ex.: char nome[30], endereco[20]; Atribuição de valores O acesso a um determinado elemento de uma string é obtido por meio de seu índices. Ex.: char nome[] = ‘L’,‘u’,‘c’,‘i’,‘a’; Prof. John Hebert S. Felix 8/9 UNILAB Técnicas de Programação I
  • 21. Linguagem C Agradecimentos Arrays e Strings String - Obs.: scanf(“%s”,nome); Na passagem de dados para a cadeia de caractere o operadro & não pode ser utilizado, devido a variável nome ser uma string; O especificar de tipo %s tem seu uso limitado, pois somente realiza a leitura de uma sequência de caracteres não brancos; O especificador %[...] permite capturar uma sequência de caracteres não brancos. Para isto, utiliza-se a seguinte confirguração %30[ ˆ n] s. Em que: 30 correponde ao tamanho máximo de caracteres que podem ser lidos; ˆ aplica o efeito inverso (negação); n O comando gets() pode ser utilizado para fazer a leitura de variáveis do tipo string. Porém, este comando não consegue verificar se a quantidade de carateres digitados excede o tamanho da string; Prof. John Hebert S. Felix 8/9 UNILAB Técnicas de Programação I
  • 22. Linguagem C Agradecimentos Arrays e Strings E.: String - lendo e mostrando um texto #include <stdio.h> #include <string.h> #define TAM 10 int main (void){ char texto[TAM]; puts(“Digite o texto: n”); gets(texto); printf(“O texto digitado é: %sn”, texto); return 0; } Prof. John Hebert S. Felix 8/9 UNILAB Técnicas de Programação I