Navigation

1.5 Ausgabe und Eingabe

Zeichenweise Aus - und Eingabe
Eingabe:     c=getchar();
Ausgabe:   putchar(c);

BEISPIELE/b15a.c: 

/* Dieses Programm liest zeichenweise von der Standardeingabe */
/* ( bis zum Erreichen der End-Of-File-Bedingung - EOF )      */
/* und gibt diese Zeichen wieder in die Standardausgabe aus.  */

#include <stdio.h>

main()
{
     int c;

     while(( c = getchar()) != EOF) /* beachte Klammern ! */
          putchar(c);
}

Formatierte Ausgabe
printf("format_string", arg1, arg2, ...);
format_string: text     einfach ausgeben
  % Formatausgabe: konvertiert zugehöriges Argument
  %d dezimal: Integer
  %s Zeichenkette
  %g float-Zahl
  %lf double-Zahl

VERBATIM/b15a: 

 int i; 

 i=123;                   /* Ausgabe*/
 printf("i=%d",i);          |i=123| 
 printf("i=%6d",i);         |i=   123|
 printf("z=%.1g",3.24);     |z=3.2|
 printf("%6s","text");      |  text|
 printf("%-6s","text");     |text  |

Formatierte Eingabe
scanf("format_string", & arg1, ...);

format_string: ohne Text
  Formate ähnlich Ausgabe

VERBATIM/eingabe: 

int n,i;  double d;  char c;
n=scanf("%d %lf %c",&i,&d,&c);

Eingabe:     5   3.7e-2x

Ergebnis:    i:=5
             d:=0.037
             c:='x'       /* kein Trennzeichen! */
             n:=3         /* Anzahl Konvertierungen */

BEISPIELE/b15b.c: 

#include <stdio.h>

main()          /* Tabelle der Quadratzahlen */
{
   int anf, ende, spanz; 

   printf("Berechnung der Quadratzahlen von: "); 
   scanf("%d", &anf);
   printf("Berechnung der Quadratzahlen bis: "); 
   scanf("%d", &ende);
   printf("Anzahl der Spalten fuer Ausgabe : "); 
   scanf("%d", &spanz);
   putchar('\n');
   while(anf <= ende) {
      printf("%3d x %3d = %6d ", anf, anf, anf*anf);
      if (anf % spanz)
           printf("    ");
        else
           putchar('\n');
      anf = anf + 1;
   }
   putchar('\n');
}

BEISPIELE/b15c.c: 

#include <stdio.h>

main() /* formatierte Ein und Ausgabe  */
/* nach Aufruf b15  Eingabe: "mit 18 ab ins 08.15" */
{
        int d,x; 
        float f; 
        char c, cf[5];

        scanf("mit%d%x%2s%c%f", &d, &x, cf, &c, &f);
        printf("%.2f %x %d %s %c\n", f, x, d, cf, c);
}

Navigation