Cómo utilizar el bucle for en c ++

La forma más común de bucle en C ++ es el para lazo. los para bucle es preferible a la más básica mientras bucle porque generalmente es más fácil de leer (no hay realmente ninguna otra ventaja).

los para bucle tiene el siguiente formato:

para (incremento condicionalidad initialization-) {// ... cuerpo del bucle}

los para bucle es equivalente a la siguiente mientras lazo:

{inicialización-while (condicional) {{// ... cuerpo del bucle increment-}}}

La ejecución de la para bucle comienza con la cláusula de inicialización, que obtuvo su nombre porque es normalmente cuando se inicializan las variables de conteo. La cláusula de inicialización sólo se ejecuta una vez, cuando el para se encuentra primero bucle.

La ejecución continúa con la cláusula condicional. Esta cláusula funciona igual que el mientras bucle: Mientras la cláusula condicional es cierto, el para bucle continúa ejecutando.

Después de que el código en el cuerpo del bucle termina la ejecución, el control pasa a la cláusula de la subasta antes de volver a comprobar la cláusula condicional - repitiendo así el proceso. La cláusula de la subasta alberga normalmente las declaraciones autoincrement o autodecremento utilizados para actualizar las variables de conteo.

los para bucle se entiende mejor con el ejemplo. El seguimiento ForDemo1 programa no es más que la WhileDemo convertido a utilizar el para construcción de bucle:

// ForDemo1 - Entrada de un recuento de bucle. Bucle while // salida acadena número arg de veces. # Include #include #include using namespace std-int main (int nNumberofArgs, char * pszArgs []) {// introducir el countint bucle nLoopCount-cout lt; lt; "Introduzca el recuento de bucle:" cin >> nLoopCount - // contar hasta el bucle contar limitfor (- nLoopCount> 0 -) = {nLoopCount nLoopCount - 1-cout lt; lt; "Sólo" lt; lt; nLoopCountlt; lt; "Bucles para ir" lt; lt; endl -} // espera hasta que el usuario está listo antes de finalizar el programa // para que el usuario pueda ver el resultscout programa lt; lt; "Pulse Intro para continuar ..." lt; lt; endl-cin.ignore (10, ' n') - cin.get () - volver 0-}

El programa lee un valor desde el teclado en la variable nloopCount. los para que comienza comparando nloopCount a 0. El control pasa a la para bucle si nloopCount es mayor que 0. Una vez dentro del para bucle, el programa decrementa nloopCount y muestra el resultado. Una vez hecho esto, el programa vuelve a la para control de bucle.

Control salta a la siguiente línea después de la para bucle tan pronto como nloopCount se ha disminuido a 0.

Las tres secciones de una para bucle puede estar vacío. Una inicialización vacío o sección de la subasta no hace nada. Una sección de comparación vacía se trata como una comparación que devuelve cierto.

Esta para bucle tiene dos pequeños problemas. Primero, es destructivo, en el sentido de que cambia el valor de nloopCount, " destruyendo " el valor original. En segundo lugar, este para bucle cuenta hacia atrás a partir de valores grandes a valores más pequeños. Estos dos problemas son abordados mediante la adición de una variable de conteo dedicada a la para lazo. Esto es lo que parece:

// ForDemo2 - Entrada de un recuento de bucle. Bucle while // salida acadena número arg de veces. # Include #include #include using namespace std-int main (int nNumberofArgs, char * pszArgs []) {// introducir el countint bucle nLoopCount-cout lt; lt; "Introduzca el recuento de bucle:" cin >> nLoopCount - // contar hasta el recuento de bucle limitfor (int i = 1 i lt; = nLoopCount- i ++) {cout lt; lt; "Hemos terminado" lt; lt; ilt; lt; "Loops" lt; lt; endl -} // espera hasta que el usuario está listo antes de finalizar el programa // para que el usuario pueda ver el resultscout programa lt; lt; "Pulse Intro para continuar ..." lt; lt; endl-cin.ignore (10, ' n') - cin.get () - volver 0-}

Esta versión modificada de ForDemo bucles de la misma como lo hacía antes. En lugar de modificar el valor de nLoopCount, sin embargo, esta ForDemo2 versión utiliza una nueva variable de contador.

Esta para bucle declara una variable de contador yo e inicializa a 0. A continuación, compara esta variable en contra de nLoopCount. Si yo es menos que nLoopCount, el control pasa a la instrucción de salida dentro del cuerpo de la para lazo. Una vez que el cuerpo ha completado la ejecución, el control pasa a la cláusula de la subasta donde yo se incrementa y en comparación con nLoopCount de nuevo, y así sigue.

A continuación se muestra una salida de ejemplo del programa:

Introduzca el recuento de bucle: 5Hemos terminado 1 loopsWe've terminó 2 loopsWe've terminó 3 loopsWe've terminó 4 loopsWe've terminó 5 loopsPress Intro para continuar ...

Cuando se declare dentro de la parte de inicialización del para bucle, la variable de índice es conocida sólo dentro de la para en sí bucle. Nerdy C ++ programadores dicen que el alcance de la variable se limita a la para lazo. en el ForDemo2 ejemplo que acabamos de dar, la variable yo no es accesible desde el regreso declaración porque esa declaración no está dentro del bucle.




» » » » Cómo utilizar el bucle for en c ++