C++ while y do...while Bucle
C++ while y do...while Bucle
En este tutorial, aprenderemos el uso de los bucles while y do...while en la programación de C++ con la ayuda de algunos ejemplos.
En la programación de computadoras, los bucles se usan para repetir un bloque de código.
Por ejemplo, digamos que queremos mostrar un mensaje 100 veces. Luego, en lugar de escribir la declaración de impresión 100 veces, podemos usar un ciclo.
Ese fue solo un ejemplo simple; podemos lograr mucha más eficiencia y sofisticación en nuestros programas haciendo un uso eficaz de los bucles.
Hay 3 tipos de bucles en C++.
for
buclewhile
bucledo...while
bucle
En el tutorial anterior, aprendimos sobre el ciclo for de C++. Aquí vamos a aprender sobre while
y do...while
bucles.
C++ while Loop
La sintaxis del while
el bucle es:
while (condition) {
// body of the loop
}
Aquí,
- A
while
loop evalúa elcondition
- Si el
condition
evalúa atrue
, el código dentro delwhile
se ejecuta el bucle. - El
condition
se vuelve a evaluar. - Este proceso continúa hasta el
condition
esfalse
. - Cuando el
condition
evalúa afalse
, el ciclo termina.
Para obtener más información sobre el conditions
, visite Operadores lógicos y relacionales de C++.
Diagrama de flujo de ciclo while
Ejemplo 1:Mostrar números del 1 al 5
// C++ Program to print numbers from 1 to 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
// while loop from 1 to 5
while (i <= 5) {
cout << i << " ";
++i;
}
return 0;
}
Salida
1 2 3 4 5
Así es como funciona el programa.
Iteración | Variable | yo <=5 | Acción |
---|---|---|---|
1º | i = 1 | true |
1
se imprime y i se incrementa a 2 . |
2do | i = 2 | true |
2
se imprime y i se incrementa a 3 . |
3ro | i = 3 | true |
3
se imprime y i se incrementa a 4 |
4º | i = 4 | true |
4
se imprime y i se incrementa a 5 . |
5º | i = 5 | true |
5
se imprime y i se incrementa a 6 . |
6º | i = 6 | false | El bucle se termina |
Ejemplo 2:Suma de números positivos solamente
// 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 <iostream>
using namespace std;
int main() {
int number;
int sum = 0;
// take input from the user
cout << "Enter a number: ";
cin >> number;
while (number >= 0) {
// add all positive numbers
sum += number;
// take input again if the number is positive
cout << "Enter a number: ";
cin >> number;
}
// display the sum
cout << "\nThe sum is " << sum << endl;
return 0;
}
Salida
Enter a number: 6 Enter a number: 12 Enter a number: 7 Enter a number: 0 Enter a number: -2 The sum is 25
En este programa, se solicita al usuario que ingrese un número, que se almacena en la variable número .
Para almacenar la suma de los números, declaramos una variable sum e inicialícelo con el valor de 0
.
El while
el ciclo continúa hasta que el usuario ingresa un número negativo. Durante cada iteración, el número ingresado por el usuario se suma a la suma variables.
Cuando el usuario ingresa un número negativo, el ciclo termina. Finalmente, se muestra la suma total.
C++ do...while Loop
El do...while
loop es una variante del while
bucle con una diferencia importante:el cuerpo de do...while
el bucle se ejecuta una vez antes del condition
está marcado.
Su sintaxis es:
do {
// body of loop;
}
while (condition);
Aquí,
- El cuerpo del bucle se ejecuta al principio. Luego el
condition
se evalúa. - Si el
condition
evalúa atrue
, el cuerpo del ciclo dentro deldo
se ejecuta de nuevo. - El
condition
se evalúa una vez más. - Si el
condition
evalúa atrue
, el cuerpo del ciclo dentro deldo
se ejecuta de nuevo. - Este proceso continúa hasta el
condition
evalúa afalse
. Entonces el bucle se detiene.
Diagrama de flujo del bucle do...while
Ejemplo 3:Mostrar números del 1 al 5
// C++ Program to print numbers from 1 to 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
// do...while loop from 1 to 5
do {
cout << i << " ";
++i;
}
while (i <= 5);
return 0;
}
Salida
1 2 3 4 5
Así es como funciona el programa.
Iteración | Variable | yo <=5 | Acción |
---|---|---|---|
i = 1 | no marcado |
1
se imprime y i se incrementa a 2 | |
1º | i = 2 | true |
2
se imprime y i se incrementa a 3 |
2do | i = 3 | true |
3
se imprime y i se incrementa a 4 |
3ro | i = 4 | true |
4
se imprime y i se incrementa a 5 |
4º | i = 5 | true |
5
se imprime y i se incrementa a 6 |
5º | i = 6 | false | El bucle se termina |
Ejemplo 4:Suma de números positivos únicamente
// 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 <iostream>
using namespace std;
int main() {
int number = 0;
int sum = 0;
do {
sum += number;
// take input from the user
cout << "Enter a number: ";
cin >> number;
}
while (number >= 0);
// display the sum
cout << "\nThe sum is " << sum << endl;
return 0;
}
Salida 1
Enter a number: 6 Enter a number: 12 Enter a number: 7 Enter a number: 0 Enter a number: -2 The sum is 25
Aquí, el do...while
el ciclo continúa hasta que el usuario ingresa un número negativo. Cuando el número es negativo, el ciclo termina; el número negativo no se suma al sum
variables.
Salida 2
Enter a number: -6 The sum is 0.
El cuerpo del do...while
el ciclo se ejecuta solo una vez si el usuario ingresa un número negativo.
bucle while infinito
Si el condition
de un bucle siempre es true
, el bucle se ejecuta infinitas veces (hasta que la memoria está llena). Por ejemplo,
// infinite while loop
while(true) {
// body of the loop
}
Aquí hay un ejemplo de un do...while
infinito bucle.
// infinite do...while loop
int count = 1;
do {
// body of loop
}
while(count == 1);
En los programas anteriores, el condition
siempre es true
. Por lo tanto, el cuerpo del bucle se ejecutará infinitas veces.
bucles for vs while
Un for
loop se usa generalmente cuando se conoce el número de iteraciones. Por ejemplo,
// This loop is iterated 5 times
for (int i = 1; i <=5; ++i) {
// body of the loop
}
Aquí, sabemos que el bucle for se ejecutará 5 veces.
Sin embargo, while
y do...while
los bucles se utilizan generalmente cuando se desconoce el número de iteraciones. Por ejemplo,
while (condition) {
// body of the loop
}
Consulte estos ejemplos para obtener más información:
- Programa en C++ para mostrar series de Fibonacci
- Programa C++ para encontrar GCD
- Programa C++ para encontrar LCM
Lenguaje C
- C# if, if...else, if...else if y declaración if anidada
- Clases y objetos de C++
- Gestión de memoria C++:nuevo y eliminar
- Herencia pública, protegida y privada de C++
- Función amiga de C++ y Clases amigas
- C++ do...while bucle con ejemplos
- Diferencia entre while y do-while:explicada con ejemplos
- Programa numérico Palindrome en Java usando while &for Loop
- C++ Fecha y hora
- Sobrecarga de C++ (operador y función)
- Archivos y flujos de C++