Skript zum Teil D

Werbung
while - Schleife
Teil D:
Allgemeine Syntax:
Schleifen
while ( Ausdruck )
Anweisung;
while - Schleife
do - while - Schleife
for - Schleife
oder
while ( Ausdruck )
{
Block mit Anweisungen
}
03.002.03
03.007.01
Beispiel while - Schleife
/* Programm b0300702
/* Beispiel while-Anweisung
Beispiel while - Schleife
/* Programm b0300703
/* Beispiel while-Anweisung
*/
*/
*/
*/
#include <iostream.h>
#include <iostream.h>
int main(void) {
double Zahl = 0.0, Pi = 355.0/113.0;
int main(void) {
double Zahl = 3.01, Pi = 355.0/113.0;
while ( Zahl < Pi ) {
Zahl = Zahl + 1.5;
cout << '*';
}
while ( Zahl < Pi )
Zahl = Zahl + 0.001;
cout << "Erg: "<<Zahl<<" "<<Pi<<endl;
return 0;
cout << endl;
return 0;
}
}
Ausgabe: Erg: 3.142 3.141593
03.007.02
03 / Teil D / Seite 01
03.007.03
Beispiel while - Schleife
/* Programm b0300704
/* Beispiel while-Anweisung
break in while - Schleifen
/* Programm b0300705
/* break in while-Schleifen
*/
*/
*/
*/
#include <stdio.h>
#include <stdio.h>
int main(void) {
double fZahl = 10.0;
int main(void) {
double fZahl = 10.0;
while ( fZahl )
{ fZahl = fZahl - 0.5;
if ( fZahl < 5 )
break;
}
printf("Letzter Wert: %f",fZahl);
return 0;
while ( fZahl )
{ fZahl = fZahl - 0.5;
printf("%f\n",fZahl);
}
return 0;
}
}
03.007.04
03.007.05
do - while - Schleife
Beispiel do - while - Schleife
/* Programm b0300707
/* Beispiel do-while-Schleife
Allgemeine Syntax:
do
*/
*/
#include <stdio.h>
Anweisung;
while ( Ausdruck );
oder
do
Wird solange ausgeführt, wie Ausdruck
wahr (d.h. ungleich 0)
ist, mindestens jedoch
einmal.
int main(void) {
int iZahl;
do
{
printf("Positve int-Zahl eingeben: ");
scanf("%d",&iZahl);
{
Block mit Anweisungen
}
while ( iZahl < 0 );
return 0;
}
while ( Ausdruck );
03.007.06
}
03 / Teil D / Seite 02
03.007.07
for - Schleife
for - Schleife
Allgemeine Syntax:
Bedeutung der Ausdrücke:
for ( Ausdruck1 ; Ausdruck2 ; Ausdruck3 )
Anweisung;
for ( Ausdruck1 ; Ausdruck2 ; Ausdruck3 )
Anweisung;
ist gleichbedeutend mit
Ausdruck1;
while ( Ausdruck2 )
{
Anweisung;
Ausdruck3;
}
oder
for ( Ausdruck1 ; Ausdruck2 ; Ausdruck3 )
{
Block mit Anweisungen
}
03.007.09
03.007.08
for - Schleife
for - Schleife
Beispiel: Berechnung der Summe der Zahlen von 1 bis N
Beispiel: Berechnung der Summe der Zahlen von N bis 1
/* Programm b0300710
/* Summe der Zahlen 1 bis N
*/
*/
/* Programm b0300711
/* Summe der Zahlen N bis 1
*/
*/
#include <stdio.h>
#include <stdio.h>
int main(void) {
long int i, iSum = 0, N = 1000;
int main(void) {
long int i, iSum = 0, N = 1000;
}
Laufvariable
kann hochoder runtergezählt werden
for (i = 1; i <= N; i = i + 1)
iSum = iSum + i;
for (i = N; 0 < i; i = i - 1)
iSum = iSum + i;
printf("Summe 1 bis %ld: %ld\n", N,iSum);
return 0;
printf("Summe %ld bis 1: %ld\n", N,iSum);
return 0;
03.007.10
}
03 / Teil D / Seite 03
03.007.11
for - Schleife
for - Schleife
Beispiel: Summe der ungeraden Zahlen von 1 bis N
/* Programm b0300712
/* Summe ungerader Zahlen 1 bis N
Beispiel: Summe der Zahlen von M bis N
*/
*/
#include <stdio.h>
int main(void) {
long int i, iSum = 0, N = 1000;
for (i = 1; i <= N; i = i + 2)
iSum = iSum + i;
beliebige
Schrittweiten,
auch variabel
printf("Summe 1 bis %ld: %ld\n", N,iSum);
return 0;
}
03.007.12
/* Programm b0300713
*/
/* Summe Zahlen M bis N */
#include <stdio.h>
int main(void) {
long int i, iSum = 0, M, N;
printf("Bitte M und N eingeben: ");
if (2 == scanf("%d%d",&M,&N))
{
for ( ; M <= N; M = M + 1) iSum = iSum + M;
printf("Summe aller Zahlen: %ld\n",iSum);
}
else
printf("Falsche Eingabe.\n");
return 0;
}
03.007.13
for - Schleife ohne lokaler Deklaration
for - Schleife
/* Programm b0300714
/* for - Schleife
// Programm b0300716
// for-Schleife ohne lokaler Deklaration
*/
*/
#include <stdio.h>
#include <iostream.h>
int main(void) {
unsigned int i, iSum = 0;
int main(void)
{ int i = 1;
for (i = 100; i >= 0; i = i - 1)
iSum = iSum + i;
printf("Summe von 100 bis 0 = %d\n",iSum);
return 0;
}
Ausgabe:
i = 1
i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
03.007.14
03 / Teil D / Seite 04
cout << "i = " << i << endl;
for (i = 0; i < 5; i = i + 1)
cout << "i = " << i << endl;
cout << "i = " << i << endl;
return 0;
}
03.007.16
for - Schleife mit lokaler Deklaration
// Programm b0300717
// for-Schleife mit lokaler Deklaration
#include <iostream.h>
int main(void)
{ int i = 1;
Ausgabe:
i = 1
i = 0
i = 1
i = 2
i = 3
i = 4
i = 1
i wird nicht verändert
cout << "i = " << i << endl;
for (int i = 0; i < 5; i = i + 1)
cout << "i = " << i << endl;
cout << "i = " << i << endl;
return 0;
}
03.007.17
03 / Teil D / Seite 05
Herunterladen