Introdução
Neste laboratório, você aprenderá como criar e iterar sobre um array de strings em programação C. Você declarará um array de strings, iterará sobre ele usando um loop while, lidará com strings terminadas em nulo e imprimirá cada string no array. Essas habilidades são essenciais para trabalhar com dados de texto e construir aplicações C mais complexas.
O laboratório cobre as seguintes etapas: declarar um array de strings, iterar sobre o array com um loop while, lidar com strings terminadas em nulo, imprimir cada string no array e compilar e executar o programa C. Ao completar este laboratório, você obterá uma sólida compreensão de como trabalhar com arrays de strings em C, que é um conceito fundamental na programação C.
Declarar um Array de Strings
Nesta etapa, você aprenderá como declarar um array de strings em programação C. Arrays de strings são estruturas de dados poderosas que permitem armazenar múltiplas strings em uma única variável.
- Abra o WebIDE e crie um novo arquivo chamado
string-array.cno diretório~/project:
cd ~/project
touch string-array.c
- Abra o arquivo no WebIDE e adicione o seguinte código:
#include <stdio.h>
void main() {
const char* fruits[] = {
"Apple",
"Banana",
"Cherry",
"Date",
NULL
};
}
Este código demonstra como declarar um array de strings em C. Vamos detalhar os componentes-chave:
const char*indica um array de ponteiros de strings constantesfruits[]é o nome do array- O array contém quatro nomes de frutas como strings
NULLé usado para marcar o fim do array, o que será útil em iterações futuras
Observe que este array é terminado em nulo (null-terminated), o que significa que o último elemento é NULL. Esta é uma prática comum em C para arrays de strings, pois ajuda a determinar o fim do array durante a iteração.
Iterar Através do Array com um Loop While
Nesta etapa, você aprenderá como iterar através de um array de strings usando um loop while em programação C. Baseando-se na etapa anterior, modificaremos o arquivo string-array.c para imprimir o conteúdo do array fruits.
- Abra o arquivo
string-array.cno WebIDE: - Atualize o código para incluir um loop
whilepara iterar através do array:
#include <stdio.h>
void main() {
const char* fruits[] = {
"Apple",
"Banana",
"Cherry",
"Date",
NULL
};
int i = 0;
while (fruits[i]) {
printf("Fruit: %s\n", fruits[i]);
++i;
}
}
Vamos detalhar a lógica da iteração:
int i = 0inicializa um contador de índicewhile (fruits[i])continua o loop até atingir o terminador NULLprintf("Fruit: %s\n", fruits[i])imprime cada nome de fruta++iincrementa o índice para mover para o próximo elemento
- Compile o programa:
gcc string-array.c -o string-array
- Execute o programa compilado:
./string-array
Exemplo de saída:
Fruit: Apple
Fruit: Banana
Fruit: Cherry
Fruit: Date
O loop while permite que você itere através do array verificando o terminador NULL, que sinaliza o fim do array. Este método é uma maneira comum e eficiente de percorrer arrays de strings em C.
Manipular Strings Terminadas em Null
Nesta etapa, você aprenderá sobre strings terminadas em nulo e como elas são usadas para marcar o fim de arrays de strings em programação C. Entender a terminação nula é crucial para trabalhar com arrays de strings.
- Abra o arquivo
string-array.cno WebIDE: - Modifique o código para demonstrar a terminação nula e o comprimento da string:
#include <stdio.h>
#include <string.h>
void main() {
const char* fruits[] = {
"Apple",
"Banana",
"Cherry",
"Date",
NULL
};
int i = 0;
while (fruits[i]) {
printf("Fruit: %s\n", fruits[i]);
printf("Length of %s: %lu\n", fruits[i], strlen(fruits[i]));
++i;
}
printf("Total number of fruits: %d\n", i);
}
Modificações chave:
- Adicionado
#include <string.h>para usar a funçãostrlen() - Usado
strlen()para demonstrar o comprimento da string - Adicionado uma contagem do total de frutas usando o índice do loop
- Compile o programa:
gcc string-array.c -o string-array
- Execute o programa compilado:
./string-array
Exemplo de saída:
Fruit: Apple
Length of Apple: 5
Fruit: Banana
Length of Banana: 6
Fruit: Cherry
Length of Cherry: 6
Fruit: Date
Length of Date: 4
Total number of fruits: 4
Entendendo a terminação nula:
- O
NULLno final do array atua como um valor sentinela - Ajuda a determinar o fim do array durante a iteração
strlen()funciona contando caracteres até atingir o terminador nulo (\0)- O loop para quando encontra o ponteiro
NULL
Imprimir Cada String no Array
Nesta etapa, você explorará diferentes maneiras de imprimir strings de um array, incluindo opções de formatação e técnicas avançadas de impressão.
- Abra o arquivo
string-array.cno WebIDE: - Atualize o código para demonstrar múltiplas técnicas de impressão:
#include <stdio.h>
#include <string.h>
void main() {
const char* fruits[] = {
"Apple",
"Banana",
"Cherry",
"Date",
NULL
};
// Method 1: Basic printing with index
printf("Method 1: Basic Printing\n");
int i = 0;
while (fruits[i]) {
printf("%d: %s\n", i + 1, fruits[i]);
++i;
}
// Method 2: Formatted printing with alignment
printf("\nMethod 2: Formatted Printing\n");
i = 0;
while (fruits[i]) {
printf("| %-10s | Length: %2lu |\n", fruits[i], strlen(fruits[i]));
++i;
}
// Method 3: Printing with additional formatting
printf("\nMethod 3: Advanced Printing\n");
i = 0;
while (fruits[i]) {
printf("Fruit #%d: [%s] has %lu characters\n",
i + 1, fruits[i], strlen(fruits[i]));
++i;
}
}
- Compile o programa:
gcc string-array.c -o string-array
- Execute o programa compilado:
./string-array
Exemplo de saída:
Method 1: Basic Printing
1: Apple
2: Banana
3: Cherry
4: Date
Method 2: Formatted Printing
| Apple | Length: 5 |
| Banana | Length: 6 |
| Cherry | Length: 6 |
| Date | Length: 4 |
Method 3: Advanced Printing
Fruit #1: [Apple] has 5 characters
Fruit #2: [Banana] has 6 characters
Fruit #3: [Cherry] has 6 characters
Fruit #4: [Date] has 4 characters
Técnicas de impressão demonstradas:
- Indexação básica com
printf() - Impressão formatada com largura e alinhamento
- Formatação avançada com informações adicionais
- Usando
strlen()para obter o comprimento da string
Resumo
Neste laboratório, você aprendeu como declarar um array de strings em programação C, o que permite armazenar múltiplas strings em uma única variável. Você também aprendeu como iterar através do array usando um loop while, lidando com strings terminadas em nulo e imprimindo cada string no array. Essas técnicas são fundamentais para trabalhar com estruturas de dados de strings em C e fornecem uma base sólida para tarefas de manipulação de strings mais avançadas.



