Maison développement back-end Tutoriel C#.Net Une boucle for exécute-t-elle d'abord l'instruction du corps de la boucle, puis évalue-t-elle l'expression ?

Une boucle for exécute-t-elle d'abord l'instruction du corps de la boucle, puis évalue-t-elle l'expression ?

Jul 23, 2020 pm 02:53 PM
for循环

Non, la boucle for juge d'abord l'expression puis exécute l'instruction du corps de la boucle. La forme générale est "for (expression 1; expression 2; expression 3) {loop body}" ; exécutez d'abord "expression 1" puis exécutez "expression 2", si sa valeur est vraie (non-0), puis exécutez le corps de la boucle, sinon terminez la boucle ; exécutez "expression 3" après avoir exécuté le corps de la boucle.

Une boucle for exécute-t-elle d'abord l'instruction du corps de la boucle, puis évalue-t-elle l'expression ?

La forme générale d'une boucle for est :

for(表达式1; 表达式2; 表达式3){
    语句块
}
Copier après la connexion

Son processus d'exécution est :

1) Exécutez d'abord "Expression 1".

2) Exécutez ensuite "expression 2". Si sa valeur est vraie (non-0), alors exécutez le corps de la boucle, sinon terminez la boucle.

3) Exécutez "expression 3" après avoir exécuté le corps de la boucle.

4) Répétez les étapes 2) et 3) jusqu'à ce que la valeur de "expression 2" soit fausse, puis terminez la boucle.

Dans les étapes ci-dessus, 2) et 3) sont une boucle et seront exécutées à plusieurs reprises. La fonction principale de l'instruction for est d'exécuter en continu les étapes 2) et 3).

"Expression 1" n'est exécutée que lors de la première boucle et ne sera plus exécutée à l'avenir. Cela peut être considéré comme une instruction d'initialisation. "Expression 2" est généralement une expression relationnelle, qui détermine s'il faut continuer la boucle suivante, appelée "condition de boucle". "Expression 3" est souvent une expression avec une opération d'incrémentation ou de décrémentation, de sorte que la condition de boucle devient progressivement "faux".

Le processus d'exécution de la boucle for peut être représenté par la figure suivante :

Une boucle for exécute-t-elle dabord linstruction du corps de la boucle, puis évalue-t-elle lexpression ?

Analysons « calculer le addition de 1 au code "somme de 100":

#include <stdio.h>
int main(){
    int i, sum=0;
    for(i=1; i<=100; i++){
        sum+=i;
    }
    printf("%d\n",sum);
    return 0;
}
Copier après la connexion

Résultat d'exploitation:

5050
Copier après la connexion

Analyse du code:

1) Lors de l'exécution de l'instruction for, attribuez d'abord une valeur initiale à i 1. Déterminez si i<=100 est vrai car i=1 et i<=100 sont vrais à ce moment, le corps de la boucle est exécuté ; Une fois l’exécution du corps de la boucle terminée (la valeur de sum est 1), i++ est à nouveau calculé.

2) Lors de la deuxième boucle, la valeur de i est 2, i<=100 est établi et le corps de la boucle continue d'être exécuté. Une fois l’exécution du corps de la boucle terminée (la valeur de sum est 3), i++ est à nouveau calculé.

3) Répétez l'étape 2) jusqu'à la 101ème boucle. À ce moment, la valeur de i est 101, et i<=100 n'est pas vrai, donc la boucle se termine.

De là, nous pouvons résumer la forme générale de la boucle for :

for(初始化语句; 循环条件; 自增或自减){
    语句块
}
Copier après la connexion

Les trois expressions dans la boucle for

" dans la boucle for "Expression 1 (condition d'initialisation)", "Expression 2 (condition de boucle)" et "Expression 3 (auto-incrémentation ou auto-décrémentation)" sont toutes facultatives et peuvent être omises (mais le point-virgule ; doit être conservé).

1) Modifiez le code pour "somme de 1 à 100" et omettez "expression 1 (condition d'initialisation)" :

int i = 1, sum = 0;
for( ; i<=100; i++){
    sum+=i;
}
Copier après la connexion

Comme vous pouvez le voir, déplacez i=1 vers pour en dehors de la boucle.

2) "Expression 2 (condition de boucle)" est omise. Si aucun autre traitement n'est effectué, elle deviendra une boucle infinie. Par exemple :

for(i=1; ; i++) sum=sum+i;
Copier après la connexion

équivaut à :

i=1;
while(1){
    sum=sum+i;
    i++;
}
Copier après la connexion

La boucle dite infinie signifie que la condition de boucle est toujours vraie et que la boucle continuera et ne se terminera jamais. Les boucles infinies sont très préjudiciables au programme et doivent être évitées.

3) Si "expression 3 (auto-incrémentation ou auto-décrémentation)" est omise, les variables dans "expression 2 (condition de boucle)" ne seront pas modifiées. Dans ce cas, des variables modifiées peuvent être ajoutées. à l'instruction du corps de la boucle. Par exemple :

for( i=1; i<=100; ){
    sum=sum+i;
    i++;
}
Copier après la connexion

4) "Expression 1 (instruction d'initialisation)" et "Expression 3 (auto-incrémentation ou auto-décrémentation)" sont omises. Par exemple :

for( ; i<=100 ; ){
    sum=sum+i;
    i++;
}
Copier après la connexion

équivaut à :

while(i<=100){
    sum=sum+i;
    i++;
}
Copier après la connexion

5) 3 expressions peuvent être omises en même temps. Par exemple :

for( ; ; )  语句
Copier après la connexion

est équivalent à :

while(1)  语句
Copier après la connexion

6) "Expression 1" peut être une instruction d'initialisation ou d'autres instructions. Par exemple :

for( sum=0; i<=100; i++ )  sum=sum+i;
Copier après la connexion

7) "Expression 1" et "Expression 3" peuvent être une expression simple ou une expression virgule.

for( sum=0,i=1; i<=100; i++ )  sum=sum+i;
Copier après la connexion

ou :

for( i=0,j=100; i<=100; i++,j-- )  k=i+j;
Copier après la connexion

8) "Expression 2" est généralement une expression relationnelle ou une expression logique, mais elle peut aussi être une valeur numérique ou un caractère du moment que sa valeur est. différent de zéro, le corps de la boucle sera exécuté. Par exemple :

for( i=0; (c=getchar())!=&#39;\n&#39;; i+=c );
Copier après la connexion

Autre exemple :

for( ; (c=getchar())!=&#39;\n&#39; ; )
    printf("%c",c);
Copier après la connexion

Recommandations associées : "Tutoriel en langage C"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser PHP pour trouver des nombres impairs inférieurs à 100 Comment utiliser PHP pour trouver des nombres impairs inférieurs à 100 Dec 23, 2022 pm 06:54 PM

Étapes de mise en œuvre : 1. Utilisez la plage de contrôle de l'instruction for pour parcourir les nombres de 1 à 100, la syntaxe est "for ($i = 1; $i <= 100; $i++) {code du corps de la boucle}" ; le corps de la boucle, utilisez simplement l'instruction if et l'opérateur "%" pour obtenir et afficher des nombres impairs. La syntaxe est "if($i % 2 != 0){echo $i ";}".

Quel est l'ordre d'exécution de la boucle for en PHP Quel est l'ordre d'exécution de la boucle for en PHP Sep 22, 2021 pm 06:24 PM

Séquence d'exécution : 1. Exécutez « l'expression d'initialisation » ; 2. Exécutez « l'expression de jugement conditionnel ». Si la valeur de l'expression est vraie, exécutez le « corps de la boucle » ; corps, exécutez « Expression de mise à jour de variable » ; 4. Une fois la variable mise à jour, entrez dans la boucle suivante jusqu'à ce que la valeur du jugement de condition soit fausse, mettant ainsi fin à la boucle.

MySQL a-t-il une boucle for ? MySQL a-t-il une boucle for ? Mar 30, 2023 pm 08:26 PM

MySQL n'a pas de boucle for. MySQL ne prend pas en charge les instructions de boucle. Il ne prend en charge que trois instructions de boucle : WHILE, REPEAT et LOOP. MySQL fournit des instructions de boucle, vous permettant d'exécuter à plusieurs reprises un bloc de code SQL en fonction de conditions.

Comment utiliser la boucle for en Python Comment utiliser la boucle for en Python Oct 25, 2023 pm 12:18 PM

Comment utiliser la boucle for en Python Python est un langage de programmation simple et facile à utiliser, et la boucle for est l'un des outils les plus couramment utilisés. En utilisant des boucles for, nous pouvons parcourir une série de données, effectuer des traitements et des opérations efficaces et améliorer l'efficacité du code. Ci-dessous, je vais vous présenter comment utiliser la boucle for en Python à travers des exemples de code spécifiques. Syntaxe de base de la boucle for En Python, la syntaxe d'une boucle for est la suivante : variable for dans un objet itérable :

Apprentissage en boucle JS : utilisation des instructions de boucle for (exemples détaillés) Apprentissage en boucle JS : utilisation des instructions de boucle for (exemples détaillés) Aug 03, 2022 pm 06:45 PM

Dans l'article précédent "Apprentissage des boucles JS : utilisation des instructions de boucle While (exemples détaillés)", nous avons brièvement découvert les boucles while et les boucles do while, et aujourd'hui nous présenterons une autre boucle - l'instruction de boucle for, j'espère que ce sera le cas. utile à tout le monde.

Gestion de grands tableaux dans Go : utiliser for range ou for loop ? Gestion de grands tableaux dans Go : utiliser for range ou for loop ? Jul 24, 2023 pm 02:47 PM

Nous savons que la syntaxe de Go est relativement concise. Il ne fournit pas de syntaxe de contrôle de boucle telle que while, do... while, etc. prise en charge par C, mais ne conserve qu'une seule instruction, la boucle for.

Comment séparer les nombres pairs et impairs dans un tableau en utilisant la boucle for en langage C ? Comment séparer les nombres pairs et impairs dans un tableau en utilisant la boucle for en langage C ? Aug 25, 2023 pm 03:09 PM

Un tableau est un groupe d’éléments de données associés stockés sous un seul nom. Par exemple, intStudent[30];//student est un nom de tableau, une collection de 30 éléments de données contenant un seul nom de variable Recherche opérationnelle de tableau - utilisée pour savoir si un élément spécifique existe en tri - elle aide à organiser les éléments dans le tableau par ordre croissant ou Trier par ordre décroissant. Traversal - Il traite chaque élément du tableau de manière séquentielle. Insertion - Cela aide à insérer des éléments dans un tableau. Supprimer - Cela aide à supprimer des éléments d'un tableau. éléments du tableau. La logique pour trouver des nombres pairs dans un tableau est la suivante - for(i=0;i<size;i++){ if(a[i]%2==0){

Comment utiliser la boucle for pour implémenter l'opération flip en langage Go Comment utiliser la boucle for pour implémenter l'opération flip en langage Go Mar 24, 2024 pm 02:15 PM

Titre : Comment utiliser les boucles for pour implémenter des opérations de retournement en langage Go. Dans le langage Go, vous pouvez facilement retourner des structures de données telles que des tableaux et des tranches en utilisant des boucles for. Dans cet article, nous présenterons comment utiliser les boucles for pour retourner des tableaux et des tranches, et donnerons des exemples de code spécifiques. Opération de retournement d'un tableau Voyons d'abord comment retourner un tableau via une boucle for. Nous définissons un tableau contenant des éléments entiers et le retournons à l'aide d'une boucle for. packagemain

See all articles