#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  /* Beachten Sie: Innerhalb eines Paares geschweifter Klammern  */
  /* immer zuerst alle benoetigten lokalen Variablen deklarieren */
  /* und dann die Anweisungen schreiben.                         */

  /* Deklaration der (lokalen) Variablen */
  int         i,ii;  /* printf-Format: %d  */
  short int   h,hh;  /* printf-Format: %hd */
  long int    l,ll;  /* printf-Format: %ld */
  char        c,cc;  /* printf-Format: %c  */
  float       f,ff;  /* printf-Format: %f  | %e  | %g  */
  double      d,dd;  /* printf-Format: %lf | %le | %lg */
  long double q,qq;  /* printf-Format: %Lf | %Le | %Lg */

  /* Addition zweier int-Zahlen */
  i=1;
  ii=-2;
  printf("int: i=%d, ii=%d, i+ii=%d\n",i,ii,i+ii);

  /* Ganzzahl-Division zweier short-int-Zahlen */
  h=7;
  hh=2;
  printf("short: h=%hd, hh=%hd, h/hh=%hd\n",h,hh,h/hh);

  /* Divisionsrest zweier long-int-Zahlen */
  l=7l;
  ll=2l;
  /* Achtung beim Prozent: Zur Ausgabe doppelt schreiben */
  printf("long: l=%ld, ll=%ld, l%%ll=%ld\n",l,ll,l%ll);

  /* Ausgabe zweier Zeichen */
  c='A';
  cc='B';
  printf("char: c=%c, cc=%c\n",c,cc);
  /* Probieren Sie auch die Zeichen '\n', '\t', '\b' aus */

  /* Multiplikation zweier float-Zahlen */
  f=1.3E4f;
  ff=-5.7E3f;
  printf("float: f=%f, ff=%f, f*ff=%f\n",f,ff,f*ff);

  /* Division zweier double-Zahlen (Gleitkomma-Division) */
  d=1.3E4;
  dd=-5.7E3;
  printf("double: d=%lf, dd=%lf, d/dd=%lf\n",d,dd,d/dd);

  /* Subtraktion zweier long-double-Zahlen */
  q=1.3E4l;
  qq=1.299999999E4l;
  printf("long double: q=%Lf, qq=%Lf, q-qq=%Lf\n",q,qq,q-qq);

  /* Ergebnis eines Vergleichs ist 0 oder 1 als int-Zahl */
  c='A';
  cc='B';
  printf("Vergleich von %c und %c ergibt %d.\n",c,cc,c==cc);

  /* Mehrere Zuweisungen in einem Ausdruck ausführen */
  c=cc='X';
  printf("Zwei Ixe: %c%c\n",c,cc);

  /* Man kann Gleitkommazahlen in verschiedenen Formaten
  ausgeben. Die 20 hinter dem % füllt links mit Leerzeichen
  auf 20 Zeichen auf. */
  dd=4E0/3.0;
  printf("Gleit- > %20lf %20le %20lg\n",dd,dd,dd);
  dd=4E9/3.0;
  printf("komma- > %20lf %20le %20lg\n",dd,dd,dd);
  dd=4E20/3.0;
  printf("formate> %20lf %20le %20lg\n",dd,dd,dd);

  /* Funktion main() und damit Programm beenden */
  return(0);
  }