C-bedingte Anweisung: IF, IF Else und verschachteltes IF Else mit Beispiel

Was ist eine bedingte Anweisung in C?

Bedingte Anweisungen in C Mithilfe der Programmierung werden Entscheidungen auf der Grundlage der Bedingungen getroffen. Bedingte Anweisungen werden nacheinander ausgefรผhrt, wenn es keine Bedingung fรผr die Anweisungen gibt. Wenn Sie eine Bedingung fรผr einen Anweisungsblock festlegen, kann sich der Ausfรผhrungsablauf je nach dem von der Bedingung ausgewerteten Ergebnis รคndern. Dieser Prozess wird in โ€žCโ€œ als Entscheidungsfindung bezeichnet.

In der C-Programmierung sind bedingte Anweisungen mit Hilfe der folgenden beiden Konstrukte mรถglich:

1. If-Anweisung

2. If-else-Anweisung

Es wird auch als Verzweigung bezeichnet, da ein Programm anhand des Ergebnisses der ausgewerteten Bedingung entscheidet, welche Anweisung ausgefรผhrt werden soll.

If-Anweisung

Es ist eine der mรคchtigsten bedingten Anweisungen. Die If-Anweisung ist fรผr die ร„nderung des Ausfรผhrungsflusses eines Programms verantwortlich. Die If-Anweisung wird immer mit einer Bedingung verwendet. Die Bedingung wird zuerst ausgewertet, bevor eine Anweisung im Hauptteil von If ausgefรผhrt wird. Die Syntax fรผr die if-Anweisung lautet wie folgt:

 if (condition) 
     instruction;

Die Bedingung wird entweder als wahr oder falsch ausgewertet. True ist immer ein Wert ungleich Null und False ist ein Wert, der Null enthรคlt. Anweisungen kรถnnen eine einzelne Anweisung oder ein Codeblock sein, der in geschweifte Klammern {} eingeschlossen ist.

Das folgende Programm veranschaulicht die Verwendung der if-Konstruktion in der C-Programmierung:

#include<stdio.h>
int main()
{
	int num1=1;
	int num2=2;
	if(num1<num2)		//test-condition
	{
		printf("num1 is smaller than num2");
	}
	return 0;
}

Ausgang:

num1 is smaller than num2

Das obige Programm veranschaulicht die Verwendung der if-Konstruktion zum รœberprรผfen der Gleichheit zweier Zahlen.

If-Anweisung

  1. Im obigen Programm haben wir zwei Variablen mit num1 und num2 mit den Werten 1 bzw. 2 initialisiert.
  2. Dann haben wir if mit einem Testausdruck verwendet, um zu รผberprรผfen, welche Zahl die kleinste und welche die grรถรŸte ist. Wir haben im if-Konstrukt einen relationalen Ausdruck verwendet. Da der Wert von num1 kleiner als num2 ist, wird die Bedingung als wahr ausgewertet.
  3. Daher wird die Anweisung innerhalb des If-Blocks gedruckt. Danach verlรคsst die Steuerung den Block und das Programm wird mit einem erfolgreichen Ergebnis beendet.

Relational Operatoren

C verfรผgt รผber sechs relationale Operatoren, mit denen sich zur Entscheidungsfindung und zum Testen von Bedingungen ein Boolescher Ausdruck formulieren lรคsst, der true oder false zurรผckgibt:

< weniger als

<= kleiner oder gleich

> grรถรŸer als

>= grรถรŸer oder gleich

== gleich

!= ungleich

Beachten Sie, dass sich der Gleichheitstest (==) vom Zuweisungsoperator (=) unterscheidet, da die Verwechslung beider Operatoren eines der hรคufigsten Probleme darstellt, mit denen ein Programmierer konfrontiert wird.

Beispielsweise:

int x = 41;
x =x+ 1;
if (x == 42) {
   printf("You succeed!");}

Ausgang:

 You succeed

Beachten Sie, dass eine Bedingung, die einen Wert ungleich Null ergibt, als wahr gilt.

Beispielsweise:

int present = 1;
if (present)
  printf("There is someone present in the classroom \n");

Ausgang:

There is someone present in the classroom

Die If-Else-Anweisung

Die If-Else-Anweisung

Die if-else is-Anweisung ist eine erweiterte Version von If. Die allgemeine Form von if-else ist wie folgt:

if (test-expression)
{
    True block of statements
}
Else
{
    False block of statements
}
Statements;

Wenn bei diesem Konstrukttyp der Wert von test-expression wahr ist, wird der wahre Anweisungsblock ausgefรผhrt. Wenn der Wert von test-expression falsch ist, wird der falsche Anweisungsblock ausgefรผhrt. In jedem Fall wird die Kontrolle nach der Ausfรผhrung automatisch auf die Anweisungen รผbertragen, die auรŸerhalb des If-Blocks stehen.

Die folgenden Programme veranschaulichen die Verwendung der if-else-Konstruktion:


Wir initialisieren eine Variable mit einem Wert und schreiben ein Programm, um festzustellen, ob der Wert kleiner als zehn oder grรถรŸer als zehn ist.

Lasst uns beginnen.

#include<stdio.h>
int main()
{
	int num=19;
	if(num<10)
	{
		printf("The value is less than 10");
	}
	else
	{
		printf("The value is greater than 10");
	}
	return 0;
}

Ausgang:

The value is greater than 10

Die If-Else-Anweisung

  1. Wir haben eine Variable mit dem Wert 19 initialisiert. Wir mรผssen mit einem โ€žCโ€œ-Programm herausfinden, ob die Zahl grรถรŸer oder kleiner als 10 ist. Dazu haben wir das if-else-Konstrukt verwendet.
  2. Hier haben wir eine Bedingung num<10 angegeben, da wir unseren Wert mit 10 vergleichen mรผssen.
  3. Wie Sie sehen, ist der erste Block immer ein wahrer Block. Das heiรŸt, wenn der Wert von test-expression wahr ist, wird der erste Block, der If ist, ausgefรผhrt.
  4. Der zweite Block ist ein else-Block. Dieser Block enthรคlt die Anweisungen, die ausgefรผhrt werden, wenn der Wert des Testausdrucks falsch wird. In unserem Programm ist der Wert von num grรถรŸer als zehn, daher wird die Testbedingung falsch und der else-Block wird ausgefรผhrt. Daher wird unsere Ausgabe von einem else-Block stammen, der โ€žDer Wert ist grรถรŸer als 10โ€œ lautet. Nach dem if-else wird das Programm mit einem erfolgreichen Ergebnis beendet.

In der C-Programmierung kรถnnen wir mehrere if-else-Konstrukte ineinander verwenden, was als Verschachtelung von if-else-Anweisungen bezeichnet wird.

Bedingte Ausdrรผcke

Es gibt eine andere Mรถglichkeit, eine if-else-Anweisung auszudrรผcken, indem Sie Folgendes einfรผhren ?: Operator. In einem bedingten Ausdruck ist der ?: Der Operator hat nur eine Anweisung, die mit โ€žifโ€œ und โ€želseโ€œ verknรผpft ist.

Beispielsweise:

#include <stdio.h>
int main() {
  int y;
  int x = 2;
   y = (x >= 6) ?  6 : x;/* This is equivalent to:  if (x >= 5)    y = 5;  else    y = x; */
   printf("y =%d ",y);
  return 0;}

Ausgang:

y =2

Verschachtelte If-else-Anweisungen

Wenn eine Reihe von Entscheidungen erforderlich sind, wird verschachteltes if-else verwendet. Unter Verschachtelung versteht man die Verwendung eines if-else-Konstrukts innerhalb eines anderen.

Schreiben wir ein Programm, um die Verwendung von verschachtelten if-else-Funktionen zu veranschaulichen.

#include<stdio.h>
int main()
{
	int num=1;
	if(num<10)
	{
		if(num==1)
		{
			printf("The value is:%d\n",num);
		}
		else
		{
			printf("The value is greater than 1");
		}
	}
	else
	{
		printf("The value is greater than 10");
	}
	return 0;
}

Ausgang:

The value is:1

Das obige Programm prรผft, ob eine Zahl kleiner oder grรถรŸer als 10 ist und gibt das Ergebnis mithilfe eines verschachtelten if-else-Konstrukts aus.

Verschachtelte If-else-Anweisungen

  1. Zuerst haben wir eine Variable num mit dem Wert 1 deklariert. Dann haben wir das if-else-Konstrukt verwendet.
  2. Im รคuรŸeren if-else prรผft die bereitgestellte Bedingung, ob eine Zahl kleiner als 10 ist. Wenn die Bedingung wahr ist, dann und nur dann, wird sie ausgefรผhrt innere Schleife. In diesem Fall ist die Bedingung wahr, daher wird der innere Block verarbeitet.
  3. Im inneren Block haben wir wieder eine Bedingung, die prรผft, ob unsere Variable den Wert 1 enthรคlt oder nicht. Wenn eine Bedingung erfรผllt ist, wird der If-Block verarbeitet, andernfalls ein else-Block. In diesem Fall ist die Bedingung erfรผllt, daher wird der If-Block ausgefรผhrt und der Wert auf dem Ausgabebildschirm gedruckt.
  4. Das obige Programm gibt den Wert von a aus Variable und mit Erfolg beenden.

Versuchen Sie, den Wert der Variablen zu รคndern und sehen Sie, wie sich das Programm verhรคlt.

Anmerkungen: Bei verschachtelten if-else-Anweisungen mรผssen wir mit der Einrรผckung vorsichtig sein, da an diesem Prozess mehrere if-else-Konstrukte beteiligt sind, sodass es schwierig wird, einzelne Konstrukte herauszufinden. Die richtige Einrรผckung erleichtert das Lesen des Programms.

Verschachtelte Else-if-Anweisungen

Verschachtelte else-if-Anweisungen werden verwendet, wenn Multipath-Entscheidungen erforderlich sind.

Die allgemeine Syntax fรผr den Aufbau von Other-If-Kontaktplรคnen in der C-Programmierung lautet wie folgt:

 if (test - expression 1) {
    statement1;
} else if (test - expression 2) {
    Statement2;
} else if (test - expression 3) {
    Statement3;
} else if (test - expression n) {
    Statement n;
} else {
    default;
}
Statement x;

Diese Art von Struktur wird als Sonst-Wenn-Leiter bezeichnet. Diese Kette sieht im Allgemeinen wie eine Leiter aus, daher wird sie auch als Sonst-Wenn-Leiter bezeichnet. Die Testausdrรผcke werden von oben nach unten ausgewertet. Immer wenn ein echter Testausdruck gefunden wird, wird die damit verbundene Anweisung ausgefรผhrt. Wenn alle n Testausdrรผcke falsch werden, wird die standardmรครŸige else-Anweisung ausgefรผhrt.

Sehen wir uns die tatsรคchliche Funktionsweise mit Hilfe eines Programms an.

#include<stdio.h>
int main()
{
	int marks=83;
	if(marks>75){
		printf("First class");
	}
	else if(marks>65){
		printf("Second class");
	}
	else if(marks>55){
		printf("Third class");
	}
	else{
		printf("Fourth class");
	}
	return 0;
}

Ausgang:

First class

Das obige Programm druckt die Note entsprechend den in einem Test erzielten Noten aus. Wir haben im obigen Programm das else-if-Leiterkonstrukt verwendet.

Verschachtelte Else-if-Anweisungen

  1. Wir haben eine Variable mit Markierungen initialisiert. In der Else-If-Leiterstruktur haben wir verschiedene Bedingungen bereitgestellt.
  2. Der Wert aus den Variablenmarkierungen wird mit der ersten Bedingung verglichen, da die damit verbundene Aussage wahr ist und auf dem Ausgabebildschirm gedruckt wird.
  3. Erweist sich die erste Testbedingung als falsch, wird sie mit der zweiten Bedingung verglichen.
  4. Dieser Vorgang wird so lange fortgesetzt, bis alle Ausdrรผcke ausgewertet sind. Andernfalls verlรคsst die Steuerung die Else-If-Leiter und die Standardanweisung wird gedruckt.

Versuchen Sie, den Wert zu รคndern, und bemerken Sie die ร„nderung in der Ausgabe.

Zusammenfassung

  • Entscheidungs- oder Verzweigungsanweisungen werden verwendet, um einen Pfad basierend auf dem Ergebnis des ausgewerteten Ausdrucks auszuwรคhlen.
  • Sie werden auch als Steueranweisungen bezeichnet, da sie den Ausfรผhrungsfluss eines Programms steuern.
  • โ€žCโ€œ stellt if-, if-else-Konstrukte fรผr Entscheidungsanweisungen bereit.
  • Wir kรถnnen if-else auch ineinander verschachteln, wenn mehrere Pfade getestet werden mรผssen.
  • Die Else-If-Leiter wird verwendet, wenn wir basierend auf dem Ergebnis des Ausdrucks verschiedene Mรถglichkeiten prรผfen mรผssen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: