Beruflich Dokumente
Kultur Dokumente
Sequncias de Caracteres
Mensagem de e-mail;
Texto de um programa;
Nome e endereo em cadastro de clientes, alunos;
Sequencia gentica. Um gene (ou o DNA de algum
organismo) composto de sequencias dos caracteres
A, T, G e C (nucleotdeos);
E etc...
Caracteres em C
30
sp
"
&
'
40
50
60
<
>
70
80
90
100
110
120
Caracteres em C
Imprimir
int : 97 char : a
Caracteres em C
Imprimir
int : 97 char : a
Caracteres em C
Entrada/Sada de caracteres em C:
ch = getchar();
Exemplo:
int main()
{
char ch;
ch = getchar();
putchar(ch);
return 0;
}
6
Caracteres em C - Exemplo
Caracteres em C - Exemplo
Sequncias de Caracteres
Strings
Strings
Exemplo de declarao:
char cidade[15];
9 10 11 12 13 14
\0
11
Strings
12
Strings
13
Strings: Manipulao
Exemplo:
char nome[10] = "rio";
char inicial = nome[0];
printf("Primeira letra: %c\n", inicial);
nome[0] = 'R';
printf("String alterada: %s\n", nome);
14
printf, scanf
int main()
{
char s[20];
printf("Digite uma string: ");
scanf("%s", s);
printf("String digitada: %s", s);
return 0;
}
gets, puts
int main()
{
char s[20];
printf("Digite uma string: ");
gets(s);
printf("String digitada: ");
puts(s);
return 0;
}
Strings - Exemplo 1
Strings - Exemplo 2
18
Strings - Exemplo 3
Exerccio resolvido 1
Soluo proposta:
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=
cont =
i
str
\0
23
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=?
cont = ?
i
str
\0
24
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=0
cont = 0
i
str
\0
25
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=0
cont = 0
i
str
\0
26
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=0
cont = 0
i
str
\0
27
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=0
cont = 1
i
str
\0
28
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=1
cont = 1
i
str
\0
29
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=1
cont = 1
i
str
\0
30
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=1
cont = 1
i
str
\0
31
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=2
cont = 1
i
str
\0
32
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=2
cont = 1
i
str
\0
33
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=2
cont = 1
i
str
\0
34
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=3
cont = 1
i
str
\0
35
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=3
cont = 1
i
str
\0
36
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=3
cont = 1
i
str
\0
37
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=3
cont = 2
i
str
\0
38
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=4
cont = 2
i
str
\0
39
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=4
cont = 2
i
str
\0
40
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=4
cont = 2
i
str
\0
41
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=5
cont = 2
i
str
\0
42
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=5
cont = 2
i
str
\0
43
Entrada:
str = teste
tam = 5
procurado = t
Variveis:
i
=5
cont = 2
i
str
\0
44
Exerccio resolvido 2
Exemplo:
45
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =
j =
aux =
tam1 =
tam2 =
47
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =?
j =?
aux = ?
tam1 = ?
tam2 = ?
48
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =?
j =?
aux = ?
tam1 = 15
tam2 = 2
49
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =0
j =?
aux = ?
tam1 = 15
tam2 = 2
50
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =0
j =?
aux = 0
tam1 = 15
tam2 = 2
51
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =0
j =0
aux = 0
tam1 = 15
tam2 = 2
52
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =0
j =0
aux = 0
tam1 = 15
tam2 = 2
53
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =0
j =0
aux = 0
tam1 = 15
tam2 = 2
54
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =0
j =0
aux = 0
tam1 = 15
tam2 = 2
55
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =1
j =0
aux = 0
tam1 = 15
tam2 = 2
56
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =1
j =0
aux = 1
tam1 = 15
tam2 = 2
57
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =1
j =0
aux = 1
tam1 = 15
tam2 = 2
58
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =1
j =0
aux = 1
tam1 = 15
tam2 = 2
59
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =1
j =0
aux = 1
tam1 = 15
tam2 = 2
60
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =1
j =0
aux = 1
tam1 = 15
tam2 = 2
61
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =2
j =0
aux = 2
tam1 = 15
tam2 = 2
62
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =3
j =0
aux = 3
tam1 = 15
tam2 = 2
63
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =4
j =0
aux = 4
tam1 = 15
tam2 = 2
64
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =5
j =0
aux = 5
tam1 = 15
tam2 = 2
65
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =6
j =0
aux = 6
tam1 = 15
tam2 = 2
66
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =7
j =0
aux = 7
tam1 = 15
tam2 = 2
67
Exerccio 2 Teste
de
Mesa
aux
s1
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =7
j =0
aux = 7
tam1 = 15
tam2 = 2
68
Exerccio 2 Teste
de
Mesa
aux
s1
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =7
j =0
aux = 7
tam1 = 15
tam2 = 2
69
Exerccio 2 Teste
de
Mesa
aux
s1
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =7
j =0
aux = 7
tam1 = 15
tam2 = 2
70
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =7
j =0
aux = 8
tam1 = 15
tam2 = 2
71
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =7
j =1
aux = 8
tam1 = 15
tam2 = 2
72
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =7
j =1
aux = 8
tam1 = 15
tam2 = 2
73
Exerccio 2 Teste de
Mesa
aux
s1
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =7
j =1
aux = 9
tam1 = 15
tam2 = 2
74
Exerccio 2 Teste de
Mesa
aux
s1
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =7
j =2
aux = 9
tam1 = 15
tam2 = 2
75
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =7
j =2
aux = 9
tam1 = 15
tam2 = 2
76
10
11
12
13
14
15
\0
s2
\0
Entrada:
s1 = Este um teste
s2 = um
Variveis:
i =7
j =2
aux = 9
tam1 = 15
tam2 = 2
Sada: 1
77
Exerccio 2 Completo
#include <stdio.h>
#include <string.h>
int buscaString(char s1[],
char s2[])
{
int i,j,aux, tam1, tam2;
tam1 = strlen(s1);
tam2 = strlen(s2);
for(i=0;i<tam1;i++)
{
aux=i;
for(j=0;j<tam2 && aux<tam1;j++)
{
if (s2[j] != s1[aux])
break;
aux++;
}
if (j == tam2)
return 1;
}
return 0;
}
int main()
{
char s1[100], s2[100];
gets(s1);
gets(s2);
int res = buscaString(s1, s2);
if(res)
printf("Encontrou");
else
printf("Nao encontrou");
return 0;
}
78
Exerccios
1) Fazer um programa para contar o nmero de espaos em
brancos de uma string.
2) Refaa o programa anterior criando uma funo que
receber como parmetro a string e retornar o nmero de
espaos em branco que a string contem.
3) Fazer um programa para contar o nmero de vogais numa
cadeia de caractere.
4) Refaa o programa anterior criando uma funo que
receber como parmetro a string e retornar o nmero de
vogais que a string contem.
79
Exerccios
5) Escrever um programa para ler uma string (com mais de
uma palavra) e faa com que a primeira letra de cada
palavra fique em maiscula. Para isso, basta subtrair 32 do
elemento que deseja alterar para maisculo.
chrNome[0] = chrNome[0] 32;
Exemplo:
Entrada: lab. de linguagem de programacao
Sada: Lab. De Linguagem De Programacao
6) Escreva uma funo que receba uma string, conte
quantos caracteres desta string so iguais a 'a' e substitua
os que forem iguais a 'a' por 'b'. A funo dever retornar o
nmero de caracteres modificados.
80
Exerccios
7) Crie um procedimento que receba uma frase e a exiba na
tela de forma soletrada, ou seja, cada letra deve ser
exibida na tela separada por hfen.
8) Crie um procedimento que receba uma string de no
mximo 50 caracteres e inverta a ordem da string
digitada;
Exemplo:
Entrada: Teste
Sada: etseT
9) Fazer um programa para determinar e imprimir uma string
que ser a concatenao de duas outras strings lidas.
81
Vetores de caracteres
DCC120
Strings
Strings
Leitura e impresso
Strings
#include <stdio.h>
#include <string.h>
int main()
{
char nome[] = "UFJF";
int total;
int tam;
tam = strlen(nome);
total = conta(nome,tam,'F');
return 0;
}
85
Exerccios
1) Fazer um procedimento para imprimir uma string recebida
como parmetro sem os espaos em branco.
2) Fazer um procedimento para receber uma string do
usurio (mx. 50 caracteres) e imprimir uma estatstica
dos caracteres digitados. Isto , imprimir o nmero de
vogais, consoantes e outros caracteres.
86
Exerccios
4) Faa uma funo que receba uma string do usurio (mx.
20 caracteres) e um caractere qualquer. A funo dever
remover todas as ocorrncias do caractere da string e
retornar o nmero de remoes.
87
Exerccios
6) Um dos sistemas de encriptao mais antigos atribudo
a Jlio Csar: se uma letra a ser encriptada a letra de
nmero N do alfabeto, substitua-a com a letra (N+K), onde
K um nmero inteiro constante (Csar utilizava K = 3).
88
90
91