C ++ while e do ... while Loop (com exemplos)

Neste tutorial, aprenderemos o uso dos loops while e do … while na programação C ++ com a ajuda de alguns exemplos.

Na programação de computadores, os loops são usados ​​para repetir um bloco de código.

Por exemplo, digamos que queremos mostrar uma mensagem 100 vezes. Então, em vez de escrever a instrução print 100 vezes, podemos usar um loop.

Esse foi apenas um exemplo simples; podemos alcançar muito mais eficiência e sofisticação em nossos programas fazendo uso efetivo de loops.

Existem 3 tipos de loops em C ++.

  1. for ciclo
  2. while ciclo
  3. do… while ciclo

No tutorial anterior, aprendemos sobre o loop for C ++. Aqui, nós estamos indo para aprender sobre whilee do… whileloops.

C ++ while Loop

A sintaxe do whileloop é:

 while (condition) ( // body of the loop )

Aqui,

  • Um whileloop avalia ocondition
  • Se for conditionavaliado como true, o código dentro do whileloop será executado.
  • O conditioné avaliado novamente.
  • Este processo continua até que conditionseja false.
  • Quando o conditionavalia para false, o loop termina.

Para saber mais sobre o conditions, visite C ++ Relational and Logical Operators.

Fluxograma do loop while

Fluxograma de C ++ while loop

Exemplo 1: números de exibição de 1 a 5

 // C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // while loop from 1 to 5 while (i <= 5) ( cout << i << " "; ++i; ) return 0; )

Resultado

 1 2 3 4 5

Aqui está como o programa funciona.

Iteração Variável i <= 5 Açao
i = 1 true 1 é impresso e iaumentado para 2.
i = 2 true 2 é impresso e iaumentado para 3.
i = 3 true 3 é impresso e iaumentado para4
i = 4 true 4 é impresso e iaumentado para 5.
5 ª i = 5 true 5 é impresso e iaumentado para 6.
i = 6 false O loop é encerrado

Exemplo 2: apenas soma de números positivos

 // program to find the sum of positive numbers // if the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number; int sum = 0; // take input from the user cout <> number; while (number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive cout <> number; ) // display the sum cout << "The sum is " << sum << endl; return 0; )

Resultado

 Insira um número: 6 Insira um número: 12 Insira um número: 7 Insira um número: 0 Insira um número: -2 A soma é 25

Neste programa, o usuário é solicitado a inserir um número, que é armazenado no número da variável.

Para armazenar a soma dos números, declaramos uma variável sum e a inicializamos com o valor de 0.

O whileloop continua até que o usuário insira um número negativo. Durante cada iteração, o número inserido pelo usuário é adicionado à variável de soma.

Quando o usuário insere um número negativo, o loop termina. Finalmente, a soma total é exibida.

C ++ faz … while Loop

O do… whileloop é uma variante do whileloop com uma diferença importante: o corpo do do… whileloop é executado uma vez antes de conditionser verificado.

Sua sintaxe é:

 do ( // body of loop; ) while (condition);

Aqui,

  • O corpo do loop é executado primeiro. Em seguida, o conditioné avaliado.
  • Se for conditionavaliado como true, o corpo do loop dentro da doinstrução será executado novamente.
  • O conditioné avaliado mais uma vez.
  • Se for conditionavaliado como true, o corpo do loop dentro da doinstrução será executado novamente.
  • Este processo continua até que conditionavalie para false. Em seguida, o loop para.

Fluxograma de do … while Loop

Fluxograma de C ++ do … while loop

Exemplo 3: números de exibição de 1 a 5

 // C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // do… while loop from 1 to 5 do ( cout << i << " "; ++i; ) while (i <= 5); return 0; )

Resultado

 1 2 3 4 5

Aqui está como o programa funciona.

Iteração Variável i <= 5 Açao
i = 1 não checado 1 é impresso e iaumentado para 2
i = 2 true 2 é impresso e iaumentado para 3
i = 3 true 3 é impresso e iaumentado para 4
i = 4 true 4 é impresso e iaumentado para 5
i = 5 true 5 é impresso e iaumentado para 6
5 ª i = 6 false O loop é encerrado

Exemplo 4: Soma apenas de números positivos

 // program to find the sum of positive numbers // If the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number = 0; int sum = 0; do ( sum += number; // take input from the user cout <> number; ) while (number>= 0); // display the sum cout << "The sum is " << sum << endl; return 0; )

Produto 1

 Insira um número: 6 Insira um número: 12 Insira um número: 7 Insira um número: 0 Insira um número: -2 A soma é 25

Here, the do… while loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.

Output 2

 Enter a number: -6 The sum is 0.

The body of the do… while loop runs only once if the user enters a negative number.

Infinite while loop

If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,

 // infinite while loop while(true) ( // body of the loop )

Here is an example of an infinite do… while loop.

 // infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1);

In the above programs, the condition is always true. Hence, the loop body will run for infinite times.

for vs while loops

A for loop is usually used when the number of iterations is known. For example,

 // This loop is iterated 5 times for (int i = 1; i <=5; ++i) ( // body of the loop )

Here, we know that the for-loop will be executed 5 times.

No entanto, os loops whilee do… whilegeralmente são usados ​​quando o número de iterações é desconhecido. Por exemplo,

 while (condition) ( // body of the loop )

Confira estes exemplos para saber mais:

  • Programa C ++ para exibir a série Fibonacci
  • Programa C ++ para encontrar GCD
  • Programa C ++ para encontrar LCM

Artigos interessantes...