C if ... else Anweisung

In diesem Tutorial lernen Sie anhand von Beispielen die if-Anweisung (einschließlich if… else und verschachtelt if… else) in der C-Programmierung kennen.

C if-Anweisung

Die Syntax der ifAnweisung in der C-Programmierung lautet:

 if (test expression) ( // statements to be executed if the test expression is true )

Wie funktioniert die Anweisung?

Die ifAnweisung wertet den Testausdruck in der Klammer aus ().

  • Wenn der Testausdruck als wahr ausgewertet wird, werden Anweisungen im Hauptteil von ifausgeführt.
  • Wenn der Testausdruck mit false bewertet wird, werden Anweisungen im Hauptteil von ifnicht ausgeführt.

Überprüfen Sie die relationalen und logischen Operatoren, um mehr darüber zu erfahren, wann der Testausdruck auf true (Wert ungleich Null) und false (0) ausgewertet wird.

Beispiel 1: if-Anweisung

 // Program to display a number if it is negative #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // true if number is less than 0 if (number < 0) ( printf("You entered %d.", number); ) printf("The if statement is easy."); return 0; )

Ausgabe 1

Geben Sie eine Ganzzahl ein: -2 Sie haben -2 eingegeben. Die if-Anweisung ist einfach.

Wenn der Benutzer -2 eingibt, number<0wird der Testausdruck mit true bewertet. Daher haben Sie -2 eingegeben und auf dem Bildschirm angezeigt.

Ausgabe 2

 Geben Sie eine Ganzzahl ein: 5 Die if-Anweisung ist einfach.

Wenn der Benutzer 5 eingibt, number<0wird der Testausdruck als falsch ausgewertet und die Anweisung im Hauptteil von ifwird nicht ausgeführt

C if… else Statement

Die ifAnweisung kann einen optionalen elseBlock haben. Die Syntax der if… elseAnweisung lautet:

 if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )

Wie wäre es, wenn… sonst eine Anweisung funktioniert?

Wenn der Testausdruck mit true bewertet wird,

  • Anweisungen innerhalb des Körpers von ifwerden ausgeführt.
  • Anweisungen im Hauptteil von elsewerden von der Ausführung übersprungen.

Wenn der Testausdruck mit false bewertet wird,

  • Anweisungen innerhalb des Körpers von elsewerden ausgeführt
  • Anweisungen im Hauptteil von ifwerden von der Ausführung übersprungen.

Beispiel 2: if… else-Anweisung

 // Check whether an integer is odd or even #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // True if the remainder is 0 if (number%2 == 0) ( printf("%d is an even integer.",number); ) else ( printf("%d is an odd integer.",number); ) return 0; )

Ausgabe

 Geben Sie eine Ganzzahl ein: 7 7 ist eine ungerade Ganzzahl.

Wenn der Benutzer 7 eingibt, number%2==0wird der Testausdruck mit false bewertet. Daher wird die Anweisung innerhalb des Körpers von elseausgeführt.

C wenn … sonst Leiter

Die if… elseAnweisung führt zwei verschiedene Codes aus, je nachdem, ob der Testausdruck wahr oder falsch ist. Manchmal muss eine Auswahl aus mehr als zwei Möglichkeiten getroffen werden.

Mit der if… else-Leiter können Sie zwischen mehreren Testausdrücken prüfen und verschiedene Anweisungen ausführen.

Syntax von if… else Ladder

 if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )

Beispiel 3: C if… else Ladder

 // Program to relate two integers using =,> or < symbol #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); //checks if the two integers are equal. if(number1 == number2) ( printf("Result: %d = %d",number1,number2); ) //checks if number1 is greater than number2. else if (number1> number2) ( printf("Result: %d> %d", number1, number2); ) //checks if both test expressions are false else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Ausgabe

 Geben Sie zwei Ganzzahlen ein: 12 23 Ergebnis: 12 <23

Verschachtelt, wenn … sonst

Es ist möglich, eine if… elseAnweisung in den Text einer anderen if… elseAnweisung aufzunehmen.

Beispiel 4: Verschachtelt, wenn… sonst

Dieses unten angegebene Programm bezieht sich auf zwei Ganzzahlen, die entweder verwendet <werden >und dem Beispiel =der if… elseLeiter ähneln . Wir werden jedoch eine verschachtelte if… elseAnweisung verwenden, um dieses Problem zu lösen.

 #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); if (number1>= number2) ( if (number1 == number2) ( printf("Result: %d = %d",number1,number2); ) else ( printf("Result: %d> %d", number1, number2); ) ) else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Wenn der Hauptteil einer if… elseAnweisung nur eine Anweisung enthält, müssen Sie keine Klammern verwenden ().

Zum Beispiel dieser Code

 if (a> b) ( print("Hello"); ) print("Hi");

ist äquivalent zu

 if (a> b) print("Hello"); print("Hi"); 

Interessante Beiträge...