Wie die, wenn die Funktion in C-Programmierung zu verwenden

Die if Schlüsselwort in der Programmiersprache C wird verwendet, um Entscheidungen in Ihrem Code auf einfache Vergleiche basieren. Es ist das gleiche Konzept Menschen verwenden bei der Entscheidungsfindung auf der Grundlage der Frage # 147-was, wenn # 148?;

Hier ist das Basisformat:

ob(Auswertung) {sRKLÄRUNG-}

Das Auswertung ist ein Vergleich, eine mathematische Operation, das Ergebnis einer Funktion oder einem anderen Zustand. Wenn die Bedingung wahr ist, die Aussagen(oder Erklärungeingeschlossen), ansonsten in Klammern sind executed-, sind sie übersprungen.

  • Die Bewertung der if-Anweisung muss nicht mathematisch sein. Es kann einfach eine Funktion sein, die eine wahr oder falsch wert- zum Beispiel zurückgibt:

    if (ready ())

    Diese Aussage wertet die Rückkehr der bereit () Funktion. Wenn die Funktion einen wahren Wert zurückgibt, gehört, die Aussagen zu, wenn ausgeführt werden.

  • Alle Nicht-Null-Wert wird als in C. Null wahr ist falsch betrachtet. So ist diese Aussage immer wahr:

    wenn (1)

    Und diese Aussage ist immer falsch:

    if (0)
  • Sie wissen, ob eine Funktion einen Wert true oder false zurückgibt, indem die Funktion der Dokumentation zu lesen, oder Sie können ein wahr oder falsch Rückgabewert gesetzt, wenn Sie Ihre eigenen Funktionen schreiben.

  • Sie können keine Strings vergleichen if Vergleich verwendet wird. Stattdessen verwenden Sie bestimmte Zeichenfolge Vergleichsfunktionen.

  • Wenn nur eine Anweisung zu einem gehört, wenn Vergleich sind die Klammern optional.

Übung 1: Geben Sie den Code aus einem einfachen Vergleich, das Entfernen der Klammern vor und nach der Linie 12. Aufbau und Betrieb, um sicherzustellen, dass es immer noch funktioniert.

Ein einfacher Vergleich

# include int main () {int a, b = 6-b = a - 2-if (a> b) {printf ( "% d größer als% d n", a, b) -} return (0 ) -}

Wie Werte auf verschiedene Weise zu vergleichen

Die Sprache C verwendet einen kleinen Zug der mathematischen Vergleichsoperatoren.

OperatorBeispielwahr, wenn
!=a! = ba nicht gleich b ist
lt;ein lt; ba kleiner als b
le;ein lt; = ba kleiner oder gleich b ist
==a == ba gleich b
>a> ba größer als b
> =a> = ba größer als oder gleich b ist

Vergleiche in C Arbeit von links nach rechts, so dass Sie lesen a> = b wie . # 147-a größer oder gleich b # 148- Auch die Reihenfolge ist wichtig: Sowohl> = und lt; = muss in dieser Reihenfolge geschrieben werden, so muss die = (ungleich) Operator!. Der == Operator kann so oder so geschrieben werden.

Werte werden

# include int main () {int ersten, zweiten printf ( "Geben Sie den ersten Wert:") -scanf ( "% d", zuerst) -printf ( "Input der zweite Wert:") -scanf ( "% d" , Sekunde) -puts ( "Bewertung ...") - if (firstsecond) {printf ( "% d größer als% d n", erste, zweite) -} return (0) -}

Übung 2: Erstellen Sie ein neues Projekt, indem Sie den Quellcode mit in den Werten, die verglichen werden. Erstellen und ausführen.

Die häufigste Vergleich ist wahrscheinlich das doppelte Gleichheitszeichen. Es mag euch seltsam aussehen. Der Operator == ist nicht der gleiche wie der Operator =. Der = Operator ist der Aufgabenverwalter, die Werte setzt. Der Operator == ist die Vergleichsoperator, die überprüft, um zu sehen, ob zwei Werte gleich sind. (Siehe Get # 147-gleich # 148- in den Kopf.)

Aussprechen == als # 147 ist gleich # 148.

Übung 3: Fügen Sie einen neuen Abschnitt in den Quellcode von Werte verglichen, die eine abschließende Bewertung macht, ob beide Variablen sind einander gleich.

BEKOMMEN # 147-GLEICH # 148- in den Kopf

#include #define SECRET 17int main () {int guess-printf ( "Können Sie die Geheimnummer erraten:") -scanf ( "% d", erraten) -wenn (erraten == SECRET) {puts ( "Sie haben es erraten ") - return (0) -} if (erraten = SECRET) {puts ("! falsch! ") - Rückkehr (1) -}}

Übung 4: Geben Sie den Quellcode von Get # 147-gleich # 148- in den Kopf in einen neuen Code :: Blocks Projekt. Erstellen und ausführen.

Beachten Sie den Wert, der durch das Programm zurückgegeben - entweder 0 für eine richtige Antwort oder 1 für eine falsche Antwort. Sie können diesen Rückgabewert im Code :: Blocks Ausgabefenster zu sehen.

Der Unterschied zwischen = und == in der C-Programmierung

Einer der häufigsten Fehler, die von jeder Programmiersprache C Programmierer gemacht - Anfänger und Profi - ein einzelnes Gleichheitszeichen anstelle eines Doppel in einer if Vergleich verwendet.

IMMER WAHR

# include int main () {int a-a = 5-if (a = -3) {printf ( "% d entspricht% d n", eine, -3) -} return (0) -}

Übung 5: Geben Sie den Quellcode in Immer wahr in ein neues Projekt gezeigt. Führen Sie das Programm.

Die Ausgabe kann man rätseln.

-3 ist gleich -3

Das stimmt, ist es nicht? Aber was ist passiert?

Ganz einfach: In Zeile 9, variable ein wird der Wert zugewiesen -3. Da diese Aussage innerhalb der Klammern ist, ist es zuerst ausgewertet. Das Ergebnis einer Variablenzuweisung in C gilt immer für alle Nicht-Null-Wert.

Übung 6: Ändern Sie den Quelltext von Immer wahr, so dass eine doppelte Gleichheitszeichen oder # 147 ist gleich, # 148- wird anstelle des einzelnen Gleichheitszeichen in dem, wenn Vergleich verwendet.

Wo das Semikolon in der C-Programmierung zu setzen

Semikolons Boo-Boo basiert auf Immer wahr, unter Ausnutzung der Tatsache, dass C nicht eine einzige Anweisung erfordern eine Zugehörigkeit wenn der Vergleich zwischen geschweiften Klammern eingelegt werden.

SEMIKOLON BOO-BOO

# include int main () {int a, b-a = 5-b = -3-if (a == b) -printf ( "% d gleich% d n", a, b) -return (0) -}

Übung 7: Geben Sie vorsichtig den Quellcode von Semikolons Boo-Boo. Achten Sie besonders auf Linie 10. Stellen Sie sicher, dass Sie es in genau eingeben, mit dem Semikolon am Ende der Zeile. Erstellen Sie das Projekt.

Hier ist die Ausgabe:

5 ist gleich -3

Das Problem hier ist ein allgemeines, ein von fast jedem C-Programmierer von Zeit zu Zeit Fehler: Die hintere Semikolon (Linie 10) sagt dem Programm, dass die if-Anweisung nichts zu tun hat, wenn die Bedingung erfüllt ist. Das ist, weil ein einzelnes Semikolon eine vollständige Erklärung in C ist, wenn auch eine Null-Aussage. Nämlich:

if (Bedingung) -

Dieses Konstrukt ist grundsätzlich die gleiche wie Linie 10. Achten Sie darauf, nicht den gleichen Fehler zu machen - vor allem, wenn Sie Code eine Menge eingeben und Sie verwendet, um eine Zeile mit einem Semikolon zu beenden.

Menü