Heim > Artikel > Backend-Entwicklung > Was ist die Verwendung von „for“ in der C-Sprache?
Die Verwendung von for in der C-Sprache ist:
Die allgemeine Form der for-Schleifenanweisung ist:
for (表达式1; 表达式2; 表达式3) { 语句; }
Zuerst Vor allem sollten zwei Dinge hervorgehoben werden:
1) Ausdruck 1, Ausdruck 2 und Ausdruck 3 werden durch Semikolons getrennt. Schreiben Sie sie niemals als Kommas.
2) Fügen Sie nach for (Ausdruck 1; Ausdruck 2; Ausdruck 3) niemals ein Semikolon hinzu. Viele Anfänger werden diesen Fehler machen – sie können nicht anders, als danach ein Semikolon hinzuzufügen.
Weil die for-Schleife nur eine Anweisung danach steuern kann und in der C-Sprache das Semikolon auch eine Anweisung ist – eine leere Anweisung. Wenn Sie also am Ende ein Semikolon hinzufügen, kann die for-Schleife nur dieses Semikolon steuern, und die Anweisungen in den geschweiften Klammern unten gehören nicht zur for-Schleife.
Werfen wir einen Blick auf den Ausführungsprozess:
Lösen Sie Ausdruck 1.
Lösen Sie Ausdruck 2. Wenn der Wert wahr ist, führen Sie die in der for-Anweisung angegebene eingebettete Anweisung aus und führen Sie dann Schritt 3 aus. Wenn der Wert von Ausdruck 2 falsch ist, beenden Sie die Schleife und fahren Sie mit Schritt 5 fort.
Lösen Sie Ausdruck 3.
Gehen Sie zurück zu Schritt 2 oben und fahren Sie fort.
Die Schleife endet und die Anweisungen unterhalb der for-Anweisung werden ausgeführt.
Aus diesem Ausführungsprozess ist ersichtlich, dass „Ausdruck 1“ nur einmal ausgeführt wird und die Schleife zwischen „Ausdruck 2“, „Ausdruck 3“ und „eingebetteter Anweisung“ durchgeführt wird dazwischen raus.
Die einfachste Form der for-Anweisung ist:
for (循环变量赋初值; 循环条件; 循环变量增值) { 语句; }
Lassen Sie mich ein Programm schreiben, mit dem Sie die Summe von 1+2+3+4+…+100 ermitteln können.
# include <stdio.h> int main(void) { int i; int sum = 0; //sum的英文意思是“总和” for (i=1; i<=100; ++i) //++是自加的意思, ++i相当于i = i + 1 { sum = sum + i; /*等价于sum += i;但是不建议这么写, 因为sum = sum + i看起来更清楚、更舒服*/ } printf("sum = %d\n", sum); return 0; }
Das Ausgabeergebnis ist:
sum = 5050
Die Funktion dieses Programms besteht darin, die Summe von 1+2+3+4+…+100 zu ermitteln Wenn man es einmal hinzufügt, ist eine Anweisung erforderlich. Wenn man es 100 Mal addiert, erhält man 100 Anweisungen. Hier wird von 1 bis 100 addiert. Wenn von 1 bis 10.000 addiert wird, sind 10.000 Anweisungen erforderlich. Aber eine Schleife zu haben ist sehr praktisch. Sie können so viel hinzufügen, wie Sie möchten, indem Sie nur einen Parameter ändern. Daher ist die Durchblutung wichtig.
Sehen wir uns an, wie das obige Programm gemäß dem Ausführungsprozess ausgeführt wird.
1. Definieren Sie zunächst eine Schleifenvariable i. Sie müssen ihm beim Definieren keinen Anfangswert zuweisen. Sie können ihm auch in der for-Schleife einen Anfangswert zuweisen. Aber wie bereits erwähnt, ist es am besten, die Variable beim Definieren zu initialisieren. Wenn der Wert unsicher ist, initialisieren Sie ihn auf 0. Daher können Sie i beim Definieren im Programm auch einen Anfangswert zuweisen. Dann kann „Ausdruck 1“ in der for-Schleife weggelassen werden, das Semikolon kann jedoch nicht weggelassen werden.
Überspringen Sie in diesem Fall bei der Ausführung Schritt 1 und fahren Sie direkt mit Schritt 2 fort und lassen Sie alles andere unverändert. Daher kann das Programm auch wie folgt geschrieben werden:
# include <stdio.h> int main(void) { int i = 1; int sum = 0; for (; i<=100; ++i) { sum = sum + i; } printf("sum = %d\n", sum); return 0; }
Natürlich kann man auch Ausdruck 1 hinzufügen, im schlimmsten Fall muss man aber den Wert neu zuweisen.
2. Definieren Sie dann eine Variable sum zum Speichern von „sum“, weisen Sie ihr einen Anfangswert von 0 zu und geben Sie dann die for-Schleife ein:
Lösen Sie zuerst den Ausdruck 1, das heißt, weisen Sie der Variablen i einen Anfangswert zu, i = 1; Ausdruck 1 wird dieses Mal nur ausgeführt und nicht erneut ausgeführt.
Dann lösen Sie Ausdruck 2. Wenn 1<=100 wahr ist, führen Sie die Inline-Anweisung in der for-Schleife aus, d. h. sum=0+1.
Dann wird Schritt 3 ausgeführt, die Variable i erhöht sich um 1, das heißt, die Variable i ändert sich von 1 auf 2.
Lösen Sie dann den Ausdruck 2. Wenn 2<=100 wahr ist, führen Sie die eingebettete Anweisung in der for-Schleife aus, sum=0+1+2.
Führen Sie dann Schritt 3 aus, die Variable i erhöht sich um 1, das heißt, die Variable i ändert sich von 2 auf 3.
Dann lösen Sie Ausdruck 2, das heißt, wenn 3<=100 wahr ist, dann führen Sie die eingebettete Anweisung in der for-Schleife aus, sum=0+1+2+3.
......
Schleifen Sie einfach so weiter, bis ++i gleich 100 ist, lösen Sie Ausdruck 2, also 100< ;= 100 wird erstellt, dann wird die eingebettete Anweisung in der for-Schleife ausgeführt, sum=0+1+2+3+…+100.
Dann wird Schritt 3 ausgeführt, die Variable i erhöht sich um 1, d. h. die Variable i ändert sich von 100 auf 101. Lösen Sie dann Ausdruck 2. Wenn also 101 < = 100 nicht wahr ist, beenden Sie die Schleife und führen Sie die Anweisung unterhalb der for-Schleife aus, nämlich printf.
Das Obige ist der Ausführungsprozess dieses Programms. Was das Problem der Codestandardisierung von for-Anweisungen betrifft, möchte ich Sie auf zwei Punkte hinweisen:
1) if, else, for, while und do können nur eine nachfolgende Anweisung steuern, wenn Sie möchten Mehrere Steueranweisungen müssen in geschweifte Klammern {} eingeschlossen werden. Basierend auf der Code-Standardisierung muss jedoch {} zu den Ausführungsanweisungen nach if, else, for, while hinzugefügt werden, und zwar unabhängig von der Anzahl der Zeilen, auch wenn nur eine Zeile vorhanden ist.
2) Schlüsselwörter wie if, for, while usw. sollten ein Leerzeichen hinterlassen und dann auf die linke Klammer ( (, um das Schlüsselwort hervorzuheben.
Darüber hinaus gibt es noch eine weitere Erkenntnis Lassen Sie mich Ihnen Folgendes sagen: Funktionell kann for(i=1; i<=100;++i)
als for(i=1; i<101; ++i)
geschrieben werden, und es wird empfohlen, diese Schreibmethode zu verwenden. Mit anderen Worten, die Schleifenbedingung der Schleifenanweisung sollte als halboffene und halbgeschlossene Schleife geschrieben werden, unabhängig davon, ob es sich um eine for-Schleife oder eine for-Schleife handelt
for(i=1; i<101; ++i)
实际上是 1≤i<101
,是半开半闭的;而for(i=1; i<=100; ++i)
实际上是 1≤i≤100
,是全闭的。那么为什么建议使用半开半闭的呢?因为如果写成 i<=100 的话,那么每次判断的时候都要判断两次,即 i<100 和 i==100,而写成 i<101 的话每次只需要判断一次。
下面再给大家写一个程序,求 1 到 100 之间所有奇数的和。
# include <stdio.h> int main(void) { int i; int sum = 0 ; for (i=1; i<100; i+=2) //i+=2;等价于i = i + 2; { sum = sum + i; } printf("sum = %d\n", sum); return 0; }
输出结果是:
sum = 2500
推荐教程:《C视频教程》
Das obige ist der detaillierte Inhalt vonWas ist die Verwendung von „for“ in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!