ASCII-Tabelle. o 1 2. o o p

Größe: px
Ab Seite anzeigen:

Download "ASCII-Tabelle. o 1 2. o o p"

Transkript

1 Anhang 293 A ASCII-Tabelle In der folgenden Tabelle sind die Ordinalzahlen (jeweils dezimal und hexadezimal) und die entsprechenden Zeichen des ASCII-Codes angegeben. Bei den Zeichen mit den Ordinalzahlen 0-31 sowie 127 handelt es sich um die sog. nicht druck baren Zeichen, die zur Kommunikation zwischen Rechner und Terminal, Rechner und Drucker, Rechner und anderen Rechnern,... verwendet werden. Hier ist anstelle eines Zeichens immer die übliche Abkürzung, z.b. SaH für "Start of Heading", STX für "Start of Text",... aufgeführt. dez hex char o o A B C D E NUL SaH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR so 15 F SI DLE DCl DC DC DC NAK SYN ETB CAN EM 26 la SUB 27 lb ESC 28 lc FS 29 ld GS 30 le RS 31 lf US dez hex char A 43 2B 44 2C 45 2D 46 2E 47 2F A 59 3B 60 3C 61 3D 62 3E 63 3F 11 # $ % & ( ) * + / o < >? dez hex char A 75 4B 76 4C 77 4D 78 4E 79 4F A 91 5B 92 5C 93 5D 94 5E 95 A B C D E F G H I J K L M N o p Q R S T U V W X Y Z [ \ ] dez hex char A 107 6B 108 6C 109 6D 110 6E 111 6F A 123 7B 124 7C 125 7D 126 7E a b c d e f g h i j k 1 m n o p q r s t u v w x y z { 127 7F DEL

2 2"94 Anhang B Arithmetische Standardkonversionen Die in Abschnitt nur für signed Datentypen beschriebenen arithmetischen Standardkonversionen sind hier vollständig angegeben. Ist einer der Operanden vom Typ long double, wird der andere nach long double konvertiert. Anderenfalls wird, sofern einer der Operanden vom Typ double ist, der andere nach double konvertiert. Anderenfalls wird, sofern einer der Operanden vom Typ float ist, der andere nach float konvertiert. Anderenfalls sind beide Operanden ganzzahlig, und es werden für beide die ganzzahligen Typangleichungen durchgeführt. Ist nun einer der Operanden vom Typ unsigned long int, wird der andere nach unsigned long int konvertiert. Anderenfalls wird, sofern der eine Operand vom Typ long int, und der andere ein unsigned int ist, und ein long int alle Werte eines unsigned int darstellen kann, der unsigned int-operand nach long int konvertiert. Enthält der Wertebereich von long int nicht alle Werte des Typs unsigned int, werden beide Operanden nach unsigned long int konvertiert. Anderenfalls wird, sofern einer der Operanden vom Typ long int ist, der andere nach long int konvertiert. Anderenfalls wird, sofern einer der Operanden vom Typ unsigned int ist, der andere nach unsigned int konvertiert. Anderenfalls sind beide Operanden vom Typ int.

3 Anhang 295 c Operatorprioritäten In der folgenden Tabelle sind alle C++-Operatoren mit ihrer Priorität und Assoziativität, sowie einer Kurzbeschreibung ihrer Funktion, zusammengefaßt. Der Geltungsbereichoperator bzw. Kommaoperator haben höchste bzw. niedrigste Priorität. I Prior./ Assoz. 17 r r 15 r 15 r 15 r 15 r 15 r 15 r 15 r r 2 r 1 1 Operator.... ->, [] o sizeof ++, --! +, - *, &; o new, delete ->*,.* *, /, % +, - «,» <, <=, >, >=,. &; 1= &;&; 11?: =, *=, /=, %=, +=, -=»= «=, &;=, -=, 1 = I Funktion globaler Geltungsbereich (einstellig) Geltungsbereichoperator (zweistellig) Elementauswahl Indexoperator Funktionsaufruf Klammerung in Ausdrücken Größe Inkrement, Dekrement bitweise Negation logische Negation Vorzeichen Inhaltsoperator, Adreßoperator Typkonversion (cast) dynamische Speicherverwaltung Elementauswahl Multiplikative Operatoren Additive Operatoren Shift-Operatoren Relationale Operatoren Gleichheitsoperatoren bitweises UND bitweises Exklusiv-ODER bitweises Inklusiv-ODER Logisches UND Logisches ODER Konditional-Operator Zuweisungsoperatoren Kommaoperator

4 296 Anhang D Syntaxregeln Die nachstehende Übersicht gibt an, auf welcher Seite die aufgeführten Syntaxregeln jeweils definiert sind. Abstrakter-Deklarator 76 Enum-Liste 80 Additiver-Ausdruck 33 Enum-Name 95 Allokationsausdruck 72 Enum-Spezifizierer 80 Anweisung 45 Exklusiv-Oder-Ausdruck 35 Anweisungsliste 45 Fkt-Rumpf 103 Arg-Deklarationsliste 101 Fkt-Spezifizierer 119 Argument-Deklaration 102 For-Anweisung 52 Argumentliste 101 For-Init-Anweisung 52 Ausdruck 31 Funktionsdefinition 103 Ausdrucksanweisung 47 Gleichheitsausdruck 35 Ausdrucksliste 22 Gleitpunktkonstante 15 A usführlicher-typspezifizierer 95 Hexadezimalziffer 13 Auswahlanweisung 47 If-Anweisung 47 Basisliste 226 Init-Deklarator 20 Basis-Spez 226 Initialisierer 22 Basisspezifizierer 226 Initialisiererliste 22 Bedingter-Ausdruck 37 Inklusiv-Oder-Ausdruck 35 C++-Programm 2 Klassenkopf 145 Cast-Ausdruck 32 Klassenname 145 Cv-Qualifiziererliste 62 Klassenschlüssel 145 Cv-Qualifizierer 62 Klassenspezifizierer 145 Deallokationsausdruck 75 Konstanter-Ausdruck 41 Deklaration 2 Konversionsfunktionsname 219 Deklarationsanweisung 46 Konversionstypname 219 Deklarator 21 Ktor-Initialisierer 164 Deklaratorliste 20 Logisches-Oder-Ausdruck 36 Dekl-Spezifizierer 20 Logisches-Und-Ausdruck 36 Dekl-Spezifiziererliste 20 Markierte-Anweisung 46 Dname 21 M ultiplikativer-ausdruck 32 Do-Anweisung 51 Name 21 Einfacher-Typname 20 N ew-deklarator 73 Einstelliger-Ausdruck 31 N ew-initialisierer 73 Einstelliger-Operator 39 New-Typname 73 Elementarer-Ausdruck 32 Oktalziffer 13 Elementdeklaration 146 Operatorfunktionsname 209 Element-Deklarator 146 Plazierung 72 Element-Deklaratorliste 146 Postfix-Ausdruck 31 Element-Initialisierer 164 Programmdatei 2 Element-Initialisierer liste 164 Qualifizierter-Klassenname 149 Elementliste 146 Qualifizierter-Name 149 Endung 15 Qualifizierter-Typname 82 Enumerator 80 Relationaler-Ausdruck 34

5 Anhang 297 Rv-Spezifizierer 246 Typspezmzierer 20 Shift-Ausdruck 34 Typspezifiziererliste 73 Speicherklassenspezifizierer 22 Und-Ausdruck 35 Sprunganweisung 53 Voller-Klassenname 181 Switch-Anweisung 49 Vorzeichen 15 Template-Arg 275 While-Anweisung 50 Template-Arg-Liste 275 Wiederholungsanweisung 50 Template-Argument 265 ZE-Ausdruck 32 Template-ArgumentIiste 265 Zeigeroperator 62 Template-Deklaration 265 Ziffer 13 Template-Klassenname 275 Zuweisungsoperator 38 Typargument 265 Zugriffsspezifizierer 146 Typedef-Name 82 Zuweisungsausdruck 31 Typname 76 Zuweisungsoperator 38

6 298 Anhang E Die Klasse Liste In diesem Anhang ist der Code der Klasse Liste zusammengestellt. Die Liste ist als einfach verkettete Liste implementiert. Der Zugriff auf die einzelnen Listenelemente kann beschleunigt werden, wenn doppelt verkettet wird (vgl. Übungsaufgabe 10 am Ende von Kapitel 18). #include <iostrearn.h> #include <stdlib.h> Klasse Liste Der Typ der Listenelemente ist beliebig Elementfunktionen: int int Iteratoren: fuegeein(const T& x, int i) fuegt x als (i + l)-te Komponente in die Liste ein liefert 1, falls erfolgreich, 0 sonst loesche(int i) loescht (i + l)-te Komponente aus der Liste liefert 1, falls erfolgreich, 0 sonst int laengeo liefert die aktuelle Anzahl der Listenelemente der Indexoperator [] ist fuer const und nicht-const Listenobjekte definiert Ein Zugriff mit falschem Index ruft exit(l) auf ListElem<T>* anfange) liefert einen Zeiger auf den Listenanfang ListElem<T>* iter() positioniert den Zeiger auf das folgende Element liefert arn Ende der Liste NULL template<class T> struct ListElem { ListElem(const T& e, ListElem* n = NULL) element(e), nachf(n) { Telement; ListElem* nachf; ; template<class T> class Liste { public: Liste() : start(null), anzahl(o) { anfange); virtual -Liste() { dest();

7 Anhang 299 Liste(const Liste& m) : start (NULL), anzahl(m.anzahl) { copy(m); Liste& operator=(const Liste&); int fuegeein(const T&, int = 0); int loesche(int); T& operator[] (int); const T& operator[] (int) const; int laenge() const { return anzahl; protected: ListElem<T>* anfange) { aktlnd = 0; return (aktzgr start); ListElem<T>* iter() { return (aktzgr!= NULL)? akt Ind++, aktzgr = aktzgr->nachf : NULL; private: ; void desto; void copy(const Liste&); ListElem<T>* start; int anzahl; ListElem<T>* aktzgr; int aktlnd; void error(char* str = 1111) { cout «str «endl; exit(1) ; template<class T> void Liste<T>::dest() { while (start!= NULL) { ListElem<T>* tmp = start->nachf; delete start; start = tmp; template<class T> void Liste<T>::copy(const Liste<T>& m) { if «anzahl = m.anzahl) == 0) { anfango; return; aktlnd = m.aktlnd; ListElem<T>* mzgr = m.start; ListElem<T>* z = aktzgr = start = new ListElem<T>(mZgr->element); while«mzgr = mzgr->nachf)!= NULL) z = z->nachf = new ListElem<T>(mZgr->element); if (mzgr == m.aktzgr) aktzgr = z;

8 300 Anhang template<class T> Liste<T>& Liste<T>::operator=(const Liste<T>& m) { if (this == &m) return *this; desto; copy(m); return *this; template<class T> int Liste<T>::fuegeEin(const T& x, int i) { if (i < 0 11 i > anzahl) return 0; ListElem<T>* neu = new ListElem<T>(x); if (neu == NULL) return 0; if (i == 0) { neu->nachf start; start = neu; else { ListElem<T>* zgr = start; for (int k = 0; k < i-i; k++) zgr = zgr->nachf; neu->nachf zgr->nachf; zgr->nachf = neu; anzahl++; anfango; return 1; template<class T> int Liste<T>::loesche(int i) { if (i < 0 11 i >= anzahl) return 0; ListElem<T>* zgr2 = start; ListElem<T>* zgr1; for (int k = 0; k < i; k++) { zgr1 zgr2; zgr2 zgr2->nachf; «zgr2 == start)? start delete zgr2; anzahl--; anfango; return 1; zgrl->nachf) zgr2->nachf;

9 Anhang 301 template<class T> T& Liste<T>::operator[](int i) { if (i < 0 I I i >= anzahl) error ("Liste[]: Falscher Index"); if (i < aktind) anfango; else i -= aktind; for(int k = 0; k < i; k++) itero; return aktzgr->element; template<class T> const T& Liste<T>::operator[](int i) const { if (i < 0 I I i >= anzahl) error("liste[]: Falscher Index"); ListElem<T>* zgr = start; for(int k = 0; k < i; k++) zgr = zgr->nachf; return zgr->element;

10 Literaturverzeichnis Wir geben hier neben dem Annotated Reference Manual nur einige wenige einführende Lehrbücher und weiterführende Bücher an, deren Lektüre uns gefallen hat. Cargill, T. C++ Programming Style Addison-Wesley, Reading, Massachusetts, Coplien, J.O. Advanced C++. Addison-Wesley, Reading, Massachusetts, Eckel, B. C++ Inside & Out. McGraw-Hill, Berkeley, Ellis, M.A., Stroustrup, B. The Annotated C++ Reference Manual. Wesley, Reading, Massachusetts, Addison Lippman, S.B. C++ Prim er. (2nd ed.) Addison-Wesley, Reading, Massachusetts, Meyers, S. Effective C++. Addison-Wesley, Reading, Massachusetts, Sessions, R. Class Construction in C and C++. Prentice Hall, New York, Skinner, M.T. The Advanced C++ Book. Prentice Hall, New York, Stroustrup, B. The C++ Programming Language. (2nd ed.) Addison-Wesley, Reading, Massachusetts, Weiskamp, K., Flamig, B. The Complete C++ Prim er. (2nd ed.) Academic Press, Boston, 1992.

11 Index 39!= 35 #include 6 % 32 %= 38 &; Adreßoperator 63 Bit-Operator UND 35 Referenzdeklaration 77 &;&; 36 &;= 38 o * Funktionsaufrufoperator 104, 120, 217 Funktionsdeklaration 101 Inhaltsoperator 63 Multiplikationsoperator 32 Zeigerdeklaration 62 *= 38 + Additionsoperator 33 Vorzeichenoperator , 214 += Subtraktionsoperator 33 Vorzeichenoperator 39 40, > 149 ->* 182, * 182, / 32 /* */ 4 4 /= ::* 181 < 34 «Ausgabeoperator 17, 288 Shift-Operator 33 «= 38 <= 34 38, > 34 >= 34» Eingabeoperator 24, 288 Shift-Operator 33»= 38?: 37 [] Felddeklaration 57 Indexoperator 58, = bitweise Negation 39 Destruktoren 167 Abbildungen sichere Typumwandlungen 30 Zugriffsrechte abgeleiteter Klassen 231 Abgeleitete Datentypen 57 Abgeleitete Klassen 225 Destruktoren 229 Konstruktoren 227 Ableitung 226 virtuelle 252 Abstrakte Klassen 245 Addition 33 Additive Operatoren 33 Adreßänderungen 234, 250 Adreßoperator 63 Am weitesten abgeleitete Klasse 254 Anweisungen 45 Ausdrucks- 46 Auswahl- 47 break 53 continue 53 do 51 for 52 goto 54 if 47 Leer- 47 markierte 46 return 54, 106 Sprung- 53 switch 48 while 50 Wiederholungs- 50 zusammengesetzte 45 Argumente aktuelle 104 Felder 109 formale 101 Referenz- 107,203 Standard- 115, 142, 178

12 304 Index template- 276 lnbergabe 104, 203 unspezifizierte 116 von main Arithmetische Standardkonversionen 29, 294 Arithmetische Typen 9 arrays siehe Felder ASCII-Tabelle 293 AT&T cfront v atofo 89 atoio 89 atolo 89 Aufzählungstypen 80, 188 Operatoren 81 Ausdrucksanweisungen 46 Ausdrücke 30 elementare 31 konstante 41 Ausgabeoperator 17,288 Ausnahmebehandlung 5 Auswahlanweisungen 47 Auswertungsreihenfolge 31 Basisklassen 226 direkte 226 indirekte 226 virtuelle 252 Zugriffsspezifizierer 230 Beispielklassen Abschnitt 185, 188 APRechner 249, CharStack 257 Client 249, 253 DoubMenge 157,162,165,168,171,177, 179, 180, 187, 188, 194, 202, 203, 211, 212, 221, 222, 237 GenStack 274 IntStack 274 Kto 234, 241 Liste 236, 280, 298 ListElem 278 Matrix 173,204, 205, 215, 218 Menge 280, 285, 289 Node 249, 253 Polynom 212,216,217,267 Signal 185, 188 SignalTimer , 230 Stack 275, 277 StackBasics 243 Tel 152, 175, 178 Timer 146, 150, 151, 155, 160, 161, 163, ,214,219,230 Vektor 173 VersVertrag 165,169,174,176,246 Benutzerdefinierte Datentypen 145 Benutzerdefinierte Konversionen 205 Bezeichner 4 Beziehungen has-a 185, 236 is-a 234 is-implemented-in-terms-of 236 is-part-of 185 uses-a 236 Bindung 125 externe 125 interne 125 von Klassennamen 191 Bit-Operatoren 35 Bitfelder 189 unbenannte 190 Bitweise Exklusiv-ODER-Verknüpfung 35 Inklusiv-ODER-Verknüpfung 35 Negation 39 UND-Verknüpfung 35 Blockkommentare 4 Blöcke 45 Boolesche Werte 34, 48 Borland C++ v break-anweisung 53 C++ Reference Manual v C++-Compiler v C++-Kornitee v call by reference 109 call by value 104, 108 case 49 case-konstanten 49 char 9 ein 24,288 class 147 closet) 291 Codeteil 72 const Bindung 127 Elementfunktionen 169 symbolische Konstanten 23 continue-anweisung 53 Copy-Konstruktor 201, 238 cout 17, 288 Dateien 290 Datenelemente siehe Klassen Datenteil 72 Datentypen 9 abgeleitete 57 arithmetische 9 ganzzahlige 9 Gleitpunkttypen 11 vordefinierte 9 default siehe Standard default 49

13 Index 305 Definitionen 20, 21 Deklarationen 19, 21, 46, 156 parametrisierte 265 template- 265 unvollständige 159 Z ugriffs- 256 Deklarationspunkt 91 delete 72 delete[] 75 dereferenzieren 63 Destruktoren 167,229 Standard- 169 virtuelle 243 Direkte Basisklasse 226 Division 32 do-anweisung 51 double 11 down cast 234 Einfache Vererbung 225, 226 Eingabeoperator 24, 288 Eingebettete Klassen 186 Elementfunktionen 188 friend-funktionen 188 Objekte 188 parametrisierte 283 static Elemente 188 einlesen 290 Einstellige Operatoren 39, 212 Elementare Ausdrücke 31 Elementfunktionen siehe Klassen ellipsis siehe unspezifizierte Argumente else 47 endl 17, 287 Endlosschleifen 51,52 enum 80 Enumeratoren 80, 189 erben 226 Escape-Sequenzen 14 exception handling 5 exito 75,119 expo 104 extern 22, 127, 128, 269 Externe Bindung 125 f Typendung 16 F Typendung 16 Felder 57 beliebig dimensionierte 74 Initialisierung 58, 74 Komponentenzugriff 58, 71 Speicherung 60 und Zeiger 68 von Klassenobjekten 163 Zuweisungen an 68 fillo 287 Flache Kopie 201 flagso 287 float 11 flusho 287 for-anweisung 52 Formatierung 287 Freispeicher 72 friend Elementfunktionen 173 Funktionen 172 Klassen 174 parametrisierte 283, überladene Funktionsnamen 175 friend-funktionen parametrisierte Klassen 282 Zugriffsrechte 257 Funktionen 101 Adresse 111 Argumente 6iehe dort Aufruf 104 mittels Zeigern 113 rekursiv 107 Definition 103 Deklaration 101 Element- siehe Klassen friend 172 inline 119 parametrisierte siehe dort rein virtuelle 246 Rumpf 103 Typ 120 überladene siehe dort., virtuelle siehe dort Funktions-templates siehe Parametrisierte Funktionen Funktionsprototyp 102 Funktionsschablonen siehe Parametrisierte Funktionen Ganzzahlige Konstanten 13 Typangleichungen 27 Typen 9 Typumwandlungen 28 garbage collection 75 Geltungsbereiche 91 Datei 93 eingebettete Klassen 187 Funktion 114 Klasse 148 lokale 91 template-argumente 265 Geltungsbereichoperator 94 Generische Funktionen siehe Parametrisierte Funktionen

14 306 Index Generische Klassen siehe Parametrisierte Klassen Geschachtelte Klassen siehe Eingebettete Klassen geto 56 gleich 35 Gleichheitsoperatoren 35 Gleitpunktkonstanten 15 Gleitpunkttypen 11 Globale Namen 93, 125 goto-anweisung 54 Grammatik 1 größer 34 größer oder gleich 34 Größter gemeinsamer Teiler 92 has-a-beziehungen 185,236 Header-Dateien 6, 194 Heap 72 hex 36, 287 Hexadezimalzahl 13 Horner-Schema 109 if-anweisung 47 ifstream 291 Implizite Typumwandlungen siehe dort #inelude 6 Indexoperator 58 Indirekte Basisklasse 226 information hiding 155 Inhaltsoperator 63 Initialisiererliste 164, 228 Initialisierung 25, 160 automatischer Objekte 96 elementweise 201 Felder 58 statie Objekte 96 symbolischer Konstanten 23 Variablen 22, 23 Zeichenfelder 61 inline 119, 127, 130, 179, 269 Instanzen 148 Instanzierung parametrisierter Funktionen 268 int 9 INT_MAX 173 Interne Bindung 125 Interpunktionszeichen 5 is-a-beziehungen 234 is-implemented-in-terms-of-beziehungen 236 is-part-of-beziehungen 185 Iteratoren 280 Kapselung 155 Klassen 145 abgeleitete siehe dort abstrakte 245 am weitesten abgeleitete 254 Datenelemente 145 Speicherung 154 statie 175 Definition 146 Deklaration 145 unvollständige 159 Destruktor siehe dort eingebettete siehe dort Elemente 145 Klassenobjekte 185 statie 175 Elementfunktionen 145, 149 eonst 169 friend 173 inline 179 Speicherung 154 statie 178 friend 174 geschachtelte siehe Eingebettete Klassen Namensdeklaration 156 Objekte 147 als Klassenelemente 185 eonst 169 Konstruktion 160 parametrisierte siehe dort unbezeichnete 148 Klassen-templates siehe ParametrisierteKlassen Klassenschablonen siehe Parametrisierte Klassen kleiner 34 kleiner oder gleich 34 Kommandozeilenargumente 119 Kommaoperator 38 Kommentare 4 Kommentarblöcke 4 Zeilenkommentare 4 Konditional-Operator 37 Konstante Ausdrücke 41 Konstanten ganzzahlige 13 Gleitpunkt- 15 Literal- 13 symbolische 23 Zeichen- 14 Konstruktion virtueller Basisklassen 254 Konstruktoren 160, 201, 227 Copy- 201 Initialisiererliste 164 Standard- 161 Kontrolliluß 45 Konversionsfunktionen 219

15 Index Typendung 14 L Typendung 14 L-Werte 24 modifizierbare 24 Lebensdauer 95 namenloser Objekte 97 Leeranweisungen 47 Lexikalische Elemente 1, 4 Konventionen 3 Literalkonstanten 13 Lösungsvorschläge vi logo 36 Logische Negation 39 ODER-Verknüpfung 36 Operatoren 36 UND-Verknüpfung 36 Werte 34,48 Lokale Namen 91, 125 Lokale Typnamen 188 Aufzählungstypen 188 typedef 188 long double 11 long int 9 main() 18, 19, 45, 119 Manipulatoren 287 Marken 46,114 case 49 default 49 Mehrdeutigkeiten 140, 220, 251, 272 Mehrfachvererbung 248 Modifizierbare L-Werte 24 Multiplikation 32 Multiplikative Operatoren 32 Namen Deklaration 156 Geltungsbereich 153 globale 93, 125 lokale 91, 125 ohne Bindung 125 Zugriffsrecht 153 Negation bitweise 39 logische 39 new 72 Newton-Verfahren 104 Nichtterminale Symbole 2 NULL 63 Nullzeiger 63 Objekte 77 automatische 96 parametrisierter Klassen 275 static 96 vollständige 254 ofstream 291 Oktalzahl 13 Operanden 5 Operatoren 5 additive 33 Adreß- 63 Ausgabe- 17,288 Auswertungsreihenfolge 31 binäre siehe zweistellige Bit- 35,39 delete 72 dreistellige 30 Eingabe- 24, 288 einstellige 30, 39, 212 Funktionsaufruf- 104 Geltungsbereich- 94 Gleichheits- 35 größer 34 größer oder gleich 34 Index- 58 Infix- 31 Inhalts- 63 kleiner 34 kleiner oder gleich 34 Komma- 38 Konditional- 37 links-assoziative 31 logische 36, 39 multiplikative 32 new 72 Pfeil- 149 Postfix- 31 Postfix-Dekrement 40, 214 Postfix-Inkrement 40, 214 Präfix- 31 Präfix-Dekrement 40, 214 Präfix-Inkrement 40, 214 Priorität 31 Punkt- 149 rechts-assoziative 31 relationale 34 Shift- 33 sizeof 9,41 überladene siehe dort Übersicht 295 unäre siehe einstellige Vorzeichen- 39 Zuweisungs- 37 zweistellige 30, 215 Operatorprioritäten 295 Parameter siehe Argumente parametrisieren 265 Parametrisierte

16 308 Index Funktionen 266 Implementierungsregeln 269 Instanzierung 268 Klassen 273 Definition von Elementfunktionen 277 friend Klassen 283 friend-funktionen 282 Objekte 275 Vererbung 280 Pfeiloperator 149 Plazierung 73 pointer siehe Zeiger Polymorphismus 242 Postfix-Dekrementoperator 40, 214 Postfix-Inkrementoperator 40,214 Präfix-Dekrementoperator 40, 214 Präfix-Inkrementoperator 40,214 precisiono 55 private 153, 230, 231 Produktionsregeln 2 Programme prog-l 3 prog-2 17 prog-3 17 prog-4 24 prog-5 54 prog-6 61 prog-7 64 prog-8 71 prog-9 76 prog-l0 104 prog-ll 112 prog prog prog prog prog prog prog prog prog prog prog protected 230 publie 152, 229, 230 Punktoperator 149 rando 56,76 Referenzen 77 auf Konstanten 79 Einschränkungen 79 konstante 78 referenzieren 62 Rein virtuelle Funktionen 246 Relationale Operatoren 34 Reservierte Wörter siehe Schlüsselwörter Rest der Division 32 return-anweisung 54, 106 Rückgabe von Funktionswerten 106, 204 Schleifen 50 Schlüsselwörter 5 Seiteneffekte 30 Semantik 1 setfo 55 setfill 143, 287 setw 90, 143, 287 Shift-Operatoren 33 short int 9 Sichere Typkonversionen 27 Typumwandlungen 28 Übersicht 30 Signatur 102 signed 10 Simpson-Regel 112 sino 55 sizeof 9, 41 Speicherklassen 96 automatisch 96 statie 96 speichern 290 Spezielle Versionen 271, 278 Sprunganweisungen 53 Sprungziele 46 sqrto 67 Stack 72 Standard- Argumente 115, 142, 178 Destruktor 169 Konstruktor 161 generiert 163 Konversionen 27,87, 233, 250 arithmetische 29, 294 Zuweisungsoperator 212 statie 96,127,128,175,269 Datenelemente 279 Elementfunktionen 279 Variablen 273 strcmpo 71 strepyo 166 Stream-Bibliothek 287 Streams 17,287 benutzerdefinierte Datenobjekte 288 ein 288 eout 288 Formatierung 287 strleno 166 struet 147 Subtraktion 33 switeh-anweisung 48 Symbole

17 Index 309 nichtterminale 2 terminale 2 Symbolische Konstanten 23, 189 Symbolvorrat 1 Syntax 1 Notation 2 Regeln 296 Tabellen ASCII-Code 293 Bindung 129 Funktionsmerkmale 260 Geltungsbereiche und Lebensdauer 97 Operatorprioritäten 295 triviale Konversionen 137 template 265 Argumente 276 Deklaration 265 Funktionen siehe Parametrisierte Funktionen Klassen siehe Parametrisierte Klassen Klassennamen 275, 283 Terminale Symbole 2 Terminator 16, 61 this 155 Tiefe Kopien 202 time{) 85 Trenner 4 Triviale Konversionen 137 Typangleichungen 27 typedef 81, 188 Typen siehe Datentypen Typendung 14 f 16 F L 14 u 14 U 14 Typkonversionen siehe Typumwandlungen Typumwandlungen 27, 87 benutzerdefinierte 205 explizite 87 cast-notation 88 funktionale Notation 88 ganzzahlige 28 implizite 27, 30, 63, 69, 81, 83, 87, 109, 182, 201, 205, 206, 216, , 233, 234, 236, 238, 250 mittels Konstruktor 205 mittels Konversionsfunktion 219 sichere 27, 28 zwischen Gleitpunkt- und ganzzahligen Typen 29 zwischen Gleitpunkttypen 28 u Typendung 14 U Typendung 14 Überladene Funktionsnamen 133 Elementfunktionen 152 friend 175 mit einem Argument 136 mit mehreren Argumenten 140 mit unterschiedlichen Argumentanzahlen 142 parametrisierte 270 Zeiger auf 142 Überladene Operatoren 209 {) « » 288 [] 218 einstellige 212 Elementfunktion 216 globale Funktion 216 zweistellige 215 überschreiben 239 ungleich 35 unsigned 10 uses-a-beziehungen 236 va_argo 117 va_endo 118 va_list 117 va_start {) 117 Variablen 21 lokale 72 temporäre 79, 105, 107 Verdeckte Namen 93, 151, 229 Vererbung 225 einfache 225, 226 mehrfache 248 parametrisierte Klassen 280 Vererbungshierarchie 226 verweisen 62 virtual 239, 252 virtual table 242 virtual table pointer 242 Virtuelle Ableitung 252 Basisklassen 252 Funktionen 239 Zugriffsrechte 258 void 11 void* 83 Vollständige Objekte 254 Vordefinierte Datentypen 9 Vorzeichen 39

18 310 Index Wertebereich 9-11 while-anweisung 50 white space 4 width() 115, 287 Wiederholungsanweisungen 50 Zeichenfelder 61 Initialisierung 61 Zeichenketten 16 Länge 166 Zeichenkonstanten 14 zeigen 62 Zeiger 62 Arithmetik 66 auf Basisklassen 234 auf Datenelemente 181 auf Elementfunktionen 183 auf Felder 70 auf Funktionen 111 auf Klassenelemente 181 auf Klassenobjekte 149 auf Konstanten 65 Deklarationen 62 konstante 65 logische Operatoren 67 relationale Operatoren 67 Subtraktion 67 this 155 und Felder 68 Zuweisungen 64 Zeilenkommentare 4 zugreifbar 233 Zugriff auf Klassenelemente 186, 229 auf protected Elemente 258 Zugriffsdeklarationen 256 Zugriffsrechte 152, 229, 256 Elementfunktionen eingebetteter Klassen 188 friend-funktionen 257 friend-funktionen eingebetteter Klassen 188 virtuelle Funktionen 258 Z ugriffsspezifizierer Basisklassen 230 Zugriffswege 259 Zusammengesetzte Anweisungen 45 Zuweisung 23, 38 Zuweisungsoperator 210, 238 Standard- 212 Zuweisungsoperatoren 37 Zweistellige Operatoren 215 o Nullzeiger 63 Terminator 16, 61

ASCII-Tabelle. o p \ ]

ASCII-Tabelle. o p \ ] A ASC-Tabelle In der folgenden Tabelle sind die Ordinalzahlen (jeweils dezimal und hexadezimal) und die entsprechenden Zeichen des ASC-Codes angegeben. Bei den Zeichen mit den Ordinalzahlen 0-31 sowie

Mehr

Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp

Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden ffl mitp Inhaltsverzeichnis Einleitung 19 1 Grundlagen 21 Entwicklung und Eigenschaften von C + + 22 Objektorientierte Programmierung

Mehr

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15 Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen

Mehr

Escape-Sequenzen. Dr. Norbert Spangler

Escape-Sequenzen. Dr. Norbert Spangler Escape-Sequenzen Einzelzeichen Bedeutung ASCII- ASCII-Code \a alert BEL 07 \b backspace BS 08 \t horizontal tab HT 09 \n line feed LF 0A \v vertical tab VT 0B \f form feed FF 0C \r carriage return CR 0D

Mehr

Algorithmen zur Datenanalyse in C++

Algorithmen zur Datenanalyse in C++ Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 20 Einstieg in die Informatik mit Java Literalkonstanten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Literalkonstanten Übersicht 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten 4 Zeichenketten 5 Boolsche Konstanten 6 null Referenz Literalkonstanten Literalkonstanten

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 30 Einstieg in die Informatik mit Java Datentypen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 30 1 Überblick 2 Ganzzahlige Typen 3 Gleitkommatypen 4 Zeichen, char

Mehr

Programmieren in C++ Überladen von Methoden und Operatoren

Programmieren in C++ Überladen von Methoden und Operatoren Programmieren in C++ Überladen von Methoden und Operatoren Inhalt Überladen von Methoden Überladen von Operatoren Implizite und explizite Konvertierungsoperatoren 7-2 Überladen von Methoden Signatur einer

Mehr

Kapitel 2 Elementare Datentypen, Konstanten und Variablen Elementare Datentypen

Kapitel 2 Elementare Datentypen, Konstanten und Variablen Elementare Datentypen Inhaltsverzeichnis Einleitung Kapitel 1 Grundlagen Entwicklung und Eigenschaften von C++ Objektorientierte Programmierung Erstellen eines C++- Programms Ein erstes C++-Programm Struktur einfacher C++-Programme

Mehr

Themen. Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren

Themen. Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren Themen Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren Statische Methoden Klassenmethoden Merkmal der Klasse nicht eines einzelnen Objekts

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

F Zeiger, Felder und Strukturen in C

F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts

Mehr

Objektorientiertes Programmieren in C++

Objektorientiertes Programmieren in C++ Nicolai Josuttis Objektorientiertes Programmieren in C++ Von der Klasse zur Klassenbibliothek D-64289 Darmstadt ADDISON-WESLEY PUBLISHING COMPANY Bonn Paris Reading, Massachusetts Menlo Park, California

Mehr

Effektiv Programmieren in С und C++

Effektiv Programmieren in С und C++ Dietmar Herrmann Effektiv Programmieren in С und C++ Eine Einführung mit Beispielen aus Mathematik, Naturwissenschaft und Technik 3., vollständig überarbeitete und erweiterte Auflage 3 vieweg flffm \;i

Mehr

3. Java - Sprachkonstrukte I

3. Java - Sprachkonstrukte I Namen und Bezeichner Ein Programm (also Klasse) braucht einen Namen 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken,

Mehr

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

Eine Reihe häufig benötigter Datentypen ist in C vordefiniert 2 Standardtypen in C D.3 Datentypen Eine Reihe häuig benötigter Datentypen ist in C vordeiniert char int loat double void Zeichen (im ASCII-Code dargestellt, 8 Bit) ganze Zahl (16 oder 32 Bit) Gleitkommazahl

Mehr

C-Programmierung: Ausdrücke und Operatoren#Division.2F

C-Programmierung: Ausdrücke und Operatoren#Division.2F C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8

Mehr

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen

Mehr

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent magnum C++ WALTER SAUMWEBER kompakt komplett kompetent Quickview... 5 Liebe Leserin, lieber Leser... 13 Teil 1 Grundlagen... 15 1 Was ist Programmieren?... 17 1.1 Was ist eigentlich ein Computerprogramm?...

Mehr

Grundlagen der Informatik 2. Typen

Grundlagen der Informatik 2. Typen Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 5.11.07, Weitere Ausdrücke Übersicht 1 Vergleichsoperatoren 2 Kombinierte Zuweisungsoperatoren 3 Logische Operatoren 4 Weitere Operatoren 5 Klassifizierung von Operatoren 6 Typumwandlungen

Mehr

Algorithmen & Programmierung. Ausdrücke & Operatoren (1)

Algorithmen & Programmierung. Ausdrücke & Operatoren (1) Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck

Mehr

Einführung in die Programmierung Wintersemester 2008/09

Einführung in die Programmierung Wintersemester 2008/09 Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Darstellung von Information Inhalt Einfache Datentypen

Mehr

Werner Achte rt DATA BECKER

Werner Achte rt DATA BECKER Werner Achte rt. DATA BECKER Inhaltsverzeichnis 1. Einführung 21 1.1 Entwurf von Anwendungssystemen 23 1.2 Entwicklung eines Programms 25 1.3 Objektorientierte Programmierung 29 1.4 Darstellung objektorientierter

Mehr

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

Inhaltsverzeichnis. Vorwort

Inhaltsverzeichnis. Vorwort Inhaltsverzeichnis Vorwort XI 1 C/C++-Grundlagen 1 1.1 Einführung................................ 1 1.1.1 Entwicklungsgeschichte: Von K&R-C nach C++........ 1 1.1.2 Beispielprogramme.......................

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

PIC16 Programmierung in HITECH-C

PIC16 Programmierung in HITECH-C PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden

Mehr

Arnold Willemer. Einstieg in C++ Galileo Press

Arnold Willemer. Einstieg in C++ Galileo Press Arnold Willemer Einstieg in C++ Galileo Press Vorwort 13 1.1 Programmieren 17 1.1.1 Start eines Programms 17 1.1.2 Eintippen, übersetzen, ausführen 18 1.1.3 Der Algorithmus 20 1.1.4 Die Sprache C++ 21

Mehr

DAP2-Programmierpraktikum Einführung in C++ (Teil 2)

DAP2-Programmierpraktikum Einführung in C++ (Teil 2) DAP2-Programmierpraktikum Einführung in C++ (Teil 2) Carsten Gutwenger 18. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Dynamischer Speicher Klassen und

Mehr

C- Kurs 03 Ausdrücke und Operatoren

C- Kurs 03 Ausdrücke und Operatoren C- Kurs 03 Ausdrücke und Operatoren Dipl.- Inf. Jörn Hoffmann jhoffmann@informadk.uni- leipzig.de Universität Leipzig InsDtut für InformaDk Technische InformaDk Ausdrücke Institut für Informatik Ausdrücke

Mehr

Inhaltsverzeichnis. Vorwort.11

Inhaltsverzeichnis. Vorwort.11 Inhaltsverzeichnis Vorwort.11 Kapitel 1 Einführung in die C-Programmierung 17 1.1 Ein erstes C-Programm 17 1.1.1 Analyse des Zinseszins-Programms 17 1.2 Compilieren und Ausführen eines Programms 24 1.3

Mehr

Vorlesung 6: Operatoren, Logische Ausdrücke

Vorlesung 6: Operatoren, Logische Ausdrücke Vorlesung 6: Operatoren, Logische Ausdrücke Inhalt Organisatorisches Offene Übungen Operatoren Logische Ausdrücke Dr. J. Raimann 1 Offene Übungen (durch Tutoren betreut) montags 1. und 2. Block (8.15 Uhr

Mehr

С als erste Programmiersprache

С als erste Programmiersprache Joachim Goll Ulrich Bröckl Manfred Dausmann С als erste Programmiersprache Vom Einsteiger zum Profi 4., überarbeitete und erweiterte Auflage Teubner B.G.Teubner Stuttgart Leipzig Wiesbaden 1 2 3 4 5 GRUNDBEGRIFFE

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

C++ - Operatoren. Eigene Klassen mit neuen Funktionen C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,

Mehr

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1

Mehr

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung Berichte aus der Informatik Dieter Pawelczak Start in die C-Programmierung Shaker Verlag Aachen 2012 Inhaltsverzeichnis Inhaltsverzeichnis i 1 Einleitung 1 1.1 Umfeld und Aufbau des Buches 1 Die Programmiersprache

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile

Mehr

einlesen n > 0? Ausgabe Negative Zahl

einlesen n > 0? Ausgabe Negative Zahl 1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

Eine praktische Einführung in die Programmierung mit der Programmiersprache C

Eine praktische Einführung in die Programmierung mit der Programmiersprache C Eine praktische Einführung in die Programmierung mit der Programmiersprache C www.c-howto.de C-HowTo www.c-howto.de Inhaltsverzeichnis 1 Einführung.. 10 1:1 Wozu Programmieren? 10 1.2 Was ist ein Programm?

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

Mehr

C++für Naturwissenschaftler

C++für Naturwissenschaftler Dietmar Herrmann C++für Naturwissenschaftler Beispielorientierte Einführung ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Bonn Reading, Massachusetts Menlo Park, California New York Harlow,

Mehr

Vererbung, Polymorphie

Vererbung, Polymorphie Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

3 Grundstrukturen eines C++ Programms anhand eines Beispiels

3 Grundstrukturen eines C++ Programms anhand eines Beispiels 3 Grundstrukturen eines C++ Programms anhand eines Beispiels 3.1 Einige Grundbegriffe Mit Hilfe eines Programmes wird dem Computer mitgeteilt, wie er eine bestimmte Aufgabe bearbeiten soll. Es besteht

Mehr

Grundlagen der Informatik 2. Operatoren

Grundlagen der Informatik 2. Operatoren 2. Operatoren Referenzen Typumwandlungen Vorrangregeln Kommentare Grundlagen der Informatik (Alex Rempel) 1 Ausdruck (z.b. "x = 34 + y;") Folge von Operatoren und Operanden Operatoren Arithmetische Operatoren

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Ausdrücke Übersicht 1 Die wichtigsten arithmetischen Ausdrücke Arithmetische Operatoren Inkrement und Dekrementoperatoren Zuweisungsoperator Mathematische Standardfunktionen Vergleichsoperatoren

Mehr

Objektorientiert in C++

Objektorientiert in C++ Dirk Louis Objektorientiert in C++ Einstieg und professioneller Einsatz intwickier.pres: Vorwort 11 1 Schnellkurs C++ 13 1.1 ANSI-C++ und die Compiler 13 Compiler und Programmerstellung 13 ANSI und die

Mehr

Operatoren (1) Operatoren (2)

Operatoren (1) Operatoren (2) Operatoren (1) Binäre Operatoren + - * / % < = > & ^ > && Addition Subtraktion Multiplikation Division Divisionsrest Vergl. auf kleiner Vergl. auf kleiner oder gleich Vergl. auf gleich Vergl.

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Übung Informatik II - Objektorientierte Programmierung 7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber

Mehr

Die С ++-Programmiersprache

Die С ++-Programmiersprache Bjarne Stroustrup Die С ++-Programmiersprache 3., aktualisierte und erweiterte Auflage Deutsche Übersetzung von Nicolai Josuttis und Achim Lörke raddison-wesley An imprint of Addison Wesley Longman, Inc.

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 9: Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen in C 4. Bildschirm Ein-/Ausgabe

Mehr

Gliederung Programmiersprachen. Programmiersprachen Einführung in C. Ausdrücke in Programmiersprachen ~ Aufbau mathematischer Formeln

Gliederung Programmiersprachen. Programmiersprachen Einführung in C. Ausdrücke in Programmiersprachen ~ Aufbau mathematischer Formeln Programmiersprachen Einführung in C Teil 9: Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen in C 4. Bildschirm Ein-/Ausgabe

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

C++ Notnagel. Ziel, Inhalt. Programmieren in C++ C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt

Mehr

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

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2006/07 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl

Mehr

Polymorphismus 179. Function.h. #include <string>

Polymorphismus 179. Function.h. #include <string> Polymorphismus 179 #include Function.h class Function { public: virtual ~Function() {}; virtual std::string get_name() const = 0; virtual double execute(double x) const = 0; }; // class Function

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

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

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik

Mehr

Prof. W. Henrich Seite 1

Prof. W. Henrich Seite 1 Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

... Vorwort Einstieg in die Programmierung Ablaufsteuerung... 71

... Vorwort Einstieg in die Programmierung Ablaufsteuerung... 71 ... Vorwort... 13 1... Einstieg in die Programmierung... 15 1.1... Programmieren... 15 1.1.1... Start eines Programms... 15 1.1.2... Eintippen, übersetzen, ausführen... 16 1.1.3... Der Algorithmus... 18

Mehr

5. Behälter und Iteratoren. Programmieren in C++ Überblick. 5.1 Einleitung. Programmieren in C++ Überblick: 5. Behälter und Iteratoren

5. Behälter und Iteratoren. Programmieren in C++ Überblick. 5.1 Einleitung. Programmieren in C++ Überblick: 5. Behälter und Iteratoren Programmieren in C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 6. Templates und generische Programmierung

Mehr

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15 Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Programmieren in C++ Überblick

Programmieren in C++ Überblick Programmieren in C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 6. Templates und generische Programmierung

Mehr

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java Grundkurs Programmieren in Java Jens Scheffler, Dietmar Ratz, Jan Wiesenberger, Detlef Seese Band 1: Der Einstieg in Programmierung und Objektorientierung ISBN 3-446-40493-7 Inhaltsverzeichnis Weitere

Mehr

2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int

2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int 74 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit 75 // Program: fahrenheit.cpp

Mehr

Objektorientierte Programmierung mit C++ SS 2007

Objektorientierte Programmierung mit C++ SS 2007 Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 29 Einstieg in die Informatik mit Java Weitere Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 29 1 Überblick 2 Kombinierte Zuweisungsoperatoren 3 Vergleichsoperatoren

Mehr

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

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Datenstruktur. Nächste Woche keine Vorlesung! Organisatorisches Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Nächste Woche keine Vorlesung! Es

Mehr

Programmieren 2 C++ Überblick

Programmieren 2 C++ Überblick Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 6. Templates und generische Programmierung

Mehr

Das erwartet dich in diesem Buch 8. Kapitel 1 Aufbruch ins Programmierabenteuer 14

Das erwartet dich in diesem Buch 8. Kapitel 1 Aufbruch ins Programmierabenteuer 14 Inhaltsverzeichnis Das erwartet dich in diesem Buch 8 Kapitel 1 Aufbruch ins Programmierabenteuer 14 Das Schlimmste vorab: die binäre Logik 15 So hoch entwickelt und doch so primitiv: der Prozessor 17

Mehr

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

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

Mehr

C++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println("Hello World!

C++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println(Hello World! Hello world! Java class HelloWorld { static public void main(string args) { System.out.println("Hello World!"); } } C #include main() { printf("hello World!\n"); } C++ #include using

Mehr

Programmierkurs C++ Variablen und Datentypen

Programmierkurs C++ Variablen und Datentypen Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in

Mehr

Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung

Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung Dietmar Ratz, Jens Scheffler, Detlef Seese, Jan Wiesenberger Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung ISBN-10: 3-446-41268-9 ISBN-13: 978-3-446-41268-2

Mehr

Wo sind wir? Übersicht lexikale Struktur von Java

Wo sind wir? Übersicht lexikale Struktur von Java Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,

Mehr

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

Typ : void* aktuelle Parameter Pointer von beliebigem Typ 2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben

Mehr

2. Ganze Zahlen int unsigned int

2. Ganze Zahlen int unsigned int 99 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit // Program: fahrenheit.cpp

Mehr

Arnold Willemer. Einstieg in C++ Galileo Press

Arnold Willemer. Einstieg in C++ Galileo Press Arnold Willemer Einstieg in C++ Galileo Press Vorwort 13 1.1 Programmieren 15 1.1.1 Start eines Programms 15 1.1.2 Eintippen, übersetzen, ausführen 16 1.1.3 Der Algorithmus 18 1.1.4 Die Sprache C++ 19

Mehr

Kapitel 5. Datentypen und Operatoren

Kapitel 5. Datentypen und Operatoren Kapitel 5 Datentypen und Operatoren 1 Gliederung Kapitel 5 Datentypen und Operatoren 5.1 Elementare Datentypen 5.2 Symbolische Konstanten 5.3 Typumwandlungen 5.4 Operatoren 2 5.1. Elementare Datentypen

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

Einführung in die Programmierung Wintersemester 2008/09

Einführung in die Programmierung Wintersemester 2008/09 Einführung in die Programmierung Wintersemester 28/9 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Darstellung von Information Inhalt Einfache Datentypen

Mehr

1. Ganze Zahlen. 9 * celsius / Celsius to Fahrenheit. (9 * celsius / 5) + 32

1. Ganze Zahlen. 9 * celsius / Celsius to Fahrenheit. (9 * celsius / 5) + 32 1. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int 1 Celsius to Fahrenheit // Program: fahrenheit.cpp

Mehr

Funktionales C++ zum Ersten

Funktionales C++ zum Ersten Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: christoph.ott@uni-ulm.de Institut für Angewandte Informationsverarbeitung 26.08.08

Mehr