Algorithmen und Datenstrukturen

Ähnliche Dokumente
Escape-Sequenzen. Dr. Norbert Spangler

Einstieg in die Informatik mit Java

Datentypen printf und scanf. Programmieren in C Dr. Michael Zwick

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Kapitel 2: Darstellung von Information. Inhalt. Einfache Datentypen (Fortsetzung) Erste Programme (mit Ausgabe) Exkurs: Grammatiken

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

2 Darstellung von Zahlen und Zeichen

Einführung in die Programmierung Wintersemester 2008/09

Protokollgrundlagen (Schicht 2)

Programmiersprachen Einführung in C

Eine Reihe häufig benötigter Datentypen ist in C vordefiniert

E-/A-Funktionalität nicht Teil der Programmiersprache

Programmieren in C Einführung

Umgebung, Ein- und Ausgabe

Grundlagen der Programmierung

Wie rechnet ein Rechner?

Informatikgrundlagen I Grundlagen der Informatik I

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik

Kapitel 2: Darstellung von Information Inhalt Einführung in die Informatik für Naturwissenschaftler und Ingenieure

2 Darstellung von Zahlen und Zeichen

Dr. Monika Meiler. Inhalt

Programmieren in C / C++ Grundlagen C 2

2 Darstellung von Zahlen und Zeichen

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe

Algorithmen und Datenstrukturen

Ausgewählte Bibliotheksfunktionen

Algorithmen und Datenstrukturen (für ET/IT)

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

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Was sind primitive Datentypen? Primitive Datentypen

Merke: Mit jedem zusätzlichen Bit verdoppelt sich die Anzahl der darstellbaren Zahlen bzw. Zustände

Einführung in die Programmierung

Inhalte. Einführung. Algorithmus, Programmiersprache, Compiler und Linker. Kontrollstrukturen. Präprozessoranweisungen. Libraries

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT)

Kompaktkurs Einführung in die Programmierung. 11. Ein- und Ausgabe

@ A Q R ( ) Die Bedeutung der Steuerzeichen wird auf der Seite H2 (Tafel 2) erklärt. 6E 6F TAFELN, TABELLEN TAFEL 1. Schriftzeichen.

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Datenstruktur. Nächste Woche keine Vorlesung!

Variablen und Datentypen

T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes?

Wie werden die Barcode Prüfziffern berechnet?

C- Kurs 03 Ausdrücke und Operatoren

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Was sind primitive Datentypen? Bits und Bytes. Primitive Datentypen. Sommersemester 2014

Propädeutikum. Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer

Programmieren und Problemlösen Java-Sprachkonstrukte. Java-Sprachkonstrukte. Übung Altersberechner. Namen und Bezeichner. Namen und Bezeichner

Wie werden die Barcode Prüfziffern berechnet?

Objekte werden eindeutig beschrieben durch ihren Typ und einen beliebig wählbaren Bezeichner.

2. Programmierung in C

Aufbau eines C-Programms

Rechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik

Einfache Ein-und Ausgabe

Grundlagen der Informatik

S. d. I.: Programieren in C Folie diese Zeichen dürfen verwendet werden in

Arrays (Felder/Vektoren)

Operatoren in C. Gastvorlesung Andreas Textor

Informatik. Wiederholung Felder (Arrays), string. Vorlesung

Clevere Algorithmen programmieren

Strukturen können wie normale Variablen an Funktionen übergeben werden. Strukturen können auch Ergebnis einer Funktion sein

Grundlagen der Informatik 2. Typen

Grundlagen der Programmierung

Die Programmiersprache C

Zahlen und Zeichen (1)

Programmieren I. Operatoren und Ausdrücke Heusch 6.2 Ratz Institut für Angewandte Informatik

Algorithmen und Datenstrukturen (für ET/IT)

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

Input, Output, Dateien

Repetitorium Programmieren I + II

Programmierkurs C++ Variablen und Datentypen

2.1 Fundamentale Typen

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

Java I Vorlesung Imperatives Programmieren

Thema 1 -- Fortsetzung. Computersystem, Informationsdarstellung

Variablen, Konstanten und Datentypen

Die Programmiersprache C

Informatik Vorkurs - Vorlesung 2

einlesen n > 0? Ausgabe Negative Zahl

Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke

X = {x 1,x 2,...} sei ein Symbolalphabet eines Kodes. In diesem Kode sind card(x) = X Sachverhalte darstellbar

T e) Welche Eigenschaft müssen Byte-, Wyde-, Tetra- und Octa-Adressen beim MMIX haben?

Informationsdarstellung. 2 Informationsdarstellung. Ziele. 2 Informationsdarstellung Texte. Texte WS 2017/2018

Einstieg in die Informatik mit Java

Leistung übertragbar

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

ISBN

Algorithmen und Datenstrukturen (für ET/IT)

Wo sind wir? Übersicht lexikale Struktur von Java

Elementare Datentypen in C++

Ein- und Ausgabe von Daten

Programmiersprachen Einführung in C

Datentypen: integer, char, string, boolean

Einführung in die Programmierung

7. Übung zur Vorlesung Grundlagen der Informatik

Transkript:

FG TECHNISCHE INFORMATIK I AD T01 00 TA 01 Algorithmen und Datenstrukturen ANHANG Literaturhinweise ASCII-Tabelle Präzedenztabelle der Operatoren

FG TECHNISCHE INFORMATIK V AD TL1 00 TA 02 Literaturhinweise Printmedien C: Programmieren von Anfang an Helmut Erlenkötter, rororo, 18. Auflage, 1999, ISBN 978-3-49960-074-6 Programmieren in C Robert Klima/Siegfried Selberherr, Springer -Wien, 2. Auflage, 2007, ISBN 978-3-21172-000-4 C Einführung und professionelle Anwendung IT-Studienausgabe Ulla Kirch-Prinz, Peter Prinz mitp, 2. Auflage, 2007, ISBN 978-3-82661-766-9 Algorithmen in C Robert Sedgewick, Addison-Wesley, 6. Auflage, 1992, ISBN 3-89319-376-6 oder Pearson Studium, 2005, ISBN 978-3-82737-182-9 Algorithmen und Datenstrukturen Eine systematische Einführung in die Programmierung Gustav Pomberger/Heinz Dobler, Pearson Studium, 4/2008, ISBN 978-3-82737-268-0 Programmieren in C - ANSI-C (2. A.) Mit dem C-Reference Manual Brian W. Kernighan/Dennis M. Ritchie, Hanser Fachbuch, 2. Auflage 1990, ISBN 978-3-44615-497-1 Onlinemedien Algorithmen und Datenstrukturen Supplement zum Buch: Der Perl-Programmierer http://netzmafia.de/skripten/buecher/perl/algorithmen.pdf Jürgen Plate Programmieren in C http://netzmafia.de/skripten/programmieren/thomas-c/index.html Rainer Thomas http://netzmafia.de/skripten/programmieren/index.html Jürgen Plate

FG TECHNISCHE INFORMATIK V AD T11 00 TA 02 ASCII-Tabelle (1) Die nachfolgende Tabelle gibt den ASCII (American Standard Code for Information Interchange) Zahlenwert für darstellbare und nichtdarstellbare Zeichen an Repräsentation eines Zeichens im Speicher. links oben (kursiv) oktaler Zahlenwert links unten dezimaler Zahlenwert rechts unten hexadezimaler Zahlenwert

FG TECHNISCHE INFORMATIK V AD T12 00 TA 01 ASCII-Tabelle (2) Die nachfolgende Tabelle gibt die Bedeutung der nicht-darstellbaren Zeichen der ASCII-Tabelle an und die entsprechende Darstellung als C-Konstante mithilfe des Escape-Zeichens (\). Die darstellbaren Zeichen Backslash, Single Quote und Double Quote MÜSSEN in einer Character- oder String-Konstanten IMMER über das Escape-Zeichen angegeben werden! Bedeutung C-Notation Bedeutung C-Notation Name C-Notation NUL Null-Character '\0' '\x0' DC1 Device Control 1 '\x11' \ Backslash '\\' '\x5c' SOH Start Of Header '\x1' DC2 Device Control 2 '\x12' ' Single Quote '\'' '\x27' STX Start Of Text '\x2' DC3 Device Control 3 '\x13' " ETX End Of Text '\x3' DC4 Device Control 4 '\x14'? Double Quote Question Mark '\"' '\x22' '\?' '\x3f' EOT End Of Transmission '\x4' NAK Negative Acknowledge '\x15' ENQ Enquiry '\x5' SYN Synchronous Idle '\x16' ACK Acknowledge '\x6' ETB End Of Transmission Block '\x17' BEL Bell '\a' '\x7' CAN Cancel '\x18' BS Backspace '\b' '\x8' EM End Of Medium '\x19' TAB LF VT Horizontal Tabulator Line Feed, New Line Vertical Tabulator '\t' '\x9' SUB Substitute '\x1a' '\n' '\xa' ESC Escape '\x1b' '\v' '\xb' FS File Separator '\x1c' FF Form Feed, New Page '\f' '\xc' GS Group Separator '\x1d' CR Carriage Return '\r' '\xd' RS Record Separator '\x1e' SO Shift Out '\xe' US Unit Separator '\x1f' SI Shift In '\xf' SP Space, Blank ' ' '\x20' DLE Data Link Escape '\x10' DEL Delete, Rub Out '\x7f'

FG TECHNISCHE INFORMATIK V AD T21 00 TA 03 Präzedenztabelle der Operatoren Die folgende Tabelle gibt Auskunft über den Vorrang von Operatoren gegenüber anderen. Je niedriger die Rangnummer desto höher der Vorrang in der Auswertung. Operatoren mit gleicher Rangnummer besitzen gleiche Präzedenz. Die Assoziativität gibt an in welcher Reihenfolge die Operatoren gleicher Präzedenz ausgewertet werden. Rang Operatoren Assoziativität 1 () Klammerung links rechts 2 3. -> [] functionname() Lval++ Lval-- sizeof ++Lval --Lval ~! - + & * (type) Strukturelement-Operatoren Indexoperator Funktionsaufruf Postfix-Operatoren Instanz-/Typgrößenermittlung Präfix-Operatoren Unäre Modifikatoren Adressermittlung/Dereferenzierung C-Typkonvertierung links rechts rechts links 4 * / % Arithmetische Operatoren links rechts 5 + - Arithmetische Operatoren links rechts 6 << >> Schiebeoperatoren links rechts 7 < <= > >= Vergleichsoperatoren links rechts 8 ==!= Vergleichsoperatoren links rechts 9 & Binäres Und links rechts 10 ^ Binäres Exklusiv-Oder links rechts 11 Binäres Oder links rechts 12 && Logisches Und links rechts 13 Logisches Oder links rechts 14? : bedingter Auswerteoperator links rechts 15 = *= /= %= += -= <<= >>= &= = ^= Zuweisungsoperatoren rechts links 16, Sequentieller Auswerteoperator links rechts 17? : (2. Operand) bedingter Auswerteoperator links rechts Die Reihenfolge der Auswertung von Übergabeparameter einer Funktion ist undefiniert! Die Tabelle ist nicht Teil des ISO-Standards. Sie ergibt sich aus den festgelegten Grammatikregeln. Das logische Und (&&) und das logische Oder ( ) werden nur so weit erforderlich von links nach rechts ausgewertet.

FG TECHNISCHE INFORMATIK V AD T31 00 TA 01 Zeichenweise Ein-/Ausgabe getchar - Zeichenweise Eingabe von stdin Vorausdeklaration: int getchar(void); getchar liest das naechste Zeichen von der gepufferten Standardeingabe (Tastatur). das gelesene Zeichen EOF (= -1) im Fehlerfall oder bei Eingabe des Dateiendezeichens, d. h. [Ctrl-Z] (Windows) [Ctrl-D] (Linux) putchar - Zeichenweise Ausgabe auf stdout Vorausdeklaration: int putchar(int ch); putchar gibt den Inhalt des 1. Parameters (Variablen ch) auf die Standardausgabe (Bildschirm) aus. Zuvor wird der Wert in einen unsigned char umgewandelt. das ausgegebene Zeichen EOF (= -1) im Fehlerfall

FG TECHNISCHE INFORMATIK V AD T32 00 TA 01 Ein-/Ausgabe von Zeichenketten gets - Stringeingabe von stdin Vorausdeklaration: char *gets(char *str); gets liest von der Standardeingabe einzelne Zeichen ein und legt diese im Speicher ab. Der Parameter str stellt die Adresse der Speicherstelle dar, ab der die Zeichen abgelegt werden. Das Einlesen wird durch die Eingabe des Zeilenvorschubs (oder das Erreichen des Dateiendezeichens, d. h. [Ctrl-Z] (Windows) [Ctrl-D] (Linux)) beendet. Anstelle des Zeilenvorschubzeichens ('\n') ( des Dateiendezeichens) wird das abschließende NUL-Zeichen ('\0') im Speicher abgelegt. die übergebene Startadresse str NULL (= 0) im Fehlerfall oder bei Erreichen des Dateiendes (ohne dass ein Zeichen eingelesen wurde). puts - Ausgabe eines Strings auf stdout Vorausdeklaration: int puts(const char *str); puts gibt die Zeichenkette ab der Speicherstelle str aus. Die Ausgabe wird beendet, sobald die Speicherstelle das NUL-Zeichen beinhaltet. nicht negativer Wert bei erfolgreicher Ausgabe EOF (= -1) im Fehlerfall

FG TECHNISCHE INFORMATIK V AD T33 00 TA 01 Formatierte Ein-/Ausgabe scanf - Werteingabe von stdin Vorausdeklaration: int scanf(const char *ctrl,...); scanf liest von der Standardeingabe einzelne Zeichen ein und interpretiert die Zeichenfolge als Datenwerte, wie sie im Formatstring (1. Parameter ctrl: Startadresse des String) angegeben wurden. Die nachfolgenden Parameter stellen Adressen dar in denen die erfolgreich eingelesenen Werte abgelegt werden. Die einzelnen Werte werde durch Whitespace- Zeichen (Leer-, Tabulator-, Zeilenvorschubzeichen), durch Komma, Semikolon oder der Angabe der Feldbreite in der Umwandlungsspezifikation getrennt. die Anzahl der erfolgreich eingelesenen Werte EOF (= -1) im Fehlerfall oder bei Erreichen des Dateiendes (beim Einlesen des ersten Wertes).

FG TECHNISCHE INFORMATIK V AD T34 00 TA 01 Formatstring der C-Eingabefunktion scanf: Der 1. Parameter der scanf-funktion zeigt auf einen String, der die Anzahl der gewünschten Datenwerte und deren Typ festlegt. Der String kann Umwandlungsspezifikationen oder Whitespace-Zeichen (Leer-, Tabulator-, Zeilenvorschubzeichen) enthalten. Umwandlungsspezifikation: % [*] [Feldbreite] [Längenmodifizierer] Konvertierzeichen c d i Zeichen (auch Whitespace-Zeichen werden gelesen) Ganzzahl (dezimal) Ganzzahl (dezimal) oder oktal (mit führender "0") oder hexadezimal (mit führendem "0x" bzw "0X") o Ganzzahl (oktal, mit oder ohne führende "0") x, X Ganzzahl (hexadezimal, mit oder ohne führendem "0x" bzw "0X") u e, E f g, G Ganzzahl (dezimal, nur positiv) Fließkommazahl (beliebige Darstellung) a, A (nur ANSI 99) Fließkommazahl (beliebige Darstellung) s p String (Ergänzung mit abschließendem NUL-Zeichen '\0') Pointer hh h l vor dem Konvertierzeichen d oder i Zahlenwert wird als char abgelegt. vor dem Konvertierzeichen u, o oder x Zahlenwert wird als unsigned char abgelegt. vor dem Konvertierzeichen d oder i Wert wird als short int abgelegt. vor dem Konvertierzeichen u, o oder x Wert wird als unsigned short int abgelegt. vor dem Konvertierzeichen d oder i Wert wird als long int abgelegt. vor dem Konvertierzeichen u, o oder x Wert wird als unsigned long int abgelegt. ll (nur ANSI 99) vor dem Konvertierzeichen d oder i Wert wird als long long int abgelegt. vor dem Konvertierzeichen u, o oder x Wert wird als unsigned long long int abgelegt. l L vor dem Konvertierzeichen f, e, a oder g Wert wird als double abgelegt. vor dem Konvertierzeichen f, e, a oder g Wert wird als long double abgelegt. kein Längenmodifizierer vor d, i Wert wird als int abgelegt. vor u, o, x Wert wird als unsigned int abgelegt. vor f, e, a oder g Wert wird als float abgelegt. Anzahl der Zeichen, die max. zur Interpretation des Werts verwendet werden. Bei Angabe des * wird der eingelesene Wert entsprechend dem Konvertierzeichen interpretiert, aber keiner Variablen zugewiesen der Wert wird überlesen.

FG TECHNISCHE INFORMATIK V AD T35 00 TA 01 Formatierte Ausgabe printf - Ausgabe eines Strings auf stdout Vorausdeklaration: int printf(const char *ctrl,...); printf gibt die Zeichenkette des Formatstrings (1. Parameter ctrl: Startadresse des Strings) aus. Trifft der printf-interpreter im Formatstring auf eine Umwandlungsspezifikation, dann wird der Wert des nächsten Parameters entsprechend der Umwandlungsspezifikation ausgegeben. Anzahl der ausgegebenen Zeichen EOF (= -1) im Fehlerfall

FG TECHNISCHE INFORMATIK V AD T36 00 TA 01 Formatstring der C-Ausgabefunktion printf: Der 1. Parameter der printf-funktion zeigt auf einen String, der die formatierte Ausgabe festlegt. Der String kann Zeichen, Zeichenersatzdarstellungen, Umwandlungsspezifikationen oder Whitespace-Zeichen (Leer-, Tabulator-, Zeilenvorschubzeichen) enthalten. Umwandlungsspezifikation: % [+ -] [Feldbreite] [.Genauigkeit] [Längenmodifizierer] Konvertierzeichen - linksbündige Ausgabe (sonst immer rechtsbündig) + Ausgabe des Vorzeichens auch bei positiven Zahlen c Zeichen d, i Ganzzahl (dezimal) o Ganzzahl (oktal, ohne führende "0") x, X Ganzzahl (hexadezimal, ohne führendem "0x" "0X") u Ganzzahl (dezimal, nur positiv) e, E Fließkommazahl (Exponentendarstellung) f g, G Fließkommazahl (Dezimalpunktdarstellung) Fließkommazahl (automatische Auswahl der kürzesten Darstellung mit Dezimalziffern) a, A (nur ANSI 99) Fließkommazahl (hexdezimale Darstellung) s p String (Argument ist eine Adresse auf das erste Zeichen) Pointer % Ausgabe des Prozentzeichens hh h l vor dem Konvertierzeichen d oder i Argument wird im char-wertebereich ausgegeben. vor dem Konvertierzeichen u, o oder x Argument wird im unsigned-char- Wertebereich ausgegeben. vor dem Konvertierzeichen d oder i Argument wird im short-int Wertebereich ausgegeben. vor dem Konvertierzeichen u, o oder x Argument wird im unsigned-short-int- Wertebereich ausgegeben. vor dem Konvertierzeichen d oder i Wert wird als long int ausgegeben. vor dem Konvertierzeichen u, o oder x Argument wird als unsigned long int ausgegeben. ll (nur ANSI 99) vor dem Konvertierzeichen d oder i Argument wird als long long int ausgegeben. vor dem Konvertierzeichen u, o oder x Argument wird als unsigned long long int ausgegeben. l (nur ANSI 99) vor dem Konvertierzeichen f, e, a oder g für double-werte erlaubt, aber nicht nötig. L vor f, e, a oder g Argument wird als long double dargestellt. kein Längenmodifizierer vor d, i Argument wird als int ausgeben. vor u, o oder x Argument wird als unsigned int ausgegeben. vor f, e, a oder g Argument wird als double ausgegeben. (Argumente vom Typ float werden immer vorher in double umgewandelt.) Feldbreite.Genauigkeit Gibt an wieviele Zeichen minimal für das Argument bei der Ausgabe verwendet wird. Die Ausgabe wird ggf. um Leerzeichen erweitert. Beginnt die Feldbreite mit einer 0, dann der Wert des Arguments mit führenden Nullen ergänzt. Gibt bei der Ausgabe von Fließkommazahlen, die Anzahl der Nachkommastellen an. Bei Stringausgabe wird die max. auszugebende Zeichenanzahl festgelegt. Für Feldbreite und/oder Genauigkeit, kann auch der Asterisk ('*') angegeben werden, dann wird der Zahlenwert über die Parameterliste festgelegt.