Programação I: Strings
Rodrigo Paes
Rodrigo Paes –
r0drigopaes@yahoo.com.br
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
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
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
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
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
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
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

Aula 11 strings - Programação 1

  • 1.
    Programação I: Strings RodrigoPaes Rodrigo Paes – r0drigopaes@yahoo.com.br
  • 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