switch und case Anweisungen


Die switch Anweisung beschreibt eine Mehrfachauswahl. Ein Ausdruck wird einmal ausgewertet und mit Konstanten verglichen. Bei Gleichheit werden die Anweisungen, die nach der Konstante stehen, abgearbeitet. In switch Anweisungen kann man nur ordinale Datentypen (d.h. int, long int, char, etc.) verwenden.

Syntax


     switch( Ausdruck )
     {
        case  constant-Ausdruck1:	Anweisungs1;
        [case constant-Ausdruck2:	Anweisungs2;]    
        [case constant-Ausdruck3:	Anweisungs3;]
        [default : Anweisung_X]
     }

Sehen Sie sich das folgende Programmbeispiel an


     switch( Grade )
     {
        case 'A' : printf( "Excellent" );
        case 'B' : printf( "Good" );
        case 'C' : printf( "OK" );
        case 'D' : printf( "Mmmmm-.." );
        case 'F' : printf( "You must do better than this" );    
        default  : printf( "What is your grade anyway?" );
     }		

Wenn  'Grade' den Wert  'A' enthält, ergibt sich als Ausgabe,

     Excellent
     Good
     Mmmmm-..
     You must do better than this    
     What is your grade anyway?

d.h. eine switch Anweisung wird beginnend vom Eintrittspunkt bis zum Ende abgearbeitet. Mit dem Schlüsselwort break kann man ein vorzeitiges Ende festlegen. Das Programmbeispiel müßte man wie folgt verändern


     switch( Grade )
     {
        case 'A' : printf( "Excellent" 
              break;

        case 'B' : printf( "Good" );
	           break;

	case 'C' : printf( "OK" );
	           break;

        case 'D' : printf( "Mmmmm...." );
	           break;

	case 'F' : printf( "You must do better than this";   );    
	           break;

	default  : printf( "What is your grade anyway?" );
     }

 


Anfang Hauptindex Schlüsselwörter Funktionen

Übers.: G. Junghanns