Grundlagen der Informatik

Ähnliche Dokumente
Programmiersprachen Einführung in C

GI Vektoren

Ein- und Ausgabe von Daten

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung.

Projekt 3 Variablen und Operatoren

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

Übungspaket 9 Logische Ausdrücke

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben

Kurze Einführung in die Programmiersprache C++ und in Root

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Übung 1 (Entwurf von Algorithmen) Beispiellösung

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Übungspaket 12 Der Datentyp char

2. Programmierung in C

+ C - Formatierte Ausgabe mit printf()

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Übungspaket 23 Mehrdimensionale Arrays

In diesen Canvas können Punkte an gültigen Koordinaten gezeichnet werden.

Programmiersprachen Einführung in C

+ C - Formatierte Eingabe mit scanf()

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Übungspaket 23 Mehrdimensionale Arrays

einlesen n > 0? Ausgabe Negative Zahl

Lesen Sie alle Aufgabenstellungen sorgfältig durch, bevor Sie mit der Bearbeitung der ersten Aufgabe beginnen.

Programmieren in C/C++ und MATLAB

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Ein- und Ausgabe (I/O)

Grundlagen der Programmierung

Klausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Arrays (Felder/Vektoren)

Die Programmiersprache C Eine Einführung

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Übungspaket 14 Eindimensionale Arrays

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010

Variablen, Konstanten und Datentypen

Grundlagen der Informatik Arbeit mit Zeichen und Zeichenketten

Entwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben!

CEN1112 Labor Software-Entwicklung

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Beispiel. Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio)

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

Zeichenketten (Strings) in C

M. Graefenhan Übungen zu C. Blatt 3. Musterlösung

Grundlagen der Programmierung

Dateizugriff unter C

Ausgabe:

6. Zeiger Allgemeines Definition eines Zeigers

Programmierung mit C Zeiger

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe

Einführung Programmierpraktikum C Michael Zwick

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Dateioperationen Fachhochschule Würzburg-Schweinfurt Prof. Dr. Martin Ochs. Abspeichern und Einlesen von Texten (Strings) in Dateien

Die Programmiersprache C

3D Programmierpraktikum: Einführung in C++ - Teil 1

Zahlen- und Buchstabencodierung. Zahlendarstellung

2 Eine einfache Programmiersprache

9. Vektoren. (auch Felder/array)

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller

Kapitel 3. Mein erstes C-Programm

Teil 5: Zeiger, Felder, Zeichenketten Gliederung

Einstieg in die Informatik mit Java

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

Grundlagen der Informatik 2. Typen

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Einführung in die C-Programmierung

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende.

Probe-Klausur im Modul: Grundlagen der Informatik (GDI)

Zeichenketten (1) Literale von Zeichenketten werden in doppelte Anführungszeichen gesetzt

2 Eine einfache Programmiersprache

Einstieg in die Informatik mit Java

Einführung in C. EDV1-04C-Einführung 1

Funktionen nur wenn dann

Programmierkurs C++ Variablen und Datentypen

1Schnelleinstieg 14. 2Wie aus einer einfachen Textdatei. 3 Wie man eigene Programme erstellt 30. Inhaltsverzeichnis. ein Programm wird 20

Programmieren in C/C++ und MATLAB

Elementare Datentypen in C++

Kapitel 7. Zusammengesetzte Datentypen, Vektoren, Zeichenketten

Transkript:

Grundlagen der Informatik Einführung in die Programmiersprache C Teil 2 Ein- und Ausgabe in C-Programmen Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik Überblick zur Vorlesung Ein- und Ausgabe in C-Programmen Ausgabe von Daten auf dem Bildschirm Eingabe von Daten von der Tastatur Anwendungsbeispiele Grundlagen der Informatik I - 1 - T.Wiedemann- Seite 2 1

Aus- und Eingabe von Daten Allgemeine Anforderungen eine nur auf sich selbst bezogene Berechnung ist kaum sinnvoll Ausgaben sind notwendig zur Darstellung von Ergebnissen Information über den Verlauf von Berechnungen teilweise auch zur Fehlersuche Eingaben dienen zur Eingabe von variablen Berechnungsparametern zur Steuerung der Berechnungsablaufes Grundlagen der Informatik I - 1 - T.Wiedemann- Seite 3 Aus- und Eingabegeräte Analog zu Ihrer historischen Entwicklung existieren folgende Geräte, welche sich mit den angegebenen Abkürzung in C direkt ansprechen lassen : Konsole (con), bestehend aus Tastatur und Bildschirm im reinen Textmodus Tastatur enthält bei PC s einen eigenen Mikroprozessor zur Verarbeitung der Eingaben und liefert teilweise relativ komplizierte Tastaturcodes Bildschirm wird vom Prozessor angesteuert und zeigt entweder über einen Zeichengenerator (DOS) oder Grafikcontroller mit geladenen Schriftsätzen (Fonts) die Buchstaben als Pixel an Dateien ( Dateiname ) im Lese- und Schreibmodus Drucker (prn) als reine Ausgabegeräte mit dem Problem der Ansteuerung von Sonderzeichen und Grafik (früher reine Textausgabe) Scanner und andere Bildverarbeitungsgeräte seit 1995 zusätzlich auch Einlesen und Ausgabe per Internet: Internetserver ( http://..., ftp://... ) Grundlagen der Informatik I - 1 - T.Wiedemann- Seite 4 2

Arten der Aus- und Eingabe in C Je nach Anforderung können verschiedene Arten der Ein- und Ausgabe verwendet werden: Zeichenweise Ein- und Ausgabe sinnvoll nur für die Eingabe einzelner Zeichen z.b. zur Steuerung des Programmablaufs oder Befehlsauswahl Ein- und Ausgabe von Texten für die reine Textverarbeitung - z.b. für Eingabe von Adreßdaten, Textverarbeitung Formatierte Ein- und Ausgabe Eingabe von Text und Umwandlung des Textes in andere Datenformate für alle Zahleneingaben Anwendungshinweis: Da mit der formatierten Ein- und Ausgabe können prinzipiell auch Texte oder Einzelzeichen ausgegeben werden, wird diese sehr oft verwendet. Grundlagen der Informatik I - 1 - T.Wiedemann- Seite 5 Zeichenweise Ausgabe C stellt spezielle Funktionen für die Ein- und Ausgabe zur Verfügung diese gehören jedoch nicht zum Standardbefehlssatz von C deshalb muß die Bibliothek #include <stdio.h> eingebunden werden! Zeichenweise Ausgabe in C mit der Funktion putchar(char c) wird genau ein Zeichen ausgegeben char c; // definiert eine Variable vom Typ Zeichen c= 'h' ; // weist Buchstaben zu putchar ( c ) ; // gibt den Wert von c hier 'h' auf dem Bildschirm aus - es ist auch ein Aufruf mit direkter Angabe des auszugebenden Zeichens möglich putchar ( 'H' ) ; putchar ( 'a' ) ; putchar ( 'l' ) ; putchar ( 'l' ) ; putchar ( 'o' ) ; // gibt den Text Hallo auf dem Bildschirm aus // sollte aber NICHT SO VERWENDET werden es gibt effizientere Optionen Grundlagen der Informatik I - 1 - T.Wiedemann- Seite 6 3

Zeichenweise Eingabe analog zur zeichenweisen Ausgabe werden in der gleichen Bibliothek <stdio.h> auch mehrere Funktionen zur Eingabe bereitgestellt Zeichenweise Eingabe in C mit der Funktion int getch() wird 1 Zeichen von der der Tastatur abgefragt : falls kein Zeichen gedrückt vorhanden ist, WARTET die Funktion auf die nächste Eingabe und kommt erst dann zurück sinnvoll zum Anhalten des Programm (schlecht für laufende Abfragen..) Bsp.: char c; // definiert eine Variable vom Typ Zeichen c = getch(); // holt Wert von der Tastatur oder wartet auf Eingabe Die Funktion int getche() arbeitet genauso wie getch(), gibt jedoch noch das eingegebene Zeichen selbst auf dem Bildschirm aus (das e steht für Echo) ACHTUNG: Einige Spezialtasten, wie die Taste Einfügen oder Funktionstasten geben für einen Tastendruck mehrere Werte zurück. Diese sind ggf. kombiniert auszuwerten. (siehe Übung Strings im nächsten Semester) Mit int kbhit( void ) kann auf Vorliegen von Tastendrücken getestet werden! Grundlagen der Informatik I - 1 - T.Wiedemann- Seite 7 Zeilenweise Ein- und Ausgabe von Texten analog zur zeichenweisen Ein- und Ausgabe werden Funktionen zur zeilenweise Ein- und Ausgabe bereitgestellt Zeilenweise Ausgabe von Texten puts(char *text) ; Bsp.: puts( "Hallo Welt " ); puts( Vorname ); puts( Nachname ); Zeilenweise Eingabe von Texten gets( char *text ); Bsp.: char textpuffer[80]; gets( textpuffer); // liest Zeichen bis Entertaste auf Textpuffer ein puts( textpuffer); //... und gibt die Zeichen wieder aus Grundlagen der Informatik I - 1 - T.Wiedemann- Seite 8 4

Formatierte Ein- und Ausgabe dient meist zum Ausgeben und Ausgeben von Zahlen in Kombination mit Texten Formatierte Ausgabe Basisbefehl printf ( text, { Argumente } ) ; // { } optional wieder aus Bibliothek #include <stdio.h> kann prinzipiell alle Datentypen ausgeben! einfachste Form : printf("hallo Ihr"); // analog zu puts bei der Ausgabe von Zahlen kann in printf die Position und die Zahlenformatierung sehr genau gesteuert werden int x; float y; printf("x-wert= %d y-wert = %f ", x, y ); Formatierungstext %-Zeichen im Text dienen als Platzhalter für die Zahlenwerte Angaben nach dem %-Zeichen definieren die genaue Formatierung des Wertes die Werte müssen GENAU in der Reihenfolge der %-Angaben in der Liste stehen!!! Grundlagen der Informatik I - 1 - T.Wiedemann- Seite 9 beliebig viele Variablen Formatierte Eingabe analog existiert eine Funktion zum formatierten Eingeben der Basisbefehl der Basisbefehl zum Einlesen von Daten von der Tastatur lautet scanf("%f ", &y ); Formatierungstext beliebig viele Variablen mit Angabe der Adresse (&)! Wichtige Regeln: da Daten zurückgegeben werden sollen, muß als Übergabeparameter eine ADRESSE angegeben werden dies bewirkt der Operator & eine direkte Angabe eines Wertes führt in der Regel zu Programmabstürzen die Formatierungsangaben entsprechen fast immer denen von printf (siehe Folgefolie und zusätzliches Arbeitsblatt) eine Nichtübereinstimmung von %_-Angabe und dem Datentyp führt meist zu falschen Eingabewerten (meist Null oder zufällige Zahlenwerte) Grundlagen der Informatik I - 1 - T.Wiedemann- Seite 10 5

Formatierungscodes für Aus- und Eingabebefehle in C ACHTUNG: Der Typ der Variablen und der Formatierungscode MUSS GENAU ÜBEREINSTIMMEN!!!!!!! Falls nicht, sind sehr schwer auffindbare Fehler möglich : es kommt zu absolut falschen Ausgaben (Text wird als Zahl interpretiert) sind Abstürze und völliges Versagen des Programmes möglich Ganze Zahl: int x; printf("%i",x); scanf("%i", &x); Gleitkomma: float y; printf("%f",y); scanf("%f", &y); Gleitkomma: double y; printf("%f",y); scanf("%lf", &y); Text: char s[10]; printf("%s",s); scanf("%s", &s); Diese 3 Grundtypen sind auswendig zu lernen. Alle anderen 25 Codes (und teilweise noch mehr) sind den Dokumentationen der Compiler zu entnehmen! Grundlagen der Informatik I - 1 - T.Wiedemann- Seite 11 Spezialzeichen zur Steuerung der Ausgabe Neben der reinen Textausgabe sind Steuerzeichen erforderlich. Diese werden in C (und auch Java) als Kombination von \ und einem Buchstaben kodiert: \n neue Zeile bei der Ausgabe Bsp.: printf("werte \n x=%i \n y=%f", x, y); // erzeugt 3 Zeilen \t springt zu Tabulatorposition (meist Vielfaches von 8) Bsp.: printf("werte: \t x=%i \t y=%f", x, y); // alles auf einer Zeile mit Tabs \" erzeugt im Text ein " (sonst würde der Compiler ein Textende annehmen) \\ erzeugt im Text genau ein \ (sonst würde der Compiler ein \.. annehmen) \% erzeugt Prozentzeichen Grundlagen der Informatik I - 1 - T.Wiedemann- Seite 12 6