Gewusst wie: Erstellen eine If Else-Anweisung in C

March 5

Die If Else Anweisung ist das einzelne wichtigste Programm-Konstrukt in C und, da Sie erstellen und verwenden Sie es in nahezu jedem Programm, es ist auch der Ort, die Sie am wahrscheinlichsten auf Probleme stoßen.

Anweisungen

Erstellen Sie die If Else-Anweisung

1 Beginnen Sie mit den Grundlagen. Die grundlegende Struktur jeder If Else-Anweisung in C hat dieses Format:

Wenn (Bedingung) Aktion;

2 Halteblech Ihre Aktion richtig. Die Aktion kann einen einzelnen Befehl, oder öfter eine Reihe von Befehlen, in geschweiften Klammern.

Erstellen Sie die Bedingung

3 Erkennen Sie, dass eine Bedingung ist nichts, die 0 (False) zurückgibt, oder irgendetwas anderes (wahr).

4 Wissen Sie, dass die häufigste Art ein Vergleich zwischen Variablen oder Werte ist:== Gleichheit! = Ungleichheit> größer als< weniger als> = größer als oder gleich< = kleiner oder gleich

5 Numerische und Charakter-Typen zu vergleichen, wenn Sie so wählen, aber seien Sie vorsichtig: Zeichen vergleichen, basierend auf den Zeichensatz auf diesem System, und das kann irgendwann auf einem anderen Betriebssystem unterschiedlich sein.

6 Versuchen Sie nicht, Arrays oder Strukturen direkt zu vergleichen. Stattdessen schreiben Sie eine Funktion, die den Vergleich durchführen wird.

7 Verstehen Sie, dass standard-C-Bibliotheken solche Funktionen für Zeichenfolgen enthalten. Strcmp(), stricmp() und strncmp() () zu sehen.

8 Verwenden Sie die Zuordnung den Wert zurückgegeben, der zugewiesen wurde.

Wenn ((X = malloc(100)) == NULL) abort(); Von malloc() zurückgegebene Wert ist sowohl in x gespeichert und im Vergleich zu NULL, den Code übersichtlicher zu machen.

9 Ein bewährtes Verfahren verwenden: Es ist üblich, haben Funktionen zurück 1 bei Erfolg und 0 bei einem Fehlschlag, und verwenden Sie sie als eine Bedingung.

10 Erkennen Sie, dass in C, alles, was einen Wert hat, so etwas kann die Bedingung. Zum Beispiel ist ein Vergleich auf 0 in der Regel überflüssig.

Wenn (x) Printf ("X ist nicht Zero\n");

Kombinieren und Bedingungen zu ändern

11 Verwendung der! (nicht) Operator zu negieren oder umkehren, eine Bedingung.

Wenn (! X) Printf ("X is Zero\n");

12 Nutzung & & (und) und || (oder) Bedingungen logisch zu kombinieren. & & erfordert beide Bedingungen zutreffen; true || ist true, wenn entweder eine ist.

13 Verwenden Sie Klammern, um Steuern, wie die Bedingungen ausgewertet werden.

Wenn (X == 5 und y == 6 oder Z == 7) ist nicht eindeutig;

Wenn ((X == 5 und y == 6) oder Z == 7) ist klar.

14 C Beschränkungen nutzen. C wird immer die Teile ergeben ein & & oder || von links nach rechts, und die Auswertung einmal abgebrochen, kennt sie die Antwort. Verwenden Sie diese zu Ihrem Vorteil. Zum Beispiel

Wenn (X und * X) verhindert Laufzeitfehler, für den Fall, dass X NULL ist, da C Bewertung vor der Dereferenzierung aufgehört haben.

Andere Klauseln hinzufügen

15 Hinzufügen eine alternative Aktion mag, wenn die Bedingung false ist, indem Sie einfach das Wort, die sonst nach der Aktion, dann eine andere Aktion, also:

Wenn (Bedingung) Aktion; andere Maßnahmen;

16 Wissen Sie, dass beide Aktionen können, und in der Regel sind, ganze Gruppen von Befehlen, die in geschweiften Klammern wie folgt enthalten:

Wenn (Bedingung) {}Dinge zu tun;} else {}andere Dinge zu tun;}

17 Erkennen Sie, dass es üblich, dass die Else-Anweisung eine weitere wenn enthalten, um das Recht eines aus einer ganzen Reihe von Fällen zu wählen. Betrachten Sie Folgendes Beispiel:

Wenn (X < = 80) {}Grad = 'C';} elseif (X < = 90) {}Grad = 'B';} else {}Grad = 'A';}

Tipps & Warnungen

  • Setzen Sie die geschweiften Klammern in, selbst wenn nicht benötigt, für Klarheit.
  • Vorsicht vor Einzug, das macht es so aussehen, wie mehrere Codezeilen in einer oder der andere Zweig des If Else-Konstrukts fallen. C ignoriert Einzug.
  • Denken Sie daran, == ist für Vergleich und = ist für die Zuordnung. Wenn Sie das zweite Symbol vergessen haben, wird Ihr Vergleich tatsächlich den Wert ändern!