·

Ciência da Computação ·

Introdução à Lógica e Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

LINGUAGEM C VETOR DE CARACTERES STRINGS Introdução à Programação Profa Giorgia Mattos giorgiamattosgmailcom Cadeiasconjuntos de caracteres Uma cadeia de caracteres mais conhecida como string é uma sequência de símboloscaracteres Letras A a B g Números 0 4 139 Caracteres espaços em branco A linguagem C não possui um tipo da dado string para isso utiliza vetores do tipo char onde cada posição do vetor armazena um caracter O fim de uma cadeia de caracteres é representada pelo caracter nulo 0 Linguagem C Strings Linguagem C Strings Exemplos Linguagem C Aula de programação Cidade Universitária João Pessoa PB Brasil CEP 58051900 Fone 55 83 32167200 Representação da string Linguagem C 0 1 2 3 4 5 6 7 8 9 10 11 L i n g u a g e m C 0 Linguagem C Strings Declarando uma cadeia de caracteres char nomestring TAMANHO 1 Devemos utilizar uma posição além do tamanho desejado para que possa ser armazenado o caracter 0 final da string Exemplos char nome21 a variável nome pode armazenar até 20 caracteres char data9 a variável data pode armazenar até 8 caracteres char ch a variável ch armazena apenas um caracter Linguagem C Strings Os caracteres armazenados em uma string devem estar entre aspas e quando os apóstrofos as aspas ou as barras invertidas fizerem parte da string deverão ter uma barra invertida antecedendoos Maneiras de inicializar a string str char str t e x t o0 char str t e x t o char str 6 texto char str curso dágua o caracter faz parte da string usar a Linguagem C Strings Lendo uma string do teclado Podemos ler uma string caracter a caracter como faríamos com qualquer outro vetor mas é mais simples ler a string inteira utilizando o comando scanf s str A leitura a partir do teclado utilizando o comando scanf lê somente até o primeiro espaço ou seja armazena somente uma palavra Para ler uma cadeia de caracteres até encontrar um enter fim da string use scanf str Linguagem C Strings Lendo uma string do teclado Para contornar as deficiências do scanf para armazenar strings podemos utilizar a função gets que faz a leitura e o armazenamento de caracteres até encontrar o caracter de fim de linha enter ou 0 gets str Linguagem C Strings Lendo uma string do teclado Problema tanto o comando scanf quanto o gets podem ler e tentar armazenar mais caracteres do que aqueles que foram definidos no momento da declaração da string provocando erros fgets str tamanho1 stdin A função scanf permite limitar a quantidade de caracteres que podem ser armazenados na string 50 caracteres no exemplo abaixo ao mesmo tempo que permite o armazenamento de mais de uma palavra scanf 50 str Linguagem C CHAR Lendo apenas um caracter É possível ler através do teclado apenas um caracter com as funções getch e getchar getchar lê um caracter do teclado apresentao na tela e aguarda que a tecla enter seja pressionada char a a getchar getch lê um caracter do teclado sem mostrálo na tela e sem aguardar o enter char a a getch Linguagem C Strings Escrevendo uma string na tela Podemos escrever uma string na tela caracter a caracter mas é mais simples escrever utilizando o comando printf com o mesmo controle usado na leitura s printf s str De forma análoga ao gets temos o puts que escreve a string na tela e o putchar que escreve apenas 1 caracter puts str putchar a Linguagem C Strings Exemplo 1 Contar quantos caracteres tem uma string Qual o tamanho da string int main char str aula de programacao int i for i0 stri0 i printfA string s possui d caracteres str i Linguagem C Strings Exemplo 2 Comparar duas strings e responder se elas são iguais ou não Errado Correto int main char str1 ola str2 ola if str1 str2 printfSão iguais else printfSão diferentes return 0 int main char str1 ola str2 ola int i igual0 for i0 str1i str2i i if str1i 0 igual 1 if igual 1 printf São iguais else printf São diferentes return 0 Linguagem C Strings Exemplo 3 Copiar uma string para outra string fazer uma atribuição Errado Certo int main char str1 palavra char str210 str2 str1 printf String 1 s str1 printf String 2 s str2 return 0 int main char str110 palavra str210 int i fori 0 str1i 0 i str2i str1i str2i 0 printfString 2 s str2 return 0 Linguagem C Strings Manipulando cadeias de caracteres As cadeias de caracteres são tão importantes que existe uma biblioteca de funções implementadas só para manipular strings a biblioteca stringh Entre as diversas funcionalidades oferecidas por esta biblioteca podemos destacar strlen str Retorna o tamanho da string str em número de caracteres int x x strlen str Linguagem C Strings Manipulando cadeias de caracteres strcpy destino fonte Copia a string fonte para a string destino strcpy strd strf strcat destino fonte Concatenajunta a string fonte no fim da string destino strcat strd strf Linguagem C Strings Manipulando cadeias de caracteres strcmp str1 str2 Compara duas cadeias de caracteres e retorna um valor 0 se str1 e str2 forem iguais 1 se str1 ocorre primeiro que str2 1 se str1 ocorre depois que str2 x strcmp str1 str2 if strcmpstr1str2 0 printf As strings são iguais Linguagem C Strings Exercícios 1 Fazer um programa para ler uma string e um caracter qualquer Calcular o número de ocorrências desse caracter na string Exemplo Seja a string maracatu e o caracter a então o número de ocorrências de a é 3 2 Faça um programa que calcule e mostre o número de vogais de uma string Feito isso o programa deve criptografar uma frase dada pelo usuário a criptografia troca as vogais da frase por Frase eu estou na escola Saída st n scl 3 Ler uma frase e contar o número de palavras dessa frase Considere que as palavras estão separadas por espaços Linguagem C Strings Exercícios 4 Fazer um programa para ler uma string e um caracter qualquer Construir um vetor OC contendo as posições índices de onde ocorre o caracter na string Exemplo Seja a string abracadabra e o caracter a então o vetor de índices OC deverá conter os seguintes valores 0 3 5 7 10 1 O valor 1 indica final de vetor ou seja que não existem mais ocorrências Caso não exista nenhuma ocorrência deve ser armazenado o valor 1 no vetor 5 Faça um programa que dado uma string palavra determine se ela é palíndromo Um palíndromo é uma palavra que tenha a propriedade de poder ser lida tanto da direita para a esquerda como da esquerda para a direita Ex arara ovo anilina salas Linguagem C Strings Exercícios 6 Crie um programa que receba uma string e um caractere e apague todas as ocorrências desses caractere na string 7 Escreva um programa que recebe uma string e transforma alguns dos caracteres em maiúsculos e outros em minúsculos Faça sorteios com a função rand para gerar números aleatórios em C que serão usados para escolher os índices dos caracteres que serão alterados Use a função toupper para converter o caracter para maiúsculo