Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C Bedingte Anweisung:IF, IF Else und Nested IF Else mit Beispiel

Was ist eine bedingte Anweisung in C?

Bedingte Anweisungen in C Programmierung werden verwendet, um Entscheidungen basierend auf den Bedingungen zu treffen. Bedingte Anweisungen werden nacheinander ausgeführt, wenn keine Bedingung um die Anweisungen steht. Wenn Sie eine Bedingung für einen Anweisungsblock angeben, kann sich der Ausführungsablauf basierend auf 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 zwei 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.

In diesem Tutorial lernen Sie-

If-Anweisung

Es ist eine der mächtigen bedingten Anweisungen. Die If-Anweisung ist für die Änderung des Ausführungsablaufs eines Programms verantwortlich. If-Anweisung wird immer mit einer Bedingung verwendet. Die Bedingung wird zuerst ausgewertet, bevor eine Anweisung innerhalb des Körpers 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 von geschweiften Klammern { } eingeschlossen ist.

Das folgende 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;
}

Ausgabe:

num1 is smaller than num2

Das obige Programm veranschaulicht die Verwendung des if-Konstrukts, um die Gleichheit zweier Zahlen zu prüfen.

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

Relationale Operatoren

C hat sechs relationale Operatoren, die verwendet werden können, um einen booleschen Ausdruck zum Treffen einer Entscheidung und zum Testen von Bedingungen zu formulieren, der wahr oder falsch zurückgibt:

<=kleiner oder gleich

> größer als

>=größer oder gleich

==gleich

!=ungleich

Beachten Sie, dass sich der Gleichheitstest (==) vom Zuweisungsoperator (=) unterscheidet, da es eines der häufigsten Probleme ist, mit denen ein Programmierer konfrontiert wird, wenn er sie verwechselt.

Zum Beispiel:

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

Ausgabe :

 You succeed

Denken Sie daran, dass eine Bedingung, die einen Wert ungleich Null ergibt, als wahr betrachtet wird.

Zum Beispiel:

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

Ausgabe :

There is someone present in the classroom

Die If-Else-Anweisung

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

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

Bei diesem Konstrukttyp wird der wahre Anweisungsblock ausgeführt, wenn der Wert von test-expression wahr ist. 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 erscheinen.

Die folgenden Programme veranschaulichen die Verwendung des if-else-Konstrukts:

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

Fangen wir an.

#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;
}

Ausgabe:

The value is greater than 10

  1. Wir haben eine Variable mit dem Wert 19 initialisiert. Ob die Zahl größer oder kleiner als 10 ist, müssen wir mit einem ‚C‘-Programm herausfinden. Dazu haben wir das if-else-Konstrukt verwendet.
  2. Hier haben wir eine Bedingung num<10 angegeben, weil wir unseren Wert mit 10 vergleichen müssen.
  3. Wie Sie sehen können, ist der erste Block immer ein True-Block, was bedeutet, 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 sonst wird block ausgeführt. Daher wird unsere Ausgabe von einem Else-Block stammen, der „Der Wert ist größer als 10“ lautet. Nach if-else wird das Programm mit einem erfolgreichen Ergebnis beendet.

In der C-Programmierung können wir mehrere if-else-Konstrukte ineinander verwenden, die als Verschachtelung von if-else-Anweisungen bezeichnet werden.

Bedingte Ausdrücke

Es gibt eine andere Möglichkeit, eine if-else-Anweisung auszudrücken, indem Sie ?: einführen Operator. In einem bedingten Ausdruck ist das ?: Der Operator hat nur eine Anweisung, die dem if und dem else zugeordnet ist.

Zum Beispiel:

#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;}

Ausgabe :

y =2

Verschachtelte If-else-Anweisungen

Wenn eine Reihe von Entscheidungen erforderlich ist, wird verschachteltes if-else verwendet. Verschachteln bedeutet, ein if-else-Konstrukt innerhalb eines anderen zu verwenden.

Lassen Sie uns ein Programm schreiben, um die Verwendung von verschachtelten if-else 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;
}

Ausgabe:

The value is:1

Das obige Programm prüft, ob eine Zahl kleiner oder größer als 10 ist und gibt das Ergebnis unter Verwendung eines verschachtelten if-else-Konstrukts aus.

  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 dann und nur dann wahr ist, wird die innere Schleife ausgeführt. 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 If-Block verarbeitet, andernfalls wird ein Else-Block verarbeitet. In diesem Fall ist die Bedingung wahr, also wenn ein Block ausgeführt wird und der Wert auf dem Ausgabebildschirm ausgegeben wird.
  4. Das obige Programm gibt den Wert einer Variablen aus und wird erfolgreich beendet.

Versuchen Sie, den Wert der Variablen zu ändern, um zu sehen, wie sich das Programm verhält.

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

Verschachtelte Else-if-Anweisungen

Nested else-if wird verwendet, wenn Multipath-Entscheidungen erforderlich sind.

Die allgemeine Syntax, wie Else-if-Leitern in der C-Programmierung aufgebaut sind, 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 ist als Else-if-Leiter bekannt. Diese Kette sieht im Allgemeinen wie eine Leiter aus, daher wird sie auch als Else-if-Leiter bezeichnet. Die Testausdrücke werden von oben nach unten ausgewertet. Immer wenn ein wahrer Testausdruck gefunden wird, wird die ihm zugeordnete Anweisung ausgeführt. Wenn alle n Test-Ausdrücke falsch werden, wird die Standard-else-Anweisung ausgeführt.

Lassen Sie uns die tatsächliche Arbeit mit Hilfe eines Programms sehen.

#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;
}

Ausgabe:

First class

Das obige Programm druckt die Note gemäß den in einem Test erzielten Noten. Wir haben das Else-if-Leiterkonstrukt im obigen Programm verwendet.

  1. Wir haben eine Variable mit Markierungen initialisiert. In der Sonst-wenn-Leiterstruktur haben wir verschiedene Bedingungen bereitgestellt.
  2. Der Wert aus den variablen Markierungen wird mit der ersten Bedingung verglichen, da er wahr ist, wird die damit verbundene Aussage auf dem Ausgabebildschirm ausgegeben.
  3. Ergibt sich die erste Testbedingung als falsch, wird sie mit der zweiten Bedingung verglichen.
  4. Dieser Prozess wird fortgesetzt, bis der all-Ausdruck ausgewertet ist, andernfalls verlässt die Steuerung die Else-if-Leiter und es wird eine Standardanweisung ausgegeben.

Versuchen Sie, den Wert zu ändern, und beachten Sie die Änderung in der Ausgabe.

Zusammenfassung


C Sprache

  1. C#-Ausdrücke, -Anweisungen und -Blöcke (mit Beispielen)
  2. C# if, if...else, if...else if und verschachtelte if-Anweisung
  3. C++ if, if...else und Nested if...else
  4. C if...else-Anweisung
  5. Java if...else-Anweisung
  6. Operatoren in C++ mit Beispiel:Was ist, Typen und Programme
  7. C++ Switch Case-Anweisung mit BEISPIEL
  8. C++-Struktur mit Beispiel
  9. std::list in C++ mit Beispiel
  10. Unterschied zwischen Struktur und Klasse:Erklärt mit C++-Beispiel