mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-05-19 12:50:59 +00:00
translated control structures to German
This commit is contained in:
parent
ea00cc1fda
commit
dcf628e286
@ -287,4 +287,89 @@ int main (int argc, char** argv){
|
||||
// - Shift um einen Offset, welcher >= die Breite des linken Ausdrucks ist.
|
||||
// int a = 1 << 32; // undefiniertes Verhalten, wenn int 32-Bit ist.
|
||||
|
||||
////////////////////////////////////////////////
|
||||
// Kontrollstrukturen
|
||||
////////////////////////////////////////////////
|
||||
if (0) {
|
||||
printf("Ich werde nie ausgeführt.");
|
||||
}
|
||||
else if (0){
|
||||
printf("Ich werde auch nie ausgeführt.");
|
||||
}
|
||||
else {
|
||||
printf("Ich gebe etwas aus.");
|
||||
}
|
||||
|
||||
// While-Schleifen existieren auch
|
||||
int ii = 0;
|
||||
while (ii < 10){ // JEDER Wert unter zehn ist wahr
|
||||
printf("%d, " ii++); //i++ inkrementiert ii NACHDEM der Wert gebraucht wurde.
|
||||
} // => gibt folgendes aus: "0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "
|
||||
|
||||
printf("\n");
|
||||
|
||||
int kk = 0;
|
||||
do {
|
||||
printf("%d, ", kk);
|
||||
} while(++kk < 10); //++kk inkrementiert kk BEVOR der Wert gebraucht wurde.
|
||||
// => gibt folgendes aus: "0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "
|
||||
|
||||
printf("\n");
|
||||
|
||||
// In C gibt es auch for-Schleifen
|
||||
int jj;
|
||||
for (jj = 0; jj < 10; jj++){
|
||||
printf("%d, ", jj);
|
||||
} // => gibt folgendes aus: "0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "
|
||||
|
||||
printf("\n");
|
||||
|
||||
// **Merke**
|
||||
// Schleifen und Funktionen müssen einen Body haben. Wenn kein Body gebraucht
|
||||
// wird, kann folgendes gemacht werden:
|
||||
int i;
|
||||
for (i = 0; i <= 5; i++){
|
||||
; // Semikolon wird als Body behandelt (Null-Anweisung)
|
||||
}
|
||||
// Alternativ kann auch folgendes geschrieben werden:
|
||||
for (i = 0; i <= 5; i++);
|
||||
|
||||
// Verzweigungen mit mehreren Möglichkeiten: `switch()`
|
||||
switch (a){
|
||||
case 0: //labels müssen integrale *konstante* Ausdrücke sein (z.B. Enums)
|
||||
printf("Hey, 'a' ist gleich 0!\n");
|
||||
break; //Wenn du kein break einsetzt, so geht der Kontrollfluss durch die Labels
|
||||
case 1:
|
||||
printf("Huh, 'a' ist gleich 1!\n");
|
||||
break;
|
||||
// Sei vorsichtig - wenn man das `break` vergisst, werden alle Anweisungen
|
||||
// ausgeführt bis das nächste `break` erscheint.
|
||||
case 3:
|
||||
case 4:
|
||||
printf("Schau mal ... 'a' ist entweder 3 oder 4.\n");
|
||||
break;
|
||||
default:
|
||||
// wenn der Ausdruck `a` auf kein Label zutrifft.
|
||||
fputs("Fehler!\n", stderr);
|
||||
exit(-1);
|
||||
break;
|
||||
}
|
||||
|
||||
// Verwendung von "goto" in C
|
||||
typedef enum { false, true } bool;
|
||||
bool desaster = false;
|
||||
int i, j;
|
||||
for(i=0; i < 100; ++i){
|
||||
for (j=0; j < 100; ++j){
|
||||
if ((i + j ) >= 150){
|
||||
desaster = true;
|
||||
}
|
||||
if (desaster){
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
}
|
||||
error:
|
||||
printf("Ein Fehler ist aufgetreten bei i = %d & j ? %d\n", i, j);
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user