logo

Boucle For vs While en C

Comprendre la différence entre une boucle for et une boucle while

Les instructions d'itération en C++, telles que la boucle for, la boucle while et la boucle do-while, permettent d'exécuter un ensemble d'instructions à plusieurs reprises jusqu'à ce que la condition soit vraie, puis de se terminer lorsque la condition est fausse. Les instructions d'itération peuvent avoir des conditions prédéfinies, comme dans une boucle for, ou des conditions ouvertes, comme dans une boucle while.

En C++, une variété de variations de boucles « for » sont impliquées pour augmenter l'applicabilité, la puissance et la flexibilité du langage. Par exemple, la boucle for nous permet de contrôler la boucle en utilisant plusieurs variables à l'intérieur, ainsi que l'utilisation de la fonction de convergence avec la boucle « for ». En revanche, nous ne pouvons pas utiliser de nombreuses variantes avec la boucle while ; il doit être utilisé avec la syntaxe standard.

le pivot du panda

Il existe des différences significatives entre les boucles for et while, qui sont expliquées plus en détail à l'aide d'un tableau comparatif.

Boucle For vs While en C

La boucle For est définie comme

Il existe deux types de boucles for en Java. La première est la forme « traditionnelle », tandis que la seconde est la forme « pour chaque ».

La forme la plus générale d’une instruction de boucle for.

 for (initialization; condition; iteration) { //body of for loop } 
    Initialisation :La variable de contrôle de boucle de la boucle for n'est initialisée qu'une seule fois, lors de la première itération de la boucle. La variable de contrôle de boucle est initialisée ici ; si la variable de boucle n'est plus jamais utilisée dans le programme et est uniquement utilisée comme variable de contrôle de la boucle, elle est à la fois déclarée et initialisée dans la boucle 'for'.Condition:La condition de la boucle 'for' est exécutée à chaque itération de la boucle.
  • L'instruction d'itération est une expression qui incrémente ou décrémente la variable de contrôle de boucle.

Lorsque la boucle est exécutée, la condition d'initialisation est exécutée en premier, suivie de la vérification de la condition. Si la condition est remplie, le corps de la boucle est exécuté, suivi de l'instruction d'itération. La condition est ensuite vérifiée à nouveau pour déterminer si la boucle va continuer ou se terminer.

En Java, les instructions d'initialisation et d'itération peuvent toutes deux contenir plusieurs instructions. Une virgule sépare chaque instruction ; en Java, une virgule est un séparateur ; en C++, une virgule est un opérateur qui peut être utilisé dans n'importe quelle expression valide.

La syntaxe de la boucle for-each

Le formulaire « for-each » est une version plus avancée de la boucle for. La boucle for-each prend la forme générale suivante.

 for(type iter_variable: collection) statement-block 

Le paramètre 'type' spécifie le type de variable d'itération, qui est suivi de la variable d'itération. L'élément de la variable de collection sera transmis à la variable d'itération. Le type doit correspondre au type des éléments dans la variable de collection. La forme for-each de la boucle for automatise l'itération de la boucle du début à la fin, en accédant aux valeurs dans un ordre séquentiel.

Shloka Mehta

Exemple

Il existe différents types de collections qui peuvent être utilisées avec une boucle for. Parlons-en en utilisant un tableau comme collection.

 public class Main { public static void main(String[] args) { int array[]={10, 20, 30, 40, 50, 60}; int add=0; for( int c: array) { System.out.println( 'value in c ' + c); add = add+c; } System.out.println('additon of array elements is ' +add); } } 

Sortir:

 value in c 10 value in c 20 value in c 30 value in c 40 value in c 50 value in c 60 additon of array elements is 210 

« c » est une variable d'itération dans ce cas ; il reçoit les valeurs de array[], une par une, de l'index le plus bas au plus élevé du tableau. La boucle itère jusqu'à ce que tous les éléments du tableau soient examinés. La boucle peut être interrompue au milieu en utilisant « break ». En revanche, la modification de la variable d'itération n'a aucun effet sur le tableau car il s'agit d'une variable en lecture seule.

La boucle While est définie comme

La boucle while est la boucle la plus basique en C++ et en Java. Le fonctionnement d'une boucle while est similaire en C++ et Java.

Syntaxe

Voici la déclaration de la boucle while :

 while ( condition) { statements; //body of loop } 

La boucle while vérifie d'abord la condition, puis exécute les instructions jusqu'à ce que la condition de la boucle while soit vraie. Dans une boucle while, la condition peut être n’importe quelle expression booléenne. Lorsqu'une expression renvoie une valeur non nulle, la condition est vraie ; lorsqu'il renvoie une valeur nulle, la condition est fausse.

java sinon si

Si la condition est vraie, la boucle s'itère elle-même ; si la condition est fausse, le contrôle est passé à la ligne de code qui suit immédiatement la boucle. La ou les boucles de corps peuvent être une instruction vide, une instruction unique ou un bloc d'instructions.

Exemple

Voyons comment fonctionne une boucle while. Le code dans l'exemple ci-dessous s'imprimera de 1 à 10.

 public class Main { public static void main (String args[]) { int n=0; while(n<10) { n++; system.out.println('n=" +n); } } } &lt;/pre&gt; &lt;p&gt; &lt;strong&gt;Output:&lt;/strong&gt; &lt;/p&gt; &lt;pre&gt; n=1 n=2 n=3 n=4 n=5 n=6 n=7 n=8 n=9 n=10 &lt;/pre&gt; &lt;p&gt;The initial value of " n' in this case is 0, which makes the condition while loop true. control then enters loop's body, where value of 'n' incremented accordance with first statement.< p> <p>The value of &apos;n&apos; is printed, then control returns to the condition in a while loop, where the value of &apos;n&apos; is now 1, satisfying the condition once more, and the body of the loop is executed once more. This continues until the condition becomes false, at which point the loop is terminated.</p> <p>The &apos;while&apos; loop, like the &apos;for&apos; loop, can initialise the control variable at the beginning of the loop, i.e. during condition checking.</p> <pre> //for example while((ch = getchar( ) ) != &apos;A&apos;) { System.out.println(&apos; The input alphabet &apos; +ch); } </pre> <p>At the top of the loop, the control variable &apos;ch&apos; is initialised, and the loop&apos;s condition is verified.</p> <h4>Note: If there is only one statement in the body of the loop, whether it is a for loop or a while loop, the curly braces are not required.</h4> <h3>In C, what is the difference between a for loop and a while?</h3> <table class="table"> <tr> <th>Parameters</th> <th>For Loop</th> <th>While Loop</th> </tr> <tr> <td> <strong>Declaration</strong> </td> <td>for(initialization ; condition ; iteration ) { <br> //body of &apos;for&apos; loop <br> }</td> <td>initialization <br>while ( condition ) { <br>statements; <br>//body of loop <br>}</td> </tr> <tr> <td> <strong>Format.</strong> </td> <td>At the top of the loop, initialization, condition checking, and iteration statements are written.</td> <td>At the top of the loop, only initialization and condition checking are performed.</td> </tr> <tr> <td> <strong>Use.</strong> </td> <td>The &apos;for&apos; loop was only used when the number of iterations was already known.</td> <td>When the number of iterations is unknown, the &apos;while&apos; loop is used.</td> </tr> <tr> <td> <strong>Condition.</strong> </td> <td>If the condition is not included in the &apos;for&apos; loop, the loop iterates indefinitely.</td> <td>If the condition is not included in the &apos;while&apos; loop, a compilation error occurs.</td> </tr> <tr> <td> <strong>Initialization</strong> </td> <td>The initialization is never repeated in a &apos;for&apos; loop.</td> <td>If initialization is performed during condition checking in a while loop, initialization is performed each time the loop iterates.</td> </tr> <tr> <td> <strong>Iteration assertion</strong> </td> <td>Because the iteration statement in the &apos;for&apos; loop is written at the top, it executes only after all statements in the loop have been executed.</td> <td>The iteration statement in a &apos;while&apos; loop can be written anywhere in the loop.</td> </tr> </table> <h2>The Key Differences Between for and while loop</h2> <ul> <li>Initialization, condition checking, and increment or decrement of iteration variables are all done explicitly in the loop syntax only. In contrast, in the while loop, we can only initialise and check the condition in the loop syntax.</li> <li>When we know the number of iterations that must occur in a loop execution, we use the for loop. On the other hand, if we do not know how many iterations must occur in a loop, we use a while loop.</li> <li>If you do not include a condition statement in the for loop, the loop will loop indefinitely. In contrast, failing to include a condition statement in the while loop will result in a compilation error.</li> <li>The initialization statement in the for loop syntax is only executed once at the beginning of the loop. If the while loop&apos;s syntax includes an initialization statement, the initialization statement will be executed each time the loop iterates.</li> <li>The iteration statement in the for loop will run after the body of the for loop. On the contrary, because the iteration statement can be written anywhere in the body of the while loop, there may be some statements that execute after the iteration statement in the body of the while loop is executed.</li> </ul> <h2>Conclusion</h2> <p>Loops are thus a collection of commands that must be used in a specific order. If the loop structure is incorrect, the programming will display the syntax error. Loops run to obtain a result or to satisfy a condition or set of conditions. It is the foundation of all programming languages.</p> <p>During execution, the loop structure asks a question and executes until the answer is satisfactory. The same question is asked again and again until the new statement is applied. The looping process continues indefinitely until the programme reaches a breakpoint. In the event that the breaking point is not reached, the programme will crash.</p> <p>The for and while loops are both conditional statements. A for loop is a single-line command that will be executed repeatedly. While loops can be single-lined or contain multiple commands for a single condition.</p> <p>Both the for loop and the while loop are important in computer languages for obtaining results. The condition is met if the command syntax is correct.</p> <p>Both the for loop and the while loop are iteration statements, but they have distinct characteristics. The for loop declares everything (initialization, condition, iteration) at the top of the loop body. In contrast, only initialization and condition are at the top of the body of the loop in a while loop, and iteration can be written anywhere in the body of the loop.</p> <hr></10)>

En haut de la boucle, la variable de contrôle 'ch' est initialisée et l'état de la boucle est vérifié.

Remarque : S'il n'y a qu'une seule instruction dans le corps de la boucle, qu'il s'agisse d'une boucle for ou d'une boucle while, les accolades ne sont pas obligatoires.

En C, quelle est la différence entre une boucle for et un while ?

Paramètres Pour la boucle Boucle while
Déclaration pour (initialisation ; condition ; itération ) {
//corps de la boucle 'for'
}
initialisation
pendant que ( condition ) {
déclarations;
//corps de la boucle
}
Format. En haut de la boucle, les instructions d'initialisation, de vérification des conditions et d'itération sont écrites. En haut de la boucle, seules l'initialisation et la vérification des conditions sont effectuées.
Utiliser. La boucle 'for' n'était utilisée que lorsque le nombre d'itérations était déjà connu. Lorsque le nombre d'itérations est inconnu, la boucle « while » est utilisée.
Condition. Si la condition n’est pas incluse dans la boucle « for », la boucle itère indéfiniment. Si la condition n'est pas incluse dans la boucle 'while', une erreur de compilation se produit.
Initialisation L'initialisation n'est jamais répétée dans une boucle 'for'. Si l'initialisation est effectuée lors de la vérification des conditions dans une boucle while, l'initialisation est effectuée à chaque itération de la boucle.
Assertion d'itération Étant donné que l'instruction d'itération dans la boucle « for » est écrite en haut, elle ne s'exécute qu'après que toutes les instructions de la boucle ont été exécutées. L'instruction d'itération dans une boucle « while » peut être écrite n'importe où dans la boucle.

Les principales différences entre les boucles for et while

  • L'initialisation, la vérification des conditions et l'incrémentation ou la décrémentation des variables d'itération sont toutes effectuées explicitement dans la syntaxe de boucle uniquement. En revanche, dans la boucle while, nous pouvons uniquement initialiser et vérifier la condition dans la syntaxe de la boucle.
  • Lorsque l’on connaît le nombre d’itérations qui doivent se produire dans l’exécution d’une boucle, nous utilisons la boucle for. En revanche, si l’on ne sait pas combien d’itérations doivent avoir lieu dans une boucle, on utilise une boucle while.
  • Si vous n'incluez pas d'instruction de condition dans la boucle for, la boucle bouclera indéfiniment. En revanche, ne pas inclure une instruction de condition dans la boucle while entraînera une erreur de compilation.
  • L'instruction d'initialisation dans la syntaxe de la boucle for n'est exécutée qu'une seule fois au début de la boucle. Si la syntaxe de la boucle while inclut une instruction d'initialisation, l'instruction d'initialisation sera exécutée à chaque itération de la boucle.
  • L'instruction d'itération dans la boucle for s'exécutera après le corps de la boucle for. Au contraire, étant donné que l'instruction d'itération peut être écrite n'importe où dans le corps de la boucle while, certaines instructions peuvent s'exécuter après l'exécution de l'instruction d'itération dans le corps de la boucle while.

Conclusion

Les boucles sont donc un ensemble de commandes qui doivent être utilisées dans un ordre précis. Si la structure de la boucle est incorrecte, la programmation affichera l'erreur de syntaxe. Les boucles s'exécutent pour obtenir un résultat ou pour satisfaire une condition ou un ensemble de conditions. C'est le fondement de tous les langages de programmation.

Lors de l'exécution, la structure en boucle pose une question et s'exécute jusqu'à ce que la réponse soit satisfaisante. La même question est posée encore et encore jusqu'à ce que la nouvelle affirmation soit appliquée. Le processus de boucle se poursuit indéfiniment jusqu'à ce que le programme atteigne un point d'arrêt. Si le point de rupture n’est pas atteint, le programme plantera.

Les boucles for et while sont toutes deux des instructions conditionnelles. Une boucle for est une commande sur une seule ligne qui sera exécutée à plusieurs reprises. Les boucles While peuvent être sur une seule ligne ou contenir plusieurs commandes pour une seule condition.

Les boucles for et while sont toutes deux importantes dans les langages informatiques pour obtenir des résultats. La condition est remplie si la syntaxe de la commande est correcte.

Les boucles for et while sont des instructions d'itération, mais elles ont des caractéristiques distinctes. La boucle for déclare tout (initialisation, condition, itération) en haut du corps de la boucle. En revanche, seules l'initialisation et la condition se trouvent en haut du corps de la boucle dans une boucle while, et l'itération peut être écrite n'importe où dans le corps de la boucle.