Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
Definio de strings.
Criao/Declarao de strings.
Inicializao de strings.
Manipulao de strings.
Exemplos.
definies
Uma string uma sequncia, um conjunto, ou uma cadeia de
caracteres.
Uma string um conjunto de caracteres armazenados num
vector de caracteres, cujo o ultimo elemento o carcter nulo
\0.
Uma string um vector de caracteres terminado com o carcter
nulo
O carcter nulo o carcter cujo o codigo ASCII vale 0.
O carcter nulo tambm representado por \0.
As strings so tipo de dados no primitivos da linguagem C para
guardar uma palavra.
Lembre-se que os tipos de dados bsicos ou primitivos em
linguagel C so: int, float, double e char.
st1 G u s t a v o \0 \0 \0 \0 \0
0 1 2 3 4 5 6 7 8 9 10 11
Algumas Dicas
Exemplo usando as funes gets e puts Exemplo usando as funes scanf e printf
Etc.
Funo strlen
Recebe uma string e devolve o tamanho da string ou seja o nmero de caracteres que constitui
a string excluindo o caracter \0.
Exemplo: strlen(Gustavo); devolve o inteiro 7.
Funo strcpy
Essa funo permite copiar a string orig para a string dest.
Exemplo:
char nome[12]; /*declarao da string*/
strcpy(nome, Gustavo); /*a cadeia de caracteres Gustavo copiada para string nome*/
Funo strcat
Essa funo permite concatenar a string orig com a string dest e o resultado da concatenao
guardado na string dest .
Exemplo:
char nome[12] = Edna; /*declarao da string*/
strcat(nome, Ximbi); /*a cadeia de caracteres resultante ser EdnaXimbi e ser guardada na
variavel nome*/
Funo strcmp
Essa funo permite comparar duas strings.
A funo devolve um inteiro negativo se str1 for menor alfabeticamente em relao a str2.
A funo devolve 0 (zero) se str1 for igual a str2.
A funo devolve um inteiro positivo se str1 for maior alfabeticamente em relao a str2.
Exemplo:
char nome1[12]=Gustavo; /*declarao da string*/
char nome2[12]=Campos; /*declarao da string*/
int numero;
strcmp(nome1, nome2); /*devolve um nmero positivo*/
strcmp(nome1, nome1); /*devolve 0*/
strcmp(nome2, nome1); /*devolve um nmero negativo*/
Soluo:
Criar duas strings para guardar os dois nomes a ser lidos, criar uma terceira string para guardar
a concatenao das duas strings, e usar as funes predefinidas de manipulao de strings.
1. Podemos usar as funes gets ou scanf para ler as duas strings do teclado.
2. Podemos uar a funo strlen para calcular o tamanho de cada string.
3. Podemos usar a funo strcmp para determinar qual das strings maior por ordem alfabetica.
4. Podemos usar a funo strcat para concatenar as duas strings no ecr.
int main(){
/*Declarao das strings*/
char nome1[10];
char nome2[10];
int tamanho1;
int n;
/*Leitura dos dois nomes do teclado*/
printf(insira um nome: );
scanf(%s,nome1);
printf(a string insirida : );
scanf(%s,nome2);
/*Calculo do tamanho das strings*/
tamanho1 = strlen(nome1);
printf(\ntamanho 1: %d,tamanho1);
printf(\ntamanho 2: %d,strlen(nome2));
/*Escrever os nomes por ordem alfabticas*/
n = strcmp(nome1,nome2);
if(n > 0)
printf(%s\n%s,nome2,nome1);
else
printf(%s\n%s,nome1,nome2);
/*Concatenao de strings*/
strcat(nome1,nome2);
printf(%s\n,nome1);
exit(0);