C-Sprache: Schleifenanweisung (Logikdiagramm)

Zyklusprofil

Im Leben wiederholen wir jeden Tag viele der gleichen Dinge oder leben unser Leben regelmäßig. Wir können und können diese Art von sich wiederholenden Dingen in der C-Sprache erreichen.
Die C-Sprache bietetDrei AusführungsschleifenanweisungenDies sind:
while-Schleifenanweisung
für Schleifenanweisung

do...while-Schleifenanweisung

Schleifenunterstützung: Pause und Weiterfahren

In einem Schleifenprogramm, wann immer wir wollenÜberspringen Sie einen unerwünschten Teil einer Anweisung in einer Schleife in einem zyklischen Programmkönnen Sie diesen Teil der Anweisung verwendenVorderseiteFügen Sie continue hinzu, um diese Ausführung zu beenden und zur nächsten Schleifenanweisung zu springen.
Wenn wir das Schleifenprogramm plötzlich ausführenIch möchte aus diesem Kreislauf ausbrechen, dann bewerbenbrechen.
In der Schleifenanweisung verwenden wir häufig die if-Anweisung, um zu beurteilen, ob aus dieser Schleife oder aus diesem Schleifenprogramm herausgesprungen werden soll, also wird es unterbrochen und fortgefahrenMit if-Anweisung verwenden.
Spezifische Vorgänge finden Sie weiter unten.

while-Anweisung

Grammatische Strukturen

         while(表达式)
         循环语句;

In Ausdrücken verwenden wir oftrelationaler Ausdruck, also ein Vergleich zwischen Werten. wenn Ausdruck =Bedingung ist wahr(ungleich Null) Willeimplementierendas Programm,FALSCH(Null) wirdherausspringenDas Schleifenprogramm.
Fügen Sie hier eine Bildbeschreibung ein

Beispiel

Drucken Sie 1-10

#include <stdio.h>
int main()
{
    
    
 int i = 1;
 while(i<=10)
 {
    
    
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

Ergebnis:
Fügen Sie hier eine Bildbeschreibung ein
i wird nach jeder Schleife um 1 erhöht, wenn esmehr als 10später wirdherausspringenDie Schleifenanweisung.

BewerbenWeiter

Schauen Sie sich diesen Code an. Was ist der Unterschied zur obigen Ausführung?

#include <stdio.h>
int main()
{
    
    
 int i = 1;
 while(i<=10)
 {
    
    
 if(i == 5)
 continue;
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

Ergebnis:
Fügen Sie hier eine Bildbeschreibung ein

Wenn wir i auf 5 erhöhen, führen wir continue aus, überspringen die folgende Anweisung und wiederholen dies, also das Schleifenprogrammhat eine Schleife gemacht, aber es wird übersprungen, bis fortgefahren wird, sodass die Zahl größer als 4 nicht gedruckt wird und der Cursor weiter blinkt.

Pause anwenden

Der folgende Code wird ausgeführt. Was ist der Unterschied zwischen dem Ergebnis und dem Fortfahren?

#include <stdio.h>
int main()
{
    
    
 int i = 1;
 while(i<=10)
 {
    
    
 if(i == 5)
break;
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

Ergebnis:
Fügen Sie hier eine Bildbeschreibung ein
Es scheint dasselbe zu sein wie das Ausführungsergebnis von continue, aber tatsächlich kommt das Programm ani ist gleich 5 und ist aus der Schleife gesprungenLassen Sie sich von den tatsächlichen Druckergebnissen nicht verwirren. Aufmerksame Leser werden natürlich feststellen, dass einer einen blinkenden Cursor hat und der andere nicht.

zur Aussage

Grammatische Strukturen

 for(表达式1; 表达式2; 表达式3)
     循环语句;

Ausdruck 1: Initialisierung
Ausdruck 2: Steuerausdruck
Ausdruck 3: Abschlussverarbeitung

Die for-Anweisung ist eine Schleifenanweisung, die die drei Bedingungen Initialisierung, Bedingungsbeurteilung und iterative Aktualisierung kombiniert. In vielen Szenarien ist die Verwendung der for-Anweisung prägnanter und einfacher lesen.
Fügen Sie hier eine Bildbeschreibung ein

Beispiel

#include <stdio.h>
int main()
{
    
    
 int i = 0;
 for(i=1; i<=10; i++)
 {
    
    
 printf("%d ", i);
 }
 return 0;
}

Ergebnis:
Fügen Sie hier eine Bildbeschreibung ein
Das Ausführungsergebnis der obigen while-Anweisung ist dasselbe, aber die for-Anweisung wurde geändert.

BewerbenWeiter

Es ist dasselbe wie die Fortsetzung von while oben, aber wenn die for-Anweisung geändert wird, ist das Ausführungsergebnis dasselbe?

#include <stdio.h>
int main()
{
    
    
 int i = 0;
 for(i=1; i<=10; i++)
 {
    
    
    if(i==5)
    continue;
 printf("%d ", i);
 }
 return 0;
}

Ergebnis:
Fügen Sie hier eine Bildbeschreibung ein
Es kann festgestellt werden, dass das gedruckte Ergebnis darin besteht, dass 1-10 keine 5 enthält, was sich vom obigen Ergebnis unterscheidet. Das ist weilWenn i gleich 5 ist, überspringen Sie die folgende printf-Anweisung und führen Sie dann i++(Ausdruck 3) aus.Wenn also i ungleich 5 ist, wird die continue-Anweisung übersprungen und die folgende Anweisung ausgeführt. (Das i++ von while oben ist in der folgenden Anweisung continue enthalten, sodass die Schleife weiterläuft.)

Pause anwenden

Der Wandel bricht weiter

#include <stdio.h>
int main()
{
    
    
 int i = 0;
 for(i=1; i<=10; i++)
 {
    
    
    if(i==5)
    break;
 printf("%d ", i);
 }
 return 0;
}

Ergebnis:
Fügen Sie hier eine Bildbeschreibung ein
Das Ergebnis ist das gleiche wie bei der while-Ausführung.
Tatsächlich, solange die Syntax der for-Anweisung und die Syntax der while-Anweisung kombiniert werdenLogik implementieren, ist es leicht, den Unterschied zwischen den beiden zu erkennen.

zum Nisten

Der folgende Code gibt aus, wie viele hehe

#include <stdio.h>
int main()
{
    
    
    int i = 0;
    int j = 0;
    for(i=0; i<10; i++)
   {
    
    
        for(j=0; j<10; j++)
       {
    
    
        printf("hehe\n");
       }
   }
 return 0;
}

Ergebnis:
100 hehes
führen das zweite for im ersten for aus, das zweite for muss 10 Mal ausgeführt werden, bevor es aus dem Schleifenprogramm springt, dann führt das erste for die zweite Schleife aus und das zweite for führt die Schleife 10 Mal aus, und So weiter, schließlich werden 10 * 10 Mal von hehe gedruckt, das heißt, die Verschachtelung führt 100 Sekunden lang for-Schleifen aus.

do while-Anweisung

Grammatische Strukturen

 do
循环语句;
while(表达式);

Ein Merkmal der do while-Anweisung ist FolgendesFühren Sie zuerst die Schleife ausBeurteilen Sie dann, ob der while-Ausdruck die Anforderungen erfüllt, also unabhängig von der Bedingung die Schleifenanweisungmindestens einmal
Fügen Sie hier eine Bildbeschreibung ein

Beispiel

#include <stdio.h>
int main()
{
    
    
 int i = 1;
 do
 {
    
    
 printf("%d ", i);
        i=i+1;
 }while(i<=10);
 return 0;
}

Ergebnis:
Fügen Sie hier eine Bildbeschreibung ein
In vielen Fällen stimmt die Ausführung der do while-Anweisung mit der von while überein, sodass sie weniger verwendet wird.
Es wird im Allgemeinen in mindestens einer Schleifenbedingung verwendet

Ende

Welche Schleifenanweisung besser geeignet ist, muss anhand spezifischer Probleme analysiert werden. Im Allgemeinen führt die Verwendung von while und for zum gleichen Ergebnis. Dies hängt hauptsächlich davon ab, welche Sie gewohnt sind. NatürlichVerstehen Sie die Logik von Schleifenanweisungen klarist das Wichtigste, damit die Schleifenanweisung in verschiedenen Situationen richtig verwendet werden kann.

Supongo que te gusta

Origin blog.csdn.net/m0_74068921/article/details/130358286
Recomendado
Clasificación