C-Sprache – Branch-Anweisung_Studiennotizen

Übersicht über die Filialerklärung

Die Funktion der Verzweigungsanweisung:

Wird verwendet, um verschiedene Codeblöcke basierend auf bestimmten Bedingungen auszuführen. Sie steuern den Programmablauf und ermöglichen Entwicklern die Wahl zwischen verschiedenen Optionen.
Durch die Verwendung von Verzweigungsanweisungen wird das Programm flexibler und kann sich an unterschiedliche Situationen und Bedürfnisse anpassen.

Klassifizierung von Zweiganweisungen

if-Anweisung

Die if-Anweisung ist eine der am häufigsten verwendeten Verzweigungsanweisungen. Die grundlegende Syntax lautet wie folgt:

Wenn es nur zwei Ergebnisse gibt

if (判断条件)
 {
    
    
 条件为真时需要进行的操作
}
else
{
    
    
不满足判断条件时要进行的操作
}

Verschachtelung von if

if(表达式1)
	{
    
    语句1;}
	if(表达式2)
		{
    
    语句2;}
		if ......

Mehrzweigige Situation von if

if (表达式1)
	{
    
    语句1;}
else if (表达式2)
	{
    
    语句2;}
else 
	{
    
    语句3;}

Die else-Anweisung wird im Allgemeinen in Verbindung mit der if-Anweisung verwendet. Sie können die else-Anweisung je nach Situation auch weglassen. Zusammenfassend lässt sich sagen: Wenn es eine if-Anweisung gibt, muss es nicht unbedingt eine else-Anweisung geben; wenn es jedoch eine else-Anweisung gibt, muss es eine entsprechende if-Anweisung geben.

Fehleranfällige Wissenspunkte

Matching-Problem zwischen else und if
Wenn es mehrere Wenn- und Sonst-Werte gibt, können Sie sich an diese Regel erinnern: Sonst stimmt immer mit dem nächstgelegenen Wenn überein.
Zum Beispiel:

#include <stdio.h>
int main()
{
    
    
 int a = 0;
 int b = 2;
 if(a == 1)
	 if(b == 2)
 		printf("hehe\n");
 else
 	printf("haha\n");
 return 0;
}

Ausgabeergebnis: Es wird nichts ausgegeben.
Fügen Sie hier eine Bildbeschreibung ein
Viele Anfänger kommen zu dem Schluss, dass a 0 und nicht gleich 1 ist, führen dann die else-Klausel aus und drucken haha. Tatsächlich ist das falsch. Schreiben Sie den Code standardisierter und fügen Sie Klammern hinzu, damit er viel klarer wird. wie folgt:

#include <stdio.h>
int main()
{
    
    
	int a = 0;
	int b = 2;
	if (a == 1)
	{
    
    
		if (b == 2)
			printf("hehe\n");
		else
			printf("haha\n");
	}
	return 0;
}

Oder wenn wir möchten, dass else tatsächlich mit dem ersten if übereinstimmt, können wir den Code wie folgt ändern:

#include <stdio.h>
int main()
{
    
    
	int a = 0;
	int b = 2;
	if (a == 1)
	{
    
    
		if (b == 2)
			printf("hehe\n");
	}
	else
	{
    
    
		printf("haha\n");
	}
	return 0;
}

Ausgabeergebnisse:
Fügen Sie hier eine Bildbeschreibung ein
Hier werden wir daran erinnert, dass wir Code auf standardisierte Weise schreiben müssen.Der Einzug sollte eingerückt und die Klammern hinzugefügt werden., was die Logik unseres Codes klarer und lesbarer machen kann.

switch-Anweisung

Die switch-Anweisung wird verwendet, um verschiedene Codeblöcke basierend auf unterschiedlichen Bedingungen auszuführen. Es wird häufig verwendet, um mehrere if-Anweisungen zu ersetzen, um den Code prägnanter zu gestalten. Die grundlegende Syntax der switch-Anweisung lautet wie folgt:

switch (expression_整形表达式)
 {
    
    
  case 整形常量表达式1:
    语句1;
    break;
  case 整形常量表达式1:
    语句2;
    break;
  default:
    语句3;
    break;
}

In der Switch-Anweisung muss dem Switch ein ganzzahliger Ausdruck folgen, der zum Abgleichen verschiedener Groß-/Kleinschreibungsbezeichnungen verwendet wird. Wenn der Wert von expression mit dem Wert einer Fallbezeichnung übereinstimmt, wird der entsprechende Codeblock ausgeführt. Wenn kein passendes Case-Tag vorhanden ist, wird der Codeblock im Standard-Tag ausgeführt.

Fehleranfällige Wissenspunkte

In der switch-Anweisung wird break weggelassen

In der switch-AnweisungNur mit Pause kann die Verzweigung wirklich realisiert werden., springt das Programm nur dann aus der Switch-Anweisung heraus, wenn es auf eine Pause stößt. Wenn keine Break-Anweisung vorhanden ist, wird das Programm weiter ausgeführt.
Zum Beispiel:
Fügen Sie hier eine Bildbeschreibung ein

Wenn 7 durch 3 dividiert wird, ist der Rest 1, aber das Ergebnis der Programmausführung ist eine zusätzliche gedruckte Zeile mit der Aufschrift „Rest ist 2“. Aus diesem Grund wird break nicht hinzugefügt. Vergessen Sie also nicht, beim Schreiben einer Switch-Anweisung eine Pause einzulegen.

In der Switch-Anweisung ist die Fehlereingabeerinnerung standardmäßig

Fügen Sie den Eingabewert, der unseren Anforderungen nicht entspricht, in die Standardanweisung ein, um sicherzustellen, dass wir Feedback erhalten. Zum Beispiel:

#include <stdio.h>
int main()
{
    
    
    int day ;
    scanf("%d", &day);
    switch (day)
    {
    
    
    case 1:
        printf("星期一\n");
        break;
    case 2:
        printf("星期二\n");
        break;
    case 3:
        printf("星期三\n");
        break;
    case 4:
        printf("星期四\n");
        break;
    case 5:
        printf("星期五\n");
        break;
    case 6:
        printf("星期六\n");
        break;
    case 7:
        printf("星期天\n");
        break;
    default:
        printf("输入非法,请输入1-7的整数");
    }
    return 0;
}

Bei Eingabe von 0 lautet das Ausgabeergebnis:
Fügen Sie hier eine Bildbeschreibung ein

Bedingungsoperator (ternärer Operator, der drei Operanden enthält)

Der bedingte Operator (auch ternärer Operator genannt) ist eine weitere häufig verwendete Verzweigungsanweisung in der C-Sprache. Es wird verwendet, um einen Wert zurückzugeben, wenn die Bedingung wahr ist, und andernfalls einen anderen Wert. Die grundlegende Syntax bedingter Operatoren lautet wie folgt:

result = (condition) ? value1 : value2;

Wenn die Bedingung wahr ist, wird der Wert von Wert1 zurückgegeben, andernfalls wird der Wert von Wert2 zurückgegeben. Bedingungsoperatoren werden häufig verwendet, um den Code von if-Anweisungen zu vereinfachen.

Zum Beispiel:

int main()
{
    
    
	int a;
	int result;
	scanf("%d",&a);
	result = (1 == a) ? 2 : 3;
	printf("%d", result);
	return 0;
}

Eingang 1, Ausgang 2:
Fügen Sie hier eine Bildbeschreibung ein

Wenn Sie eine andere Zahl als 1 eingeben, wird 3 ausgegeben:
Fügen Sie hier eine Bildbeschreibung ein

Supongo que te gusta

Origin blog.csdn.net/yjagks/article/details/131969548
Recomendado
Clasificación