C # while e do ... while loop (com exemplos)

Neste artigo, aprenderemos sobre o while e do … while loop em C #, como usá-los e a diferença entre eles.

Na programação, geralmente é desejado executar determinado bloco de instruções por um determinado número de vezes. Uma possível solução será digitar essas instruções o número necessário de vezes. No entanto, o número de repetições pode não ser conhecido com antecedência (durante o tempo de compilação) ou talvez grande o suficiente (digamos, 10000).

A melhor solução para esse problema é o loop. Os loops são usados ​​na programação para executar repetidamente um determinado bloco de instruções até que alguma condição seja atendida.

Neste artigo, aprenderemos a usar loops while em C #.

Loop while C #

A palavra-chave while é usada para criar um loop while em C #. A sintaxe do loop while é:

 while (test-expression) (// corpo do while) 

Como funciona o loop while?

  1. O loop while do C # consiste em a test-expression.
  2. Se o test-expressionfor avaliado para true,
    1. instruções dentro do loop while são executadas.
    2. após a execução, o test-expressioné avaliado novamente.
  3. Se o test-expressionfor avaliado como false, o loop while termina.

while loop fluxograma

Exemplo 1: while Loop

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) ) 

Quando executamos o programa, a saída será:

 C # For Loop: Iteração 1 C # For Loop: Iteração 2 C # For Loop: Iteração 3 C # For Loop: Iteração 4 C # For Loop: Iteração 5

Inicialmente, o valor de i é 1.

Quando o programa atinge a instrução de loop while,

  • a expressão de teste i <=5é avaliada. Como i é 1 e 1 <= 5é true, ele executa o corpo do loop while. Aqui, a linha é impressa na tela com a Iteração 1 e o valor de i é aumentado em 1 para se tornar 2.
  • Agora, a expressão de teste ( i <=5) é avaliada novamente. Desta vez também, a expressão retorna true(2 <= 5), então a linha é impressa na tela e o valor de i agora é incrementado para 3 …
  • Isso vai e o loop while executa até que i se torne 6. Nesse ponto, a expressão de teste será avaliada falsee, portanto, o loop termina.

Exemplo 2: loop while para calcular a soma dos 5 primeiros números naturais

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1, sum=0; while (i<=5) ( sum += i; i++; ) Console.WriteLine("Sum = (0)", sum); ) ) ) 

Quando executamos o programa, a saída será:

 Soma = 15

Este programa calcula a soma dos 5 primeiros números naturais.

  • Inicialmente, o valor de soma é inicializado em 0.
  • Em cada iteração, o valor de soma é atualizado para sum+ie o valor de i é incrementado em 1.
  • Quando o valor de i atinge 6, a expressão de teste i<=5retorna falso e o loop termina.

Vamos ver o que acontece no programa fornecido em cada iteração.

Inicialmente, i = 1, soma = 0

Enquanto etapas de execução de loop
Iteração Valor de i i <= 5 Valor da soma
1 1 verdade 0 + 1 = 1
2 2 verdade 1 + 2 = 3
3 3 verdade 3 + 3 = 6
4 4 verdade 6 + 4 = 10
5 5 verdade 10 + 5 = 15
6 6 falso Loop termina

Portanto, o valor final da soma será 15.

C # do … loop while

A palavra-chave do e while é usada para criar um loop do … while. É semelhante a um loop while, mas há uma grande diferença entre eles.

No loop while, a condição é verificada antes que o corpo seja executado. É exatamente o oposto no loop do … while, ou seja, a condição é verificada depois que o corpo é executado.

É por isso que o corpo do loop do … while será executado pelo menos uma vez, independentemente da expressão de teste.

A sintaxe para do … while loop é:

 do (// corpo do do while loop) while (test-expression); 

Como… o loop while funciona?

  1. O corpo do loop do … while é executado primeiro.
  2. Em seguida, o test-expressioné avaliado.
  3. Se test-expressionfor true, o corpo do loop é executado.
  4. Quando o test-expressioné false, do … while termina o loop.

do … while loop fluxograma

Exemplo 3: fazer … while loop

 using System; namespace Loop ( class DoWhileLoop ( public static void Main(string() args) ( int i = 1, n = 5, product; do ( product = n * i; Console.WriteLine("(0) * (1) = (2)", n, i, product); i++; ) while (i <= 10); ) ) ) 

Quando executamos o programa, a saída será:

 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50

As we can see, the above program prints the multiplication table of a number (5).

  • Initially, the value of i is 1. The program, then enters the body of do… while loop without checking any condition (as opposed to while loop).
  • Inside the body, product is calculated and printed on the screen. The value of i is then incremented to 2.
  • After the execution of the loop’s body, the test expression i <= 10 is evaluated. In total, the do… while loop will run for 10 times.
  • Finally, when the value of i is 11, the test-expression evaluates to false and hence terminates the loop.

Infinite while and do… while loop

If the test expression in the while and do… while loop never evaluates to false, the body of loop will run forever. Such loops are called infinite loop.

For example:

Infinite while loop

 while (true) (// corpo do loop while) 

Infinito do … while loop

 do (// corpo do loop while) while (true); 

O loop infinito é útil quando precisamos que um loop seja executado enquanto nosso programa for executado.

Por exemplo, se seu programa for uma animação, você precisará executá-lo constantemente até que seja interrompido. Nesses casos, um loop infinito é necessário para manter a execução da animação repetidamente.

Artigos interessantes...