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 des folgenden Befehls möglichwing zwei Konstrukte:

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.

Following Das Programm veranschaulicht die Verwendung des if-Konstrukts 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 des if-Konstrukts zur Überprüfung 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.

Vergleichsoperatoren

C verfügt über sechs relationale Operatoren, mit denen ein boolescher Ausdruck zum Treffen einer Entscheidung und zum Testen von Bedingungen formuliert werden kann, 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 dies eines der häufigsten Probleme ist, mit denen ein Programmierer konfrontiert wird, wenn er sie verwechselt.

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.

Following Programme veranschaulichen die Verwendung des if-else-Konstrukts:


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 die ?: Der Operator hat nur eine Anweisung, die mit dem if und dem 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 wahr ist, wird der andere If-Block verarbeitetwise Es wird ein else-Block verarbeitet. In diesem Fall ist die Bedingung wahr, daher wird ein 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 fortgesetzt, bis der Ausdruck „all“ anders ausgewertet istwise Die Steuerung verlässt 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.