C if...else-Anweisung
C if...else-Anweisung
In diesem Tutorial lernen Sie die if-Anweisung (einschließlich if...else und verschachteltes if..else) in der C-Programmierung anhand von Beispielen kennen.
Video:C if else-Anweisung
C if-Anweisung
Die Syntax von if
Anweisung in der C-Programmierung ist:
if (test expression)
{
// code
}
Wie funktioniert if-Anweisung?
Die if
-Anweisung wertet den Testausdruck innerhalb der Klammer ()
aus .
- Wenn der Testausdruck als wahr ausgewertet wird, Anweisungen innerhalb des Hauptteils von
if
werden ausgeführt. - Wenn der Testausdruck als falsch ausgewertet wird, Anweisungen innerhalb des Hauptteils von
if
werden nicht ausgeführt.
Um mehr darüber zu erfahren, wann der Testausdruck als wahr (Wert ungleich Null) und falsch (0) bewertet wird, überprüfen Sie relationale und logische Operatoren.
Beispiel 1:if-Anweisung
// Program to display a number if it is negative
#include <stdio.h>
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.\n", number);
}
printf("The if statement is easy.");
return 0;
}
Ausgang 1
Enter an integer: -2 You entered -2. The if statement is easy.
Wenn der Benutzer -2 eingibt, wird der Testausdruck number<0
wird als wahr bewertet. Daher
Du hast -2 eingegeben
wird auf dem Bildschirm angezeigt.
Ausgang 2
Enter an integer: 5 The if statement is easy.
Wenn der Benutzer 5 eingibt, wird der Testausdruck number<0
wird als falsch ausgewertet und die Anweisung innerhalb des Körpers von if
wird nicht ausgeführt
C if...else-Anweisung
Die if
-Anweisung kann einen optionalen else
haben Block. Die Syntax des if..else
Anweisung ist:
if (test expression) {
// run code if test expression is true
}
else {
// run code if test expression is false
}
Wie funktioniert if...else-Anweisung?
Wenn der Testausdruck als wahr ausgewertet wird,
- Anweisungen innerhalb des Hauptteils von
if
werden ausgeführt. - Anweisungen innerhalb des Hauptteils von
else
werden von der Ausführung übersprungen.
Wenn der Testausdruck als falsch ausgewertet wird,
- Anweisungen innerhalb des Hauptteils von
else
ausgeführt werden - Anweisungen innerhalb des Hauptteils von
if
werden von der Ausführung übersprungen.
Beispiel 2:if...else-Anweisung
// Check whether an integer is odd or even
#include <stdio.h>
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
Enter an integer: 7 7 is an odd integer.
Wenn der Benutzer 7 eingibt, wird der Testausdruck number%2==0
wird als falsch ausgewertet. Daher die Anweisung im Hauptteil von else
wird ausgeführt.
C if...else Leiter
Die if...else
-Anweisung führt zwei verschiedene Codes aus, je nachdem, ob der Testausdruck wahr oder falsch ist. Manchmal muss eine Auswahl aus mehr als 2 Möglichkeiten getroffen werden.
Mit der if...else-Leiter können Sie zwischen mehreren Testausdrücken prüfen und verschiedene Anweisungen ausführen.
Syntax der if...else-Leiter
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 Leiter
// Program to relate two integers using =, > or < symbol
#include <stdio.h>
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
Enter two integers: 12 23 Result: 12 < 23
Verschachtelt wenn...sonst
Es ist möglich, einen if...else
einzufügen -Anweisung innerhalb des Körpers eines anderen if...else
Erklärung.
Beispiel 4:Verschachteltes if...else
Dieses unten angegebene Programm verknüpft zwei Ganzzahlen mit entweder <
, >
und =
ähnlich dem if...else
Leiters Beispiel. Wir werden jedoch einen verschachtelten if...else
verwenden Anweisung zur Lösung dieses Problems.
#include <stdio.h>
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 Körper einer if...else
Anweisung hat nur eine Anweisung, Sie müssen keine Klammern {}
verwenden .
Zum Beispiel dieser Code
if (a > b) {
printf("Hello");
}
printf("Hi");
entspricht
if (a > b)
printf("Hello");
printf("Hi");
C Sprache