Buscar

Strings em Algoritmos e Programação I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Algoritmos e Programação I 
Aula 9 – Notas de aula 
Strings. 
- Strings, cadeias ou sequencias de caracteres 
 Strings são vetores de caracteres (char). São também chamados de matrizes 
unidimensionais. 
 Toda string é terminada em nulo. Nulo é representado por ‘\0’(lê-se barra zero). Por 
conter este terminador, vetores de caracteres são declarados com um caractere a 
mais para armazerna o ‘\0’. Por exemplo, se desejarmos armazenar uma string 
com 20 caracteres, deve ser declarada como: 
char nome[21]; 
 Uma constante string é uma sequência de caracteres entre aspas: 
“Isto é uma constante string” 
 
Leitura de strings 
scanf(“%s”, nome); 
ou 
gets(nome); // neste caso usar o cabeçalho #include <string.h> 
Exibição de strings 
printf(“%s”, nome); 
ou 
puts(nome); //neste caso usar o cabeçalho #include <string.h> 
Inicialização de Strings: 
 Com lista de valores: 
 tipo nome[tamanho1] = {lista-de-valores} 
 Com uma constante string: 
 char nome[tamanho] = “string”; 
 isto é idêntico a 
 char str[tamanho] = {‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’, ‘\0’}; 
 Sem especificar tamanho: 
 char s1[] = “primeiro texto\n”; 
 char s2[] = “segundo texto”; 
Na leitura de strings com scanf, não se deve colocar o símbolo & 
antes do nome da variável, pois o próprio nome da string contém o 
endereço. 
Exemplo de manipulação de strings: 
#include <stdio.h> 
void main(void) { 
 char Palavra[20]; 
 int i; 
 printf("Digite UMA palavra qualquer: "); 
 scanf("%s",Palavra); 
 printf(“Palavra escrita verticalmente: \n”); 
 for(i=0;Palavra[i] != '\0'; i++){ 
 printf("%c\n",Palavra[i]); 
 } 
 printf("Palavra digitada: %s\n",Palavra); 
} 
 
 O que imprimirá na tela a execução do seguinte código em C? 
#include <stdio.h> 
void main(void) { 
 char a[20]; 
 int i; 
 printf("Digite UMA palavra qualquer: "); 
 scanf("%s",a); 
 while(a[i]!=’\0’){ 
 printf(“%c\n”, a[i]); 
 i++; 
 } 
 
Uso do ‘\0’ como terminador de uma string. 
 Neste exemplo, são contadas quantas letras a palavra digitada possui. 
#include<stdio.h> 
void main(void) { 
 int i; 
 char string[20]; 
 printf(“Digite UMA palavra:”); 
 scanf("%s",string); 
 for(i=0; string[i]; i++); 
 printf(“\nA palavra %s tem %d letras", string, i); 
} 
 
 
Uso do ‘\0’ para “truncar” uma string. 
 Neste exemplo, a palavra é cortada na letra a. 
#include<stdio.h> 
 void main(void) { 
 char str[20]; 
 int i; 
 scanf("%s", str); 
 for(i=0; str[i]!='a' && str[i]; i++); 
 if (str[i]=='a') { 
 str[i] = '\0'; 
 printf ("Palavra cortada no primeiro 'a': %s\n", str); 
 } else printf("Não há letra 'a' na palavra %s\n", str); 
} 
 
Algumas Funções de Manipulação Strings da biblioteca string.h 
Incluir o cabeçalho #include <string.h> 
Nome Função 
strcpy(s1,s2) Copia s2 para s1 
strcat(s1,s2) Concatena s2 ao final de s1 
strlen(s1,s2) Retorna o tamanho de s1 
strcmp(s1,s2) Retorna 0 (falso) se s1=s2; menos que 0 se s1<s2; maior que zero se 
s1>s2. 
strchr(s1,ch) Retorna um ponteiro para a primeira ocorrência de ch em s1 
strstr(s1,s2) Retorna um ponteiro para a primeira ocorrência de s2 em s1 
 
 
Leituras e exercícios: 
EVARISTO, Jaime. Aprendendo a programar programando na linguagem C. Maceió: Vivali, 
2007. 
SCHILDT, Herbert. C completo e total. São Paulo: Makron Books, 1997. 
CORMEN, Thomas H et al. Algoritmos: teoria e prática. Rio de Janeiro: Campus, 2002.

Continue navegando