Aula 11 strings - Programação 1
-
Upload
isaac-barros -
Category
Documents
-
view
72 -
download
2
description
Transcript of Aula 11 strings - Programação 1
![Page 2: Aula 11 strings - Programação 1](https://reader036.fdocument.pub/reader036/viewer/2022081804/559ebd0a1a28ab892a8b474e/html5/thumbnails/2.jpg)
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 – [email protected]
A B A C A T E I R O
A B A C A T E I R a
![Page 3: Aula 11 strings - Programação 1](https://reader036.fdocument.pub/reader036/viewer/2022081804/559ebd0a1a28ab892a8b474e/html5/thumbnails/3.jpg)
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 – [email protected]
![Page 4: Aula 11 strings - Programação 1](https://reader036.fdocument.pub/reader036/viewer/2022081804/559ebd0a1a28ab892a8b474e/html5/thumbnails/4.jpg)
Instituto de Computação – UFAL
\0
Mas se fizermos:
char palavra[255] = “programar é massa!”;
printf(“%s\n”, 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 – [email protected]
![Page 5: Aula 11 strings - Programação 1](https://reader036.fdocument.pub/reader036/viewer/2022081804/559ebd0a1a28ab892a8b474e/html5/thumbnails/5.jpg)
Instituto de Computação – UFAL
\0
Em C, existe um caracter que delimita o final da String „\0‟
Esse caracter é automaticamente inserido ao final dastring 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 paraacomodar o caracter \0
Rodrigo Paes – [email protected]
![Page 6: Aula 11 strings - Programação 1](https://reader036.fdocument.pub/reader036/viewer/2022081804/559ebd0a1a28ab892a8b474e/html5/thumbnails/6.jpg)
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
Rodrigo Paes – [email protected]
![Page 7: Aula 11 strings - Programação 1](https://reader036.fdocument.pub/reader036/viewer/2022081804/559ebd0a1a28ab892a8b474e/html5/thumbnails/7.jpg)
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 – [email protected]
![Page 8: Aula 11 strings - Programação 1](https://reader036.fdocument.pub/reader036/viewer/2022081804/559ebd0a1a28ab892a8b474e/html5/thumbnails/8.jpg)
Instituto de Computação – UFAL
Exercícios (desafios)
Tradução
TeX
Permutação comum
Palíndromo
Buracos no texto
Rodrigo Paes – [email protected]