algoritmos e programação: manipulação de strings
TRANSCRIPT
Manipulação de stringsManipulação de strings
Prof. Alex [email protected]
UNIVERSIDADE FEDERAL DO PAMPACAMPUS BAGÉ
ALGORITMOS E PROGRAMAÇÃO
Variáveis "string"
Na linguagem C uma cadeia de caracteres (string) é implementada como um vetor do tipo char.
Variáveis do tipo char são usadas para armazenar um caractere (tamanho = 1 byte).
Exemplo:char letra = ‘a’;
Problema: muitas vezes precisamos trabalhar com palavras, ou até mesmo frases; ou seja, com uma cadeia de caracteres.
Para isso, usamos uma estrutura de dados especial chamada vetor de caracteres:
Exemplo:char string[20] = "aula de algoritmos";
Algoritmos e Programação – Manipulação de strings
Variáveis "string"
Na linguagem C uma cadeia de caracteres (string) é implementada como um vetor do tipo char.
Variáveis do tipo char são usadas para armazenar um caractere (tamanho = 1 byte).
Exemplo:char letra = ‘a’;
Problema: muitas vezes precisamos trabalhar com palavras, ou até mesmo frases; ou seja, com uma cadeia de caracteres.
Para isso, usamos uma estrutura de dados especial chamada vetor de caracteres (tamanho = 1 byte*(número máx. de caracteres + 1)):
Exemplo:char string[20] = "aula de algoritmos";
Algoritmos e Programação – Manipulação de strings
Variáveis "string"
Observação:
Na declaração é determinada a quantidade máxima de caracteres que poderá ser armazenada na string.
Mas, como sabemos a real quantidade que foi armazenada na string?
Ocorrência de um caractere especial, o '\0'.
Algoritmos e Programação – Manipulação de strings
Funções de Manipulação de Strings (string.h) - gets
Função que permite a leitura de strings com espaços.
Sintaxe: gets(string);
Exemplo:char string[20];gets(string); //aula de algoritmosprintf("%s",string); //aula de algoritmos
Algoritmos e Programação – Manipulação de strings
Funções de Manipulação de Strings (string.h) - gets
Função que permite a leitura de strings com espaços.
Sintaxe: gets(string);
Exemplo:char string[20];gets(string); //aula de algoritmosprintf("%s",string); //aula de algoritmos
Algoritmos e Programação – Manipulação de strings
Funções de Manipulação de Strings (string.h) - puts
Função que permite a impressão de uma string na tela.
Sintaxe: puts(string);
Exemplo:char string[20] = "Caracteres";puts(string); //Caracteres
Algoritmos e Programação – Manipulação de strings
Funções de Manipulação de Strings (string.h) - puts
Função que permite a impressão de uma string na tela.
Sintaxe: puts(string);
Exemplo:char string[20] = "Caracteres";puts(string); //Caracteres
Algoritmos e Programação – Manipulação de strings
Funções de Manipulação de Strings (string.h) - strcpy
Função que permite copiar uma string para outra.
Sintaxe: strcpy(destino,origem);
Exemplo:char destino[20];strcpy(destino,"String origem");printf("%s",destino); //String origem
Algoritmos e Programação – Manipulação de strings
Funções de Manipulação de Strings (string.h) - strcpy
Função que permite copiar uma string para outra.
Sintaxe: strcpy(destino,origem);
Exemplo:char destino[20];strcpy(destino,"String origem");printf("%s",destino); //String origem
Algoritmos e Programação – Manipulação de strings
Funções de Manipulação de Strings (string.h) - strcat
Função que permite a concatenação de duas strings.
Sintaxe: strcat(destino, origem);
Exemplo: char destino[10] = "Inicio", origem[20] = "Fim"; strcat(destino,origem); printf("%s",destino); //InicioFim
Algoritmos e Programação – Manipulação de strings
Funções de Manipulação de Strings (string.h) - strcat
Função que permite a concatenação de duas strings.
Sintaxe: strcat(destino,origem);
Exemplo:char origem[10] = "Fim", destino[20] = "Inicio";strcat(destino,origem);printf("%s",destino); //InicioFim
Algoritmos e Programação – Manipulação de strings
Funções de Manipulação de Strings (string.h) - strcmp
Função que permite a comparação de duas strings.
Sintaxe: strcmp(string1, string2);
Exemplo:char string1[10] = "Carro", string2[10] = "Moto";printf("%d", strcmp(string1,string2)); // -1
Retorna 0 se as duas strings forem iguaisRetorna -1 se a 1ª string for menor (alfabeticamente) que a 2ª Retorna 1 se a 1ª string for maior (alfabeticamente) que a 2ª
Algoritmos e Programação – Manipulação de strings
Funções de Manipulação de Strings (string.h) - strcmp
Função que permite a comparação de duas strings.
Sintaxe: strcmp(string1, string2);
Exemplo:char string1[10] = "Carro", string2[10] = "Moto";printf("%d", strcmp(string1,string2)); // -1
Retorna 0 se as duas strings forem iguaisRetorna -1 se a 1ª string for menor (alfabeticamente) que a 2ª Retorna 1 se a 1ª string for maior (alfabeticamente) que a 2ª
Algoritmos e Programação – Manipulação de strings
Funções de Manipulação de Strings (string.h) - strlen
Função que retorna o comprimento de uma string.
Sintaxe: strlen(string);
Exemplo:char string[10]="Fim";printf("%d\n", strlen(string)); //3
Algoritmos e Programação – Manipulação de strings
Funções de Manipulação de Strings (string.h) - strlen
Função que retorna o comprimento de uma string.
Sintaxe: strlen(string);
Exemplo:char string[10]="Fim";printf("%d\n", strlen(string)); //3
Algoritmos e Programação – Manipulação de strings
Exercícios Resolva as questões abaixo utilizando o Pseudocódigo, o Fluxograma e a linguagem de programação C:
1. Faça um programa que receba o nome completo e salário de um funcionário, calcule e mostre o nome e novo salário, sabendo-se que este sofreu um aumento de 25%.
2. Faça um programa que receba o nome e o ano de nascimento de uma pessoa. Com base no ano atual, calcule e mostre o nome seguido da idade dessa pessoa.
3. Faça um programa em que leia quatro strings pelo teclado. Depois, concatene todas as strings lidas em uma única variável. Imprima a variável concatenada.
4. Escreva um programa que leia um nome completo do teclado e o escreva na tela no formato Sobrenome, Nome. Exemplo:
Nome → Fulano / Sobrenome → Silva Gates / Saída no vídeo → Silva Gates, Fulano
5. Faça um programa que leia um nome (string1) e um sobrenome (string2) e mostre na tela: a) Nome completo, guardado em uma string diferente das lidas (string3) b) Quantidade de caracteres do nome, sobrenome e nome completo
Algoritmos e Programação – Manipulação de strings