Você está na página 1de 24

2º Semestre 2022/23

Sumário 1

➢Cadeia de caracteres (String)

➢Impressão de Strings

➢Leitura de Strings

➢Funções de Strings
Sumário 2

➢Cadeia de caracteres (String)

➢Impressão de Strings

➢Leitura de Strings

➢Funções de Strings
Strings - Definições 3

➢ String
▪ Variável que permite guardar texto
▪ Usa um vector de caracteres como suporte terminados com
carácter nulo - '\0'.

➢ As strings são representadas utilizando aspas enquanto que os


caracteres são representados utilizando plicas.

➢ Exemplos de strings ➢ Exemplos de caracteres


▪ 'A'
▪ "Bom dia" ▪ '>'
▪ "Sou aluno do ISPTEC" ▪ 'Z'
▪ "Cadeira de Programação"
Strings - Declaração 4

➢ A declaração de uma string é igual a declaração de um vector de


caracteres.

➢ Exemplo: char palavra[12];

➢ Define uma string de nome “palavra” e reserva um espaço de


12 (11 + ‘\0’ ).

0 1 2 3 4 5 6 7 8 9 10 11
palavra \0

➢ Na primeira posição encontra-se o caracter ‘\0’ porque ainda


não foi atribuído nenhum caracter ao vector
Strings – Declaração e Inicialização 5

➢ char palavra[12] = "Programacao";

➢ Define uma string de nome “palavra” e reserva para ela um espaço


de 12 (11 + ‘\0’ ) e inicializa com o texto indicado

0 1 2 3 4 5 6 7 8 9 10 11

palavra P r o g r a m a c a o \0

➢ char palavra[12] = {'P', 'r', 'o', 'g', 'r', 'a', 'm', 'a', 'c', 'a', 'o', '\0'};

➢ Aceder aos elementos do vector


❑ char var1 = palavra[4];
❑ char var2 = palavra[10];
Sumário 6

➢Definição de String

➢Impressão de Strings

➢Leitura de Strings

➢Funções de Strings
Strings - Impressão 7

➢ Podemos utilizar a função printf com o %c para imprimir cada caracter da string
Strings - Impressão 8

➢ Podemos utilizar a função printf com o %s para imprimir a string

➢ O %s permite imprimir strings


Strings - Impressão 9

➢ Para imprimir strings podemos ainda utilizar a função puts()


Sumário 10

➢Definição de String

➢Impressão de Strings

➢Leitura de Strings

➢Funções de Strings
Strings - Leitura 11

➢ Para ler strings do teclado podemos utilizar duas funções:

➢ scanf com o %s
➢ ao ler strings não necessitamos do &
➢ ao ler uma string com o scanf ao digitarmos a palavra se
for lido um espaço, tab ou enter a leitura é interrompida.

➢ gets() que não necessita do %s


➢ ao ler uma string com o gets() , ao digitarmos a palavra a
leitura apenas é interrompida quando for lido o enter.

➢ getchar()
➢ Lê uma letra
Strings - Leitura 12

➢ Leitura com o scanf()

➢ Introduzir a frase: “Ola Mundo”


➢ Introduzir a frase: “O ISPTEC é nice”
➢ Introduzir a frase: “OlaMundo”
Strings - Leitura 12

➢ Leitura com o gets()

➢ Introduzir a frase: “Ola Mundo”


➢ Introduzir a frase: “O ISPTEC é espectacular”
➢ Introduzir a frase: “OlaMundo”
Strings – funções utilitárias 13
Biblioteca stdio.h

➢ Inclui várias funções de manipulação de entradas e saídas incluindo


➢ os já dados scanf e printf
➢ algumas funções para strings e caracteres
• void puts(char str[])
• Escreve uma string no standard output

• void gets(char str[])


• lê uma string do standard input até encontrar um \n

• int getchar(void)
• lê um caracter do standard input
• int putchar(char c)
• retorna um caracter introduzido no teclado
• void fflush(stdin)
• esvazia o buffer do teclado. Utilizar sempre com gets e getchar!
Strings – funções utilitárias 14
Biblioteca string.h

➢ Inclui funções de manipulação de strings

• void strcpy(char dest[], char orig[])


• copia o texto da string orig para string dest

• int strlen(char str[])


• devolve o número de caracteres da string

• int strcmp(char str1[], char str2[])


• compara duas strings

• void strcat(char dest[], char orig[])


• concatena duas strings, acrescenta uma string no fim de outra
Strings – funções utilitárias 15
Biblioteca ctype.h

➢ Inclui funções de manipulação de caracteres


➢ Essencialmente testes ao tipo de caracteres e conversão maiúscula/minúscula

➢ Exemplos

• int islower(int c)
• retorna 1 se é minúscula
• int isdigit(int c)
• retorna 1 se é digito
• int isspace(int c);
• retorna 1 se é separador
• int tolower(int c);
• converte para minúscula

• int toupper(int c);


• converte para maiúscula
Strings – funções utilitárias 16

➢ Qual o resultado do programa abaixo?

❑O seu Hamlet foi engracado sem ser vulgar


❑tem 41 caracteres
Strings – funções utilitárias 17

➢ Qual o resultado do programa abaixo?

❑O Jutsu fuutton rasenshuriken pertence ao naruto.


Strings – funções utilitárias 18

➢ Qual o resultado do programa abaixo?


Strings – funções utilitárias 19

➢ Qual o resultado do programa abaixo?


Exercícios 20

1. Implemente um programa que recebe uma string do utilizador e indique o


tamanho do string ou seja o número de caracteres que ela possui sem contar com o
caracter que sinaliza o final da string, ‘\0’

2. Implemente um programa que receba um texto do utilizador e de seguida


informe quantas vezes um determinado caracter esta nesse texto.
Exercício 2 21
Dúvidas 22

Você também pode gostar