Loops em C: instruções de loop For, While, Do While [Exemplos]

O que é Loop em C?

Instruções de loop em C execute a sequência de instruções muitas vezes até que a condição declarada se torne falsa. Um loop em C consiste em duas partes, um corpo de loop e uma instrução de controle. A instrução de controle é uma combinação de algumas condições que direcionam o corpo do loop para execução até que a condição especificada se torne falsa. O objetivo do loop C é repetir o mesmo código várias vezes.

Tipos de loops em C

Dependendo da posição de uma instrução de controle em um programa, a instrução de loop em C é classificada em dois tipos:

1. Loop controlado de entrada

2. Sair do loop controlado

Em um malha de controle de entrada em C, uma condição é verificada antes de executar o corpo de um loop. Também é chamado de loop de pré-verificação.

Em um saída do circuito controlado, uma condição é verificada após a execução do corpo de um loop. Também é chamado de loop de pós-verificação.

Tipos de loops em C
Loop de amostra

As condições de controle devem ser bem definidas e especificadas, caso contrário o loop será executado um número infinito de vezes. O loop que não para de executar e processa as instruções várias vezes é chamado como um Loop infinito. Um loop infinito também é chamado de “Loop sem fim.” A seguir estão algumas características de um loop infinito:

1. Nenhuma condição de rescisão é especificada.

2. As condições especificadas nunca são atendidas.

A condição especificada determina se o corpo do loop deve ser executado ou não.

A linguagem de programação 'C' nos fornece três tipos de construções de loop:

1. O loop while

2. O loop do-while

3. O loop for

Sr. Não. Tipo de loop Descrição
1. Enquanto Loop No loop while, uma condição é avaliada antes de processar o corpo do loop. Se uma condição for verdadeira, então, e somente então, o corpo de um loop será executado.
2. Loop Do-While Em um loop do…while, a condição é sempre executada após o corpo de um loop. Também é chamado de loop controlado por saída.
3. Para Loop Em um loop for, o valor inicial é executado apenas uma vez, então a condição testa e compara o contador com um valor fixo após cada iteração, interrompendo o loop for quando false é retornado.

Enquanto Loop em C

Um loop while é a estrutura de loop mais direta. A sintaxe do loop while na linguagem de programação C é a seguinte:

Sintaxe do loop While em C

while (condition) {
             statements;
}

É um loop controlado por entrada. No loop while, uma condição é avaliada antes de processar o corpo do loop. Se uma condição for verdadeira, então, e somente então, o corpo de um loop será executado. Depois que o corpo de um loop é executado, o controle volta novamente ao início e a condição é verificada se for verdadeira, o mesmo processo é executado até que a condição se torne falsa. Quando a condição se torna falsa, o controle sai do loop.

Após sair do loop, o controle vai para as instruções imediatamente após o loop. O corpo de um loop pode conter mais de uma instrução. Se contiver apenas uma instrução, as chaves não são obrigatórias. É uma boa prática usar chaves, mesmo que tenhamos uma única instrução no corpo.

No loop while, se a condição não for verdadeira, o corpo do loop não será executado, nem mesmo uma vez. É diferente no loop do while que veremos em breve.

O programa a seguir ilustra o loop while no exemplo de programação C:

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	while(num<=10)	//while loop with condition
	{
		printf("%d\n",num);
		num++;		//incrementing operation
	}
	return 0;
}

Saída:

1
2
3
4
5
6
7
8
9
10

O programa acima ilustra o uso do loop while. No programa acima, imprimimos séries de números de 1 a 10 usando um loop while.

Enquanto Loop em C
While Loop na programação C
  1. Inicializamos uma variável chamada num com valor 1. Vamos imprimir de 1 a 10, portanto, a variável é inicializada com valor 1. Se você deseja imprimir de 0, atribua o valor 0 durante a inicialização.
  2. Em um loop while, fornecemos uma condição (num<=10), o que significa que o loop executará o corpo até que o valor de num se torne 10. Depois disso, o loop será encerrado e o controle sairá do loop.
  3. No corpo de um loop, temos uma função print para imprimir nosso número e uma operação de incremento para incrementar o valor por execução de um loop. Um valor inicial de num é 1, após a execução se tornará 2 e durante a próxima execução se tornará 3. Este processo continuará até que o valor se torne 10 e então imprimirá a série no console e encerrará o loop .

\n é usado para fins de formatação, o que significa que o valor será impresso em uma nova linha.

Loop Do-While em C

Um loop do…while em C é semelhante ao loop while, exceto que a condição é sempre executada após o corpo de um loop. Também é chamado de loop controlado por saída.

A sintaxe do loop do while na linguagem de programação C é a seguinte:

Sintaxe do loop Do-While em C

 do {
  statements
} while (expression);

Como vimos em um loop while, o corpo é executado se e somente se a condição for verdadeira. Em alguns casos, temos que executar o corpo do loop pelo menos uma vez, mesmo que a condição seja falsa. Este tipo de operação pode ser alcançado usando um loop do-while.

No loop do-while, o corpo de um loop é sempre executado pelo menos uma vez. Depois que o corpo é executado, ele verifica a condição. Se a condição for verdadeira, ele executará novamente o corpo de um loop, caso contrário o controle será transferido para fora do loop.

Semelhante ao loop while, uma vez que o controle sai do loop, as instruções que estão imediatamente após o loop serem executadas.

A diferença crítica entre o loop while e do-while é que no loop while o while é escrito no início. No loop do-while, a condição while é escrita no final e termina com ponto e vírgula (;)

O seguinte programa de loop em C ilustra o funcionamento de um loop do-while:

Abaixo está um loop do-while no exemplo C para imprimir uma tabela do número 2:

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	do	//do-while loop 
	{
		printf("%d\n",2*num);
		num++;		//incrementing operation
	}while(num<=10);
	return 0;
}

Saída:

2
4
6
8
10
12
14
16
18
20

No exemplo acima, imprimimos a tabuada de 2 usando um loop do-while. Vamos ver como o programa conseguiu imprimir a série.

Loop Do-While em C
Loop Do-While na programação C
  1. Primeiro, inicializamos uma variável 'num' com valor 1. Em seguida, escrevemos um loop do-while.
  2. Em um loop, temos uma função de impressão que imprimirá a série multiplicando o valor de num por 2.
  3. Após cada incremento, o valor de num aumentará em 1 e será impresso na tela.
  4. Inicialmente, o valor de num é 1. No corpo de um loop, a função print será executada desta forma: 2*num onde num=1, então 2*1=2 portanto o valor dois será impresso. Isso continuará até que o valor de num se torne 10. Depois disso, o loop será encerrado e uma instrução imediatamente após o loop será executada. Neste caso retorne 0.

Para loop em C

Um loop for é uma estrutura de loop mais eficiente na programação 'C'. A estrutura geral da sintaxe do loop for em C é a seguinte:

Sintaxe do For Loop em C

for (initial value; condition; incrementation or decrementation ) 
{
  statements;
}
  • O valor inicial do loop for é executado apenas uma vez.
  • A condição é uma expressão booleana que testa e compara o contador com um valor fixo após cada iteração, interrompendo o loop for quando false é retornado.
  • A incrementação/decrementação aumenta (ou diminui) o contador em um valor definido.

O programa a seguir ilustra o loop for no exemplo de programação C:

#include<stdio.h>
int main()
{
	int number;
	for(number=1;number<=10;number++)	//for loop to print 1-10 numbers
	{
		printf("%d\n",number);		//to print the number
	}
	return 0;
}

Saída:

1
2
3
4
5
6
7
8
9
10

O programa acima imprime a série numérica de 1 a 10 usando o loop for.

Para loop em C
For Loop em programação C
  1. Nós declaramos um variável de um tipo de dados int para armazenar valores.
  2. No loop for, na parte de inicialização, atribuímos o valor 1 à variável número. Na parte da condição, especificamos nossa condição e depois a parte do incremento.
  3. No corpo de um loop, temos uma função print para imprimir os números em uma nova linha no console. Temos o valor um armazenado em número, após a primeira iteração o valor será incrementado, passando a ser 2. Agora a variável número tem o valor 2. A condição será verificada novamente e como a condição é verdadeira o loop será executado, e imprimirá dois na tela. Este loop continuará sendo executado até que o valor da variável seja 10. Depois disso, o loop será encerrado e uma série de 1 a 10 será impressa na tela.

Em C, o loop for pode ter múltiplas expressões separadas por vírgulas em cada parte.

Por exemplo:

for (x = 0, y = num; x < y; i++, y--) { 
  statements; 
}

Além disso, podemos pular a expressão, condição e/ou incremento do valor inicial adicionando um ponto e vírgula.

Por exemplo:

int i=0;
int max = 10;
for (; i < max; i++) {
  printf("%d\n", i);
}

Observe que os loops também podem ser aninhados onde há um loop externo e um loop interno. Para cada iteração do loop externo, o loop interno repete todo o seu ciclo.

Considere o seguinte exemplo com múltiplas condições no loop for, que usa loop for aninhado na programação C para gerar uma tabela de multiplicação:

#include <stdio.h>
int main() {
int i, j;
int table = 2;
int max = 5;
for (i = 1; i <= table; i++) { // outer loop
  for (j = 0; j <= max; j++) { // inner loop
    printf("%d x %d = %d\n", i, j, i*j);
  }
  printf("\n"); /* blank line between tables */
}}

Saída:

1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10

O aninhamento de loops for pode ser feito em qualquer nível. Os loops aninhados devem ser recuados adequadamente para tornar o código legível. Em algumas versões de 'C', o aninhamento é limitado a 15 loops, mas algumas fornecem mais.

Os loops aninhados são usados ​​principalmente em aplicativos de array que veremos em tutoriais futuros.

Instrução de quebra em C

A instrução break é usada principalmente no instrução switch. Também é útil para interromper imediatamente um loop.

Consideramos o seguinte programa que introduz uma pausa para sair de um loop while:

#include <stdio.h>
int main() {
int num = 5;
while (num > 0) {
  if (num == 3)
    break;
  printf("%d\n", num);
  num--;
}}

Saída:

5
4

Continuar declaração em C

Quando você quiser pular para a próxima iteração, mas permanecer no loop, você deve usar a instrução continue.

Por exemplo:

#include <stdio.h>
int main() {
int nb = 7;
while (nb > 0) {
  nb--;
  if (nb == 5)
    continue;
 printf("%d\n", nb);
}}

Saída:

6
4
3
2
1

Portanto, o valor 5 é ignorado.

Qual loop selecionar?

A seleção de um loop é sempre uma tarefa difícil para um programador, para selecionar um loop siga os seguintes passos:

  • Analise o problema e verifique se ele requer um loop de pré-teste ou pós-teste.
  • Se for necessário um pré-teste, use um while ou um loop.
  • Se o pós-teste for necessário, use um loop do-while.

Resumo

  • Definir loop em C: Um Loop é um dos conceitos-chave em qualquer Linguagem de programação. Loops em linguagem C são implementados usando instruções condicionais.
  • Um bloco de instruções de controle de loop em C é executado várias vezes até que a condição se torne falsa.
  • Os loops na programação C são de 2 tipos: controlados por entrada e controlados por saída.
  • Liste várias instruções de controle de loop em C: a programação C nos fornece 1) while 2) do-while e 3) for instruções de controle de loop.
  • A programação do loop C For e While são loops controlados por entrada na linguagem C.
  • Do-while é um loop de controle de saída em C.