A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Frederico Brito Fernandes Nivelamento de C: Vetores e Strings CONTEÚDO (1) Exercícios de Revisão (2) Vetores (3) Strings.

Apresentações semelhantes


Apresentação em tema: "Prof. Frederico Brito Fernandes Nivelamento de C: Vetores e Strings CONTEÚDO (1) Exercícios de Revisão (2) Vetores (3) Strings."— Transcrição da apresentação:

1 Prof. Frederico Brito Fernandes Nivelamento de C: Vetores e Strings CONTEÚDO (1) Exercícios de Revisão (2) Vetores (3) Strings

2 Frederico Brito Fernandes 2 Estrutura, Pesquisa e Ordenação de Dados Antes de prosseguir para vetores e strings... Implemente o que se pede: a)Faça um programa que leia a altura de uma pessoa (em metros) e retorne esse valor convertido para pés e polegadas Considere: 1 pé = 30.48cm e 1 polegada = 2.54cm Saída: 1.68m corresponde a 5.5 pes e 66.1 polegadas b)Faça um programa que leia um número em segundos, e retorna o mesmo em horas, minutos e segundos Saída: 7322 segundos equivalem a 2 horas, 2 minutos e 2 segundos c)Faça um programa que leia um número e imprima uma sequência numérica. Ex: se o número digitado foi 3: Saída: d)Faça uma função que recebe um inteiro e retorna seu fatorial Fat(n)=n*n-1*n-2*..*1 Ex: Fat(5)=5*4*3*2*1 e)Faça uma função que recebe uma temperatura em ºC e retorna seu equivalente em ºF Considere: TC = TF (1) Exercícios de Revisão

3 Frederico Brito Fernandes 3 Estrutura, Pesquisa e Ordenação de Dados Definição e declaração de vetores Objetivo: –Declarar N variáveis de um mesmo tipo –Primeiro índice: zero –Também conhecido como arranjo Sintaxe: tipo nome_do_vetor[N]; Ex: float notas[30]; float teste=7; notas[0] = 4.5; notas[1] = 10; notas[2] = notas[0];// qual valor é atribuído a elemento de índice 2? notas[3] = notas[10]; // o que acontece aqui? notas[30] = 2;// essa instrução é legal em C? // qual o valor provável de teste depois dessa instrução? Ex: O que faz o programa abaixo? main(){ int v[10], j; for (j = 0; j <= 10; j++) { v[j] = 0; } igual? (2) Vetores

4 Frederico Brito Fernandes 4 Estrutura, Pesquisa e Ordenação de Dados Inicializando valores Inicialização: tipo nome_do_vetor[N] = {valor1,valor2,...,valorN}; –Caso o vetor tenha sido inicializado, seu tamanho (N) pode ser omitido Ex1: int idades[10] = {34,53,12,20,22};// qual o valor de idades[5]? int idades2[] = {34,53,12,20,22};// qual o tamanho de idades2? for(i=0;i<10;i++){ printf(Idade do usuario %d eh %d,i+1,idade[i]); // cuidado com o lixo!!! } Solução? Você deveria ter inicializado todos os valores! (2) Vetores

5 Frederico Brito Fernandes 5 Estrutura, Pesquisa e Ordenação de Dados Auto-avaliação Faça um programa que defina um vetor de 10 inteiros, com valores já inicializados e calcule a soma dos elementos Ex: int vetor[10] = {1,2,3,4,5,6,7,8,9,10}; Faça um programa que copie o vetor1 no vetor2 de forma invertida. Depois, imprima os vetores. Defina uma constante para o tamanho do vetor. Ex: #define N 10 int vetor1[N] = {1,2,3,4,5,6,7,8,9,10}; int vetor2[N]; (2) Vetores

6 Frederico Brito Fernandes 6 Estrutura, Pesquisa e Ordenação de Dados Definição e inicialização de strings Vetor de char –Não existe o tipo pré-definido string em C –Termina com o caractere \0 Portanto, se você precisa de uma string com 10 caracteres, declare um vetor com 11 posições (char) Sintaxe: char nome_da_string[tamanho]; Ex1: char s1[]=Fred;// qual o tamanho dessa string? char s2[5]; char s3[];// ilegal, pois não declarei o tamanho da string nem inicializei Ex2: char nome[20] = {'F','r','e','d,\0}; printf(Nome: ); for(i=0;i<20;i++){ printf(%c,nome[i]); } É opcional, caso você inicialize um valor, pois o compilador consegue deduzir char nome[20] = Fred; printf(Nome: %s,nome); printf(Nome: ); for(i=0;nome[i]!=\0;i++){ printf(%c,nome[i]); } C A B (3) Strings

7 Frederico Brito Fernandes 7 Estrutura, Pesquisa e Ordenação de Dados Função gets() Ex: o programa abaixo copia uma string em outra #include main (){ int count; char s1[100],s2[100]; printf(Digite a primeira string: ); gets(s1); for (count=0;s1[count];count++) s2[count]=s1[count]; s2[count]='\0'; } Não é permitido diretamente: ( lembre-se: string não é um tipo pré-definido em C ) –Comparar duas strings Ex: if (s1==s2) {...} –Atribuir uma string a outra Ex: s1 = s2; Para realizar tal tarefa, use a biblioteca Qual é a condição de parada do for aqui? (vimos na aula passada!) A função gets (stdio.h) é capaz de capturar uma string com espaços em branco O scanf() não! (3) Strings

8 Frederico Brito Fernandes 8 Estrutura, Pesquisa e Ordenação de Dados Biblioteca string.h strcpy (string_destino,string_origem) –Objetivo: copia a string_origem para a string_destino –Ex: #include main () { char str1[100],str2[100],str3[100]; printf ("Entre com uma string: "); gets (str1); strcpy (str2,str1); /* Copia str1 em str2 */ strcpy (str3,"Voce digitou a string "); /* Copia "Voce digitou a string" em str3 */ printf ("\n\n%s%s",str3,str2); } (3) Strings

9 Frederico Brito Fernandes 9 Estrutura, Pesquisa e Ordenação de Dados (2) Strings: biblioteca string.h strcat (string_destino,string_origem) –Objetivo: A string_origem permanecerá inalterada e será anexada ao fim da string_destino –Ex: #include main () { char str1[100],str2[100]; printf ("Entre com uma string: "); gets (str1); strcpy (str2,"Voce digitou a string "); strcat (str2,str1); /* str2 armazenara' Voce digitou astring + o conteudo de str1 */ printf ("\n\n%s",str2); } (3) Strings

10 Frederico Brito Fernandes 10 Estrutura, Pesquisa e Ordenação de Dados Biblioteca string.h strlen (string) –Objetivo: A função strlen() retorna o comprimento da string fornecida –Retorno: tamanho de string Atenção: O terminador nulo não é contado –Ex: #include main () { int size; char str[100]; printf ("Entre com uma string: "); gets (str); size=strlen (str); printf ("\n\nA string que voce digitou tem tamanho %d",size); } (3) Strings

11 Frederico Brito Fernandes 11 Estrutura, Pesquisa e Ordenação de Dados Biblioteca string.h strcmp (string1,string2) –Objetivo: compara a string1 com a string2. –Retorno: 0 se elas forem idênticas valor <0 se string1 for menor que string2. Ex: Fred < Ze valor >0 se string1 for maior que string2. Ex: Fred > Bala –Ex: #include main (){ int iguais; char str[100], str2[]=Fred; printf (Digite seu nome: "); gets (str); iguais=strcmp (str, str2); if (iguais==0) printf ("\n\nSeu nome é Fred"); getchar(); } (3) Strings

12 Frederico Brito Fernandes 12 Estrutura, Pesquisa e Ordenação de Dados Biblioteca string.h Outras funções: (3) Strings

13 Frederico Brito Fernandes 13 Estrutura, Pesquisa e Ordenação de Dados Auto-avaliação Faça um programa que leia do usuário duas strings: nome e ultimoNome. Seu programa deve criar uma terceira string vazia (nomeCompleto), que deve concatenar as duas outras strings, lembrando de colocar um espaço em branco entre elas. Finalmente imprima nomeCompleto na tela. Ex: nome = Frederico ultimoNome = Fernandes Então: nomeCompleto = Frederico Fernandes (3) Strings


Carregar ppt "Prof. Frederico Brito Fernandes Nivelamento de C: Vetores e Strings CONTEÚDO (1) Exercícios de Revisão (2) Vetores (3) Strings."

Apresentações semelhantes


Anúncios Google