A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aula prática 7 Strings Monitoria de Introdução à Programação.

Apresentações semelhantes


Apresentação em tema: "Aula prática 7 Strings Monitoria de Introdução à Programação."— Transcrição da apresentação:

1 Aula prática 7 Strings Monitoria de Introdução à Programação

2 Roteiro String String –Definição –Declaração –Caracteres especiais –Captura e Impressão Funções da string.h Funções da string.h Outras Funções Outras Funções Duvidas Duvidas Exercícios Exercícios

3 String - Definição Uma String, para programação, é um tipo de dado representando uma palavra, uma frase ou um texto, normalmente composto de caracteres. Uma String, para programação, é um tipo de dado representando uma palavra, uma frase ou um texto, normalmente composto de caracteres. Em C, não há um tipo de dado específico para strings(ao contrário de Java e C++, por exemplo), mas há suporte para seu uso. Em C, não há um tipo de dado específico para strings(ao contrário de Java e C++, por exemplo), mas há suporte para seu uso. A definição de String, para a linguagem C, é: A definição de String, para a linguagem C, é: Um vetor de caracteres terminado pelo caractere \0, o caractere nulo, de valor inteiro 0. Há suporte para várias operações com strings na linguagem C, através de funções da biblioteca string.h. Há suporte para várias operações com strings na linguagem C, através de funções da biblioteca string.h.

4 String - Declaração Podemos declarar uma string de duas formas: Podemos declarar uma string de duas formas: –Da mesma forma que declaramos um vetor de caracteres, terminando com o caractere \0: –Usando strings constantes*: *: Também chamadas de String literals em inglês.

5 String – Caracteres especiais Existem caracteres especiais, usados nas strings: Existem caracteres especiais, usados nas strings: CaractereUso \\Barra \"Aspas duplas. \'Aspas simples. \nNova linha, com cursor no início. \rRetorno ao começo da linha. \bBackspace. \tTabulação horizontal (TAB). \fNova linha, com cursor abaixo de onde estava. \aAlerta (bipe). \vTabulação vertical. \nnn ou \xnnCaractere de valor nnn (octal) ou nn (hexadecimal)

6 String – Captura e Impressão Para capturar uma string do usuário usamos a função scanf(), com %s : Para capturar uma string do usuário usamos a função scanf(), com %s : Para imprimir uma string, usamos a printf(), com %s : Para imprimir uma string, usamos a printf(), com %s : Observação: O scanf com formato %s só captura uma palavra por vez. Para capturar uma linha inteira, se usa a formatação %[^\n], ou use a função gets(char* string). Observação: O scanf com formato %s só captura uma palavra por vez. Para capturar uma linha inteira, se usa a formatação %[^\n], ou use a função gets(char* string).

7 Funções da string.h Pelo fato que strings são vetores, sua manipulação é complicada, é feita acessando cada posição. Pelo fato que strings são vetores, sua manipulação é complicada, é feita acessando cada posição. Como operações com strings são bastante comuns, e manipular vetores é uma tarefa cansativa, há a biblioteca string.h com funções para facilitar essa manipulação. Como operações com strings são bastante comuns, e manipular vetores é uma tarefa cansativa, há a biblioteca string.h com funções para facilitar essa manipulação.

8 Funções da string.h Usada para copiar a string fonte para o vetor destino. Usada para copiar a string fonte para o vetor destino. É uma alternativa ao operador =, que não pode ser usado com vetores e, portanto, strings. É uma alternativa ao operador =, que não pode ser usado com vetores e, portanto, strings. É tarefa do programador garantir que o vetor destino seja grande o suficiente para armazenar a string em fonte. É tarefa do programador garantir que o vetor destino seja grande o suficiente para armazenar a string em fonte. Retorna o endereço da string destino. Retorna o endereço da string destino.

9 Funções da string.h Usada para concatenar a string fonte com a string destino. Usada para concatenar a string fonte com a string destino. A string fonte será copiada para o final da string destino. A string fonte será copiada para o final da string destino. É tarefa do programador garantir que o vetor destino seja grande o suficiente para armazenar as duas strings. É tarefa do programador garantir que o vetor destino seja grande o suficiente para armazenar as duas strings. Retorna o endereço da string destino. Retorna o endereço da string destino.

10 Funções da string.h Usada para comparar as duas strings. Usada para comparar as duas strings. Se string1 for lexicamente anterior à string2, strcmp() retorna um inteiro negativo. Se string1 for lexicamente anterior à string2, strcmp() retorna um inteiro negativo. Se string1 for lexicamente posterior à string2, strcmp() retorna um inteiro positivo. Se string1 for lexicamente posterior à string2, strcmp() retorna um inteiro positivo. Se as duas strings forem iguais, strcmp() retorna 0. Se as duas strings forem iguais, strcmp() retorna 0.

11 Funções da string.h Retorna o tamanho da string string. Retorna o tamanho da string string. O tamanho não inclui o \0 do fim da string. O tamanho não inclui o \0 do fim da string.

12 Funções da string.h Procura a string agulha dentro da string Palheiro. Procura a string agulha dentro da string Palheiro. Se achar, retorna o endereço da primeira ocorrência de agulha na string palheiro. Se achar, retorna o endereço da primeira ocorrência de agulha na string palheiro. Se não achar, retorna NULL. Se não achar, retorna NULL.

13 Funções da string.h Temos várias outras funções na string.h, que podem ser vistas em: Temos várias outras funções na string.h, que podem ser vistas em:

14 Outras Funções Temos, na stdio.h, duas funções interessantes para strings: Temos, na stdio.h, duas funções interessantes para strings: sprintf() é usada como a printf(), mas imprime na string, e não na saída padrão. sprintf() é usada como a printf(), mas imprime na string, e não na saída padrão. sscanf() é usada como a scanf(), mas captura dados da string, e não da entrada padrão. sscanf() é usada como a scanf(), mas captura dados da string, e não da entrada padrão.

15 Dúvidas?

16 Exercício 1 Faça um programa que peça ao usuário: Faça um programa que peça ao usuário: –(i) Uma string s, –(ii) Um caractere ch1, –(iii) Um caractere ch2. E troque todos os caracteres, iguais a ch1, da string s pelo caractere ch2. E troque todos os caracteres, iguais a ch1, da string s pelo caractere ch2.

17 Exercício 2 Escreva um programa que receba uma sequência de strings (um nome e 4 sobrenomes) numa combinação de letras maiúsculas e minúsculas. A saída deve ser uma string com o nome completo com as primeiras letras de cada palavra maiúsculas. Escreva um programa que receba uma sequência de strings (um nome e 4 sobrenomes) numa combinação de letras maiúsculas e minúsculas. A saída deve ser uma string com o nome completo com as primeiras letras de cada palavra maiúsculas. –Entrada: JOAO cArLOS DA silVA Junior JOAO cArLOS DA silVA Junior –Saída : Joao Carlos Da Silva Junior Joao Carlos Da Silva Junior

18 Exercício 3 Elabore um programa que receba uma linha de texto e conte as vogais apresentando o respectivo histograma na seguinte forma: – –Exemplo: Entrada: Na próxima quarta-feira é feriado. Saída: – –a: ****** (6) – –e : *** (3) – –i : *** (3) – –o : ** (2) – –u : * (1)

19 Opcional Dada uma string, inverter a ordem das palavras. – –Exemplo: Entrada: "uma frase qualquer" Saída: "qualquer frase uma"


Carregar ppt "Aula prática 7 Strings Monitoria de Introdução à Programação."

Apresentações semelhantes


Anúncios Google