O documento discute strings em C, incluindo arrays de caracteres, inicialização e terminação de strings com \0, e funções para manipular strings como strcpy e strlen. Ele também fornece exercícios sobre strings para os alunos.
Esta mensagem e quaisquer arquivos em anexo podem conter informações confidenciais e/ou privilegiadas. Se você não for o destinatário ou a pessoa autorizada a receber esta mensagem, por favor não leia, copie, repasse, imprima, guarde, nem tome qualquer ação baseada nestas informações. Por favor notifique o remetente imediatamente por e-mail e apague a mensagem permanentemente. Este ambiente está sendo monitorado para evitar o uso indevido de nossos sistemas.
Material de apoio do curso de verão sobre Ruby on Rails.
Os slides fazem mais sentido com as explicações em sala mas, ainda assim, podem ser usados como material para consulta.
Esta mensagem e quaisquer arquivos em anexo podem conter informações confidenciais e/ou privilegiadas. Se você não for o destinatário ou a pessoa autorizada a receber esta mensagem, por favor não leia, copie, repasse, imprima, guarde, nem tome qualquer ação baseada nestas informações. Por favor notifique o remetente imediatamente por e-mail e apague a mensagem permanentemente. Este ambiente está sendo monitorado para evitar o uso indevido de nossos sistemas.
Material de apoio do curso de verão sobre Ruby on Rails.
Os slides fazem mais sentido com as explicações em sala mas, ainda assim, podem ser usados como material para consulta.
2. Instituto de Computação – UFAL
Arrays de caracteres
char c[10]
c[9] = „a‟;
Um array cujo elementos são do tipo char são
chamados de
Cadeia de Caracteres ou String
Rodrigo Paes – r0drigopaes@yahoo.com.br
A B A C A T E I R O
A B A C A T E I R a
3. Instituto de Computação – UFAL
Strings
C trata as strings de forma diferente
char palavra[11];
No scanf
scanf(“%s”, palavra );
No printf
printf(“%s”, palavra );
Na inicialização
char palavra[11] = "abacateiro";
Rodrigo Paes – r0drigopaes@yahoo.com.br
4. Instituto de Computação – UFAL
0
Mas se fizermos:
char palavra[255] = “programar é massa!”;
printf(“%sn”, palavra);
Só inicializamos 18 caracteres da string, e os outros
237 caracteres? Estão com lixo?
Mas se eles estão com lixo, porque o printf não
imprime o lixo?
Rodrigo Paes – r0drigopaes@yahoo.com.br
5. Instituto de Computação – UFAL
0
Em C, existe um caracter que delimita o final da String
„0‟
Esse caracter é automaticamente inserido ao final da
string na
Inicialização
scanf
O printf(“%s”,…) imprime todos os caracteres até
encontrar o 0
Por isso o lixo é ignorado!
Portanto, devemos sempre deixar um espaço extra para
acomodar o caracter 0
Rodrigo Paes – r0drigopaes@yahoo.com.br
6. Instituto de Computação – UFAL
Exercícios
Tamanho de uma frase
Lista de exercícios:
http://goo.gl/aRXwv
Instruções
O nome de cada arquivo deve ser o número da questão.
Exemplo: 1.c, 2.c, 3.c ...
Compacte todos os arquivos com o seu nome e envie para
monitoria-p1@googlegroups.com
Rodrigo Paes – r0drigopaes@yahoo.com.br
7. Instituto de Computação – UFAL
Funções de strings
Existem várias funções para manipular strings
string.h
Exemplos
strcpy
strcmp
strlen
strupr
strlwr
strstr
…
Muitas outras, olhem a documentação de string.h
Rodrigo Paes – r0drigopaes@yahoo.com.br
8. Instituto de Computação – UFAL
Exercícios (desafios)
Tradução
TeX
Permutação comum
Palíndromo
Buracos no texto
Rodrigo Paes – r0drigopaes@yahoo.com.br