Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

23/04/2018 AVA UNINOVE
https://ava.uninove.br/seu/AVA/topico/container_impressao.php 1/9
Vetores de Strings em C
APRESENTAR O CONCEITO DE VETORES DE STRINGS E APLICAR TAL CONCEITO UTILIZANDO A
LINGUAGEM C.
AUTOR(A): PROF. DANIEL TREVISAN BRAVO
Introdução
Na linguagem C é possível criar uma lista de strings, ou seja, armazenar strings em cada posição contínua
de memória. A este tipo de representação denominamos vetor de strings, que pode ser utilizado em muitas
aplicações. Por exemplo, podemos considerar uma aplicação que armazene os nomes de todos os alunos de
uma turma em um vetor.
Para representarmos um vetor no qual cada elemento é uma string, devemos ter um conjunto bidimensional
de char.
 
Definição
Um vetor de strings é uma coleção de strings (cadeias de caracteres). Para um vetor de strings é necessário
definirmos o tamanho do vetor e a quantidade máxima de caracteres que cada string deverá ter. Na Figura
abaixo é mostrada a representação gráfica de um vetor de strings. Ainda considerando o exemplo dos
alunos de uma turma, o vetor poderá armazenar até 10 alunos, sendo cada nome composto por, no máximo,
60 caracteres.
Declaração do Vetor de Strings
Como uma variável simples, um vetor de strings deve ser declarado antes de sua utilização. A declaração de
um vetor de strings é feito indicando o tipo de dado como char, o seu nome, o tamanho do vetor e o
tamanho das strings (quantidade de caracteres).
A forma geral de declaração de um vetor de strings em linguagem C é:
01 / 08
23/04/2018 AVA UNINOVE
https://ava.uninove.br/seu/AVA/topico/container_impressao.php 2/9
char nome [tamanho do vetor] [tamanho das strings];
Onde, nome é o nome pelo qual a string será referenciada, o tamanho do vetor é a quantidade strings que o
vetor poderá ter e o tamanho das strings é a quantidade máxima de caracteres que cada string poderá ter.
Exemplo:
Declaração de um vetor de strings denominado alunos, que poderá armazenar até 10 nomes de alunos, os
quais poderão ter, no máximo, 60 caracteres.
char alunos [10] [60];
Assim como uma variável simples, um vetor de strings pode ser declarado e inicializado no início de um
programa. O trecho de código a seguir mostra a inicialização do vetor de strings.
Referenciando uma String do Vetor
Uma string que está no vetor é referenciada pelo nome do vetor seguido do índice onde ela está armazenada
entre colchetes.
O exemplo abaixo referencia a terceira string do vetor denominado alunos. A terceira string, que no
exemplo anterior, é o nome “Maria”, é referenciada pelo índice 2, já que o primeiro elemento tem índice 0.
alunos [2] = “Maria”
 
Referenciando um Caractere de uma String do Vetor
Um caractere de uma string que está armazenada no vetor é referenciado pelo nome do vetor seguido do
índice onde a string está armazenada e seguido do índice do caractere ao qual se quer ter acesso. O exemplo
abaixo referencia o segundo caractere (letra “a”) da terceira string armazenada no vetor (“Maria”).
alunos [2] [1] = ‘a’
1. char alunos [10] [60] = {"Ana", "Pedro", "Maria" , "Antonio" , "Marcos" , "João"
02 / 08
23/04/2018 AVA UNINOVE
https://ava.uninove.br/seu/AVA/topico/container_impressao.php 3/9
 
Lendo Dados para um Vetor de Strings
Imagine que temos um vetor de strings denominado alunos, que pode armazenar, no máximo, 10 nomes.
Queremos solicitar ao usuário que informe os dados para preencher esse vetor de strings. O trecho de
código a seguir lê os dados utilizando-se a função gets.
O laço for é usado para o processo de solicitar um nome ao usuário e armazená-lo no vetor de strings. No
exemplo acima, esse processo é repetido 10 vezes. A leitura do nome informado pelo usuário é feita por
meio da função gets, da biblioteca “string.h”, e será armazenado na posição de índice do valor atual da
variável i.
 
Acessando Dados de um Vetor de Strings
Uma vez preenchido o vetor queremos manipular os seus elementos (strings) ou apresentá-los na tela.
Utilizando o vetor de alunos preenchido na seção anterior, vamos exibi-los utilizando a função puts, da
biblioteca “string.h”. Analise o seguinte trecho de código.
1. int i;
2. for (i = 0; i < 10; i++) {
3. printf ("Digite o nome do aluno %d: ", i);
4. gets (alunos [i]);
5. }
1. int i;
2. for (i = 0; i < 10; i++) {
3. printf ("Nome do aluno %d: ", i);
4. puts (alunos [i]);
5. }
03 / 08
23/04/2018 AVA UNINOVE
https://ava.uninove.br/seu/AVA/topico/container_impressao.php 4/9
Exemplo 1
A seguir, apresentamos um exemplo de um programa em linguagem C que trabalha com vetor de strings. O
programa solicita que o usuário digite os nomes de 10 alunos e os armazena em um vetor. Em seguida, os
nomes presentes no vetor são exibidos na tela.
Exemplo 2
Vamos estudar outro exemplo de utilização de vetor de strings. O programa solicita a usuário os nomes de
20 candidatos que irão prestar um concurso e os armazena em um vetor de strings. Na sequência,
necessário exibir todos os candidatos cujos nomes iniciam-se com a letra “A”.
1. #include <stdio.h>
2. #include <stdlib.h>
3. #include <string.h>
4. main () {
5. char alunos [10][60];
6. int i;
7. for (i = 0; i < 10; i++) {
8. printf ("\n\nDigite um nome de aluno: ");
9. gets (alunos [i]);
10. }
11. printf ("\n\n Alunos da turma:\n\n");
12. for (i = 0; i < 10; i++) {
13. puts (alunos [i]);
14. }
15. system ("pause"); 
16. } 
04 / 08
23/04/2018 AVA UNINOVE
https://ava.uninove.br/seu/AVA/topico/container_impressao.php 5/9
Exemplo 3
Neste exemplo é utilizado um vetor de strings de tamanho 30 para armazenar os alunos de uma
determinada turma. Suponha que o usuário deseja fazer uma busca por um nome neste vetor. No fim do
programa, uma mensagem é exibida caso o nome seja encontrado no vetor.
1. #include <stdio.h>
2. #include <stdlib.h>
3. #include <string.h>
4. main () {
5. char candidatos [20][60];
6. int i;
7. for (i = 0; i < 20; i++) {
8. printf ("\n\nDigite um nome do candidato: ");
9. gets (candidatos [i]);
10. }
11. printf ("\n\n Candidatos cujo nome começa com a letra A:\n\n");
12. for (i = 0; i < 20; i++) {
13. if ( candidatos [i] [0] ='A' ) {
14. puts (alunos [i]);
15. }
16. }
17. system ("pause");
18. } 
05 / 08
23/04/2018 AVA UNINOVE
https://ava.uninove.br/seu/AVA/topico/container_impressao.php 6/9
Exemplo 4
Neste exemplo, é feita a simulação de um dicionário de inglês para português, que armazena 50 palavras.
Nesse caso, são utilizados 2 dois vetores de strings, sendo o primeiro para armazenar as palavras em inglês
e, o segundo, para armazenar a tradução das respectivas palavras para o português. Em seguida, o usuário
faz uma consulta por uma palavra em inglês que esteja armazenada no vetor e o programa exibe a tradução
para o português.
1. #include <stdio.h>
2. #include <stdlib.h>
3. #include <string.h>
4. main () {
5. char alunos [30][60], nome [60];
6. int i;
7. for (i = 0; i < 30; i++) {
8. printf ("\n\nDigite um nome de aluno: ");
9. gets (alunos [i]);
10. }
11. printf ("\n\n Digite o nome do aluno a ser procurado:\n\n");
12. gets (nome);
13. for (i = 0; i < 30; i++) {
14. if ( strcmp(alunos [i], nome) == 0 ) {
15. printf ("\n\nO nome foi encontrado!!");
16. }
17. }
18. system ("pause"); 
19. }
06 / 08
23/04/2018 AVA UNINOVE
https://ava.uninove.br/seu/AVA/topico/container_impressao.php 7/9
Agora que você já estudou essa aula acesse a plataforma AVA, resolva os exercícios e verifique o seu
conhecimento.Caso fique alguma dúvida, leve a questão ao Fórum e divida com seus colegas e professor.
ATIVIDADE FINAL
Considerando o seguinte trecho de código, indique a opção que diz qual
é o caractere exibido na tela pela função printf:
char alunos [10] [60] = {"Ana", "Pedro", "Maria" , "Antonio" , "Marcos" ,
"João", "Andre" , "Diego" , "Liliane", "Denise"};
printf ("%c", alunos[4] [3]);
1. #include <stdio.h>
2. #include <stdlib.h>
3. #include <string.h>
4. main () {
5. char ingles [50][30], portugues [50][30], palavra [30];
6. int i;
7. for (i = 0; i < 50; i++) {
8. printf ("\n\nDigite palavra em ingles: ");
9. gets (ingles [i]);
10. printf ("\n\nDigite a tradução para o portugues: ");
11. gets (portugues [i]);
12. }
13. printf ("\n\n Digite uma palavra em inglês para saber a tradução para o po
14. gets (palavra);
15. for (i = 0; i < 50; i++) {
16. if ( strcmp(ingles [i], palavra) == 0 ){
17. printf ("\n\nPalavra em portugues =");
18. puts (portugues [i]);
19. }
20. }
21. system ("pause"); 
22. }
07 / 08
23/04/2018 AVA UNINOVE
https://ava.uninove.br/seu/AVA/topico/container_impressao.php 8/9
A. Caractere "o".
B. Caractere "r". 
C. Caractere "c". 
D. Caractere "s". 
REFERÊNCIA
MIZRAHI, V. V. Treinamento em linguagem C, São Paulo: Pearson, 2008.
SCHILDT, H. C — Completo e Total. São Paulo: Pearson, 2006.
08 / 08
23/04/2018 AVA UNINOVE
https://ava.uninove.br/seu/AVA/topico/container_impressao.php 9/9

Mais conteúdos dessa disciplina