{joseana, rangel}@dsc.ufcg.edu.br DSC/CCT/UFCG Profs.:Ulrich Schiel [email protected] Carga Horária: 60 horas {joseana, rangel}@dsc.ufcg.edu.br DSC/CCT/UFCG Caracteres e Strings Caracteres char c = ‘a’, n = ‘0’ Strings char nome[] = “Jose”; char *nome = “Jose”; char nome[] = {‘J’,’o’,’s’,’e’,’\0’}; 2 DSC/CCT/UFCG Caracteres e Strings Manipulação de caracteres Verdadeiro = número positivo Falso =0 isdigit(c) – verdadeiro se c for um dígito isalpha(c) – verdadeiro se c for uma letra {joseana, rangel}@dsc.ufcg.edu.br islower(c) - verdadeiro se c conter uma letra minúscula tolower( c) – converte letra em c para minúscula OUTRAS: isalnum, isupper, toupper, isspace, etc. 3 Caracteres e Strings DSC/CCT/UFCG Entrada e Saída de Caracteres c=getchar() gets(*s) {joseana, rangel}@dsc.ufcg.edu.br putchar(c) puts(*s) – lê um caractere da entrada e coloca em c – lê toda entrada até encontrar nova-linha ou fim de arquivo – imprime o caráter em c – imprime o string apontado por s 4 DSC/CCT/UFCG Caracteres e Strings Manipulação de Strings iatoi(s) – converte o string em s para inteiro {joseana, rangel}@dsc.ufcg.edu.br strcpy(s1,s2) – copia s2 para s1 e retorna s1 strncpy(s1,s2, n) – copia n caracteres de s2 para s1 e retorna s1 strcat(s1,s2) – concatena s2 ao final de s1 strncat(s1, s2, n) - concatena no máximo n caracteres de s2 ao final de s1 strcmp(s1, s2) – retorna 0 se forem iguais, negativo se s1<s2 e positivo se s1>s2 5 DSC/CCT/UFCG Caracteres e Strings Manipulação de Strings strchr(p, c) – localiza primeira ocorrência de c em p e retorna um ponteiro para c {joseana, rangel}@dsc.ufcg.edu.br strcspn(s1,s2) – retorna comprimento da parte de s1 que não estão em s2 strspn(s1,s2, n) – retorna o comprimento da parte inicial de s1 contendo apenas caracteres de s2 strstr(s1,s2) strtok(s1, s2) – retorna o início da primeira ocorrência de s2 em s1 ou NULL – divide s1 em pedaços(tokens) separados por símbolos de s2 6 DSC/CCT/UFCG {joseana, rangel}@dsc.ufcg.edu.br Entrada e Saída – C Exemplo main ( ) { char ch; clrscr(); printf ( “\nDigite um caractere”); ch = getchar( ); printf (“\n Todos sabem que você digitou %c”, ch); } 7 DSC/CCT/UFCG Entrada e Saída – C Exemplo {joseana, rangel}@dsc.ufcg.edu.br main ( ) { char ch; ch = getch( ); printf (“ \ nSomente agora saberemos”); printf (“que você digitou %c”, ch); } 8 DSC/CCT/UFCG {joseana, rangel}@dsc.ufcg.edu.br Entrada e Saída – C Exemplo #include <stdio.h> int main() { char buffer[10]; clrscr(); printf(”\nDigite seu nome"); gets(buffer); printf(”\nO nome é: %s\n", buffer); return 0; } 9 DSC/CCT/UFCG {joseana, rangel}@dsc.ufcg.edu.br Entrada e Saída – C Exemplo main ( ) { char nome[40]; clrscr(); printf (“\nDigite seu nome: ”); gets (&nome[0]); puts (“Bom dia ”); puts (nome); } 10