Professional Documents
Culture Documents
LAPRO I
Prof. Dr. Rafael Garibotti
v Baseado no material cedido pelos Profs. Dr. Marco Mangan e Dr. Matheus Trevisan
AULA SOBRE:
STRINGS
STRINGS
Conceito:
um conjunto de caracteres, ou seja, em C so vetores de caracteres.
Tamanho da string: deve ser um caractere maior que o mximo tamanho
armazenado. possvel seu tamanho na declarao.
char buffer[50];
STRINGS
Declarao:
char nome[6];
Varivel Contedo
Endereo de
memria
nome [0]
10
[1]
11
[2]
12
[3]
13
nome[0] = 'M';
nome[1] = 'A';
[4]
14
[5]
\0
15
STRINGS
Exemplo:
#include <stdio.h>
int main(){
char nome1[6];
nome1[0] = 'M';
nome1[1] = 'A';
nome1[2] = 'R';
nome1[3] = 'I';
nome1[4] = 'A';
nome1[5] = '\0';
printf("O nome %s\n", nome1);
printf("A terceira letra da string %c\n", nome1[2]);
return 0;
}
3
STRINGS
Leitura de strings do teclado:
Funo gets()
L string at o primeiro enter.
Observao: a funo gets() no realiza qualquer verificao de limites na
string. Logo, se o usurio inserir uma string maior que o tamanho definido, a
funo escrever a string ultrapassando seus limites.
Funo scanf()
L string at o primeiro espao em branco.
Exemplo:
...
char palavra[20];
gets(palavra);
scanf("%s", palavra);
...
STRINGS
#include <string.h>
strcpy(str1, str2)
strcat(str1, str2)
Retorna 0 se str1 e str2 so iguais; < que 0 (zero) se str1<str2; > que 0 (zero)
se str1>str2.
STRINGS
Exemplo:
#include<stdio.h>
#include<string.h>
int main() {
char nome1[12], nome2[12], nome3[15];
strcpy(nome1, "Carolina");
strcpy(nome2, "Rodrigo");
strcpy(nome3, "Ana Julia");
printf("Nome1 %s\n", nome1);
printf("Nome2 %s\n", nome2);
printf("Nome3 %s, tamanho: %lu\n", nome3, strlen(nome3));
return 0;
}
6
STRINGS
Exemplo:
#include<stdio.h>
#include<string.h>
int main() {
char nome1[5], nome2[6], nome12[12]={'\0'};
strcpy(nome1, "Jose");
strcpy(nome2, "Maria");
strcat(nome12, nome1);
strcat(nome12, " ");
strcat(nome12, nome2);
printf("Concatenao de nomes %s.\n", nome12);
return 0;
}
7
STRINGS
Exemplo:
#include<stdio.h>
#include<string.h>
int main() {
char s1[80], s2[80];
gets(s1);
gets(s2);
printf("Comprimentos: %lu %lu\n", strlen(s1), strlen(s2));
if(strcmp(str1,str2) == 0)
printf("Strings iguais.\n");
strcat(s1, s2);
printf("%s \n", s1);
strcpy(s1, "Isto um teste.\n");
printf("%s \n", s1);
return 0;
}
ATIVIDADE
LABORATRIO
As atividades do laboratrio da aula de hoje esto no Moodle.