Programmieren in C

von Prof. Dr. Rainer Thomas

Anweisungen

5.1 Überblick
5.2 "while"-Anweisung
5.3 Verbundanweisung (Block)
5.4 "if"-Anweisung
5.5 "switch"- und "break"-Anweisung
5.6 "for"-Anweisung, Komma-Operator
5.7 "do"-Anweisung
5.8 "continue"- und "goto"-Anweisung


5.1 Überblick

Anweisungen in C


5.2 "while"-Anweisung

Die while-Anweisung in C

Beispiel zur while-Anweisung in C

/* ------------------------------------------------------------------- */
/* Programm ZIFFZAHL                                                   */
/* ------------------------------------------------------------------- */
/* Ermittlung der Anzahl der Ziffern einer Integerzahl                 */
/* ------------------------------------------------------------------- */

#include <stdio.h>

void main(void)
{
  int zahl, stellen=1;

  printf("\nZahl ? ");
  scanf("%d",&zahl);
  while(zahl=zahl/10)
    stellen++;                      /* oder :   ++stellen; */
  printf("\n%d Stellen\n",stellen);
}

/* ------------------------------------------------------------------- */
Bildschirmausgabe :

5.3 Verbundanweisung (Block)

5.4 "if"-Anweisung

Die if-Anweisung in C

Programmbeispiel zur if-Anweisung in C

/* ------------------------------------------------------------------ */
/* Programm COUNT1                                                    */
/* ------------------------------------------------------------------ */
/* Programm zaehlt Blanks und Newlines                                */
/* Input von stdin                                                    */
/* ------------------------------------------------------------------ */

#include <stdio.h>

void main(void)
{
  int zb, zn;
  int c;

  zb=zn=0;
  while ((c=getchar()) != EOF)
  { if (c==' ')
      ++zb;
    else if (c=='\n')
      ++zn;
  }
  printf("\nZaehlergebnisse : Blanks   = %4d\n",zb);
  printf("%17s Newlines = %4d\n"," ",zn);
}

/* ------------------------------------------------------------------ */
Bildschirmausgabe :

5.5 "switch"- und "break"-Anweisung

Die switch-Anweisung in C

Programmbeispiel zur switch- und break-Anweisung

/* Programm ANTWORT1 */
/* Demonstration der switch-Anweisung ohne break */

#include <stdio.h>

void main(void)
{ char zeichen;
  printf("Ihre Wahl (j,n,v) ? ");
  zeichen=getchar();

  switch (zeichen)
  { case 'j':
    case 'J': printf("ja\n");
    case 'n':
    case 'N': printf("nein\n");
    case 'v':
    case 'V': printf("vielleicht\n");
    default : printf("unbekannt\n");
  }
}
Bildschirmausgabe:
/* ------------------------------------------------------------------- */

/* Programm ANTWORT2 */
/* Demonstration der switch-Anweisung mit break */

#include <stdio.h>

void main(void)
{ char zeichen;
  printf("Ihre Wahl (j,n,v) ? ");
  zeichen=getchar();

  switch (zeichen)
  { case 'j':
    case 'J': printf("ja\n");
              break;
    case 'n':
    case 'N': printf("nein\n");
              break;
    case 'v':
    case 'V': printf("vielleicht\n");
              break;
    default : printf("unbekannt\n");
              break;
  }
}
Bildschirmausgabe:

5.6 "for"-Anweisung, Komma-Operator

Die for-Anweisung in C

Die for-Anweisung ist aequivalent zu folgender - eine while-Anweisung enthaltende - Verbundanweisung :
{ Anfangsausdruck;
  while (Bedingungsausdruck)
  { Anweisung;
    Veraenderungsausdruck;
  }
}
 

Verschiedene Formulierungen mittels der for-Anweisung

 -------------------------------------------------------------------------


             for (i=1; i<100; i++)
               printf("%d\n",i);


             for (i=1; i<100; )
             { printf("%d\n",i);
               i++;
             }


             for (i=1; i<100; )
               printf("%d\n",i++);



             for (i=1; i<100; printf("%d\n", i++));


             for (i=1; i<100; printf("%d\n",i), i++);



-------------------------------------------------------------------------



         zaehl=0;
         for (c=erstzeich; c!='\n'; zaehl++, c=getchar());


         for (zaehl=0, c=erstzeich; c!='\n'; zaehl++, c=getchar());



         zaehl=0;
         for (c=erstzeich; c!='\n'; c=getchar())
           zaehl++;


         zaehl=0;
         for (c=erstzeich; c!='\n'; )
         { zaehl++;
           c=getchar();
         }
 

Der Komma-Operator in C

Vorsicht vor zu häufiger, unüberlegter Anwendung des Komma-Operators :
nicht unbedingt guter Programmierstil,
Gefahr des unübersichtlichen Quellcodes.
 

5.7 "do"-Anweisung

Die do-Anweisung in C

Programmbeispiel zur do-Anweisung

/* ------------------------------------------------------------------ */
/* Programm GGT */
/* ------------------------------------------------------------------ */
/* Ermittlung des groessten gemeinsamen Teilers (ggT) und kleinsten   */
/* gemeinsamen Vielfaches (kgV) zweier natuerlicher Zahlen a und b    */
/*                                                                    */
/* Es gilt :  kgv(a,b) = (a * b) / ggT(a,b)                           */
/* ------------------------------------------------------------------ */

#include <stdio.h>

void main(void)
{
  int a,b;
  int p,q,r;
  int ggt, kgv;

  printf("\nggT und kgV von ? ");
  scanf("%d %d",&a,&b);
  if (a>b)
  { p=a;            /* p <-- max(a,b) */
    q=b;            /* q <-- min(a,b) */
  }
  else
  { p=b;
    q=a;
  }
  do
  { r=p%q;
    p=q;
    q=r;
  }
  while (r);
  ggt=p;
  kgv=a/ggt*b;
  printf("\nggT(%d, %d) = %d\n",a,b,ggt);
  printf("kgV(%d, %d) = %d\n",a,b,kgv);
}

/* ------------------------------------------------------------------ */
Bildschirmausgabe :

5.8 "continue"- und "goto"-Anweisung

Sprung-Anweisung in C



Zum Inhaltsverzeichnis Zum nächsten Abschnitt


Copyright © FH München, FB 04, Prof. Dr. Rainer Thomas
V - PC - 501 - 00 - TH - 02
V - PC - 511 - 00 - TH - 03
V - PC - 512 - 00 - TH - 05
V - PC - 521 - 00 - TH - 02
V - PC - 531 - 00 - TH - 02
V - PC - 532 - 00 - TH - 04
V - PC - 541 - 00 - TH - 04
V - PC - 542 - 00 - TH - 05
V - PC - 551 - 00 - TH - 05
V - PC - 552 - 00 - TH - 06
V - PC - 553 - 00 - TH - 02
V - PC - 561 - 00 - TH - 05
V - PC - 562 - 00 - TH - 06
V - PC - 571 - 00 - TH - 02