Motivation für die Entwicklung der Sprache C war die Existenz des UNIX R Betriebssystems,
|
|
- Hans Stieber
- vor 7 Jahren
- Abrufe
Transkript
1 Vorwort Motivation für die Entwicklung der Sprache C war die Existenz des UNIX R Betriebssystems, das ab bekannt wurde. Es sollte erreicht werden, daß UNIX auf andere Prozessoren portiert werden konnte, ohne jedesmal das Betriebssystem vollständig in Assembler neu schreiben zu müssen, sondern eher nur zu 5 %. Die Kommandos dieses Betriebssystems konnten dann gänzlich ohne Neuprogrammierung erzeugt werden einfach durch Kompilierung. Deshalb ist bis heute traditionell ein C-Entwicklungssystem für jedes UNIX-System vorhanden. Oft ist es ohne C gar nicht erhältlich. Lehrgrundlage für dieses Buch waren die beiden Bücher Programmieren in C [5] der Autoren Kernighan/Ritchie, wobei Dennis M. Ritchie eher der Erfinder der Sprache C und Brian W. Kernighan eher der Buchautor ist. Diese Bücher gelten als C-Bibel und werden in der C-Szene mit K&R1 und K&R2 bezeichnet. Die Sprache C im Sinne dieser Bücher wird K&R-C bzw. ANSI-C genannt. Ein K&R3 aufgrund des neuen C-Standards von 1999 ist leider nicht in Sicht. Vielleicht ist dieses Buch ein gewisser Ersatz dafür. Die Sprache C war 1974 fertig entwickelt. Das englische Original des Buches K&R1 erschien dann Ab 1983 gab es Standardisierungsbemühungen, die zum ANSI- Standard C89 und dann auch zum internationalen Standard ISO/IEC C90 führten. Am 1.Dez.1999 wurde der nun aktuelle C-Standard C99 veröffentlicht, der bis dahin mit C9X bezeichnet wurde. Der aktuelle Standard [4] wurde als Informationsquelle bei der Erstellung dieses Buches benutzt. Beispielkode wurde einem früheren Entwurf des Standards [3] entnommen. 1 Ein Zeitstempelwert von 0 s unter UNIX ergibt: :00:00
2 VI Vorwort Der C-Standard ist ein englischsprachiges Dokument mit etwa 560 Seiten, das die Sprache C in einer Art juristischen Vertragssprache beschreibt, sich eher an Entwickler von Compilern wendet und somit als Lehrbuch oder Tutorial/Kompendium ungeeignet ist. Es wird daher auch nicht daraus zitiert. Bei Befragungen von Dennis Ritchie 2 sagte dieser beispielsweise auf die Frage, wie ihm der neue C-Standard C99 gefällt, daß ihm der alte Standard C89 gefiel. Er hätte sich gewünscht, daß das Komitee mehr Standhaftigkeit gezeigt hätte gegenüber den vielen Vorschlägen neuer C99 Merkmale. Er kritisiert den beträchtlich gesteigerten Umfang des neuen Standards, und beispielsweise den neuen Typ _Complex, der in Folge die Libraries sehr aufbläht. Es existiert Ende 2004, fünf Jahre nach Veröffentlichung von C99, auch kein einziger C-Compiler, der C99 zu 100 % unterstützt. Bei dieser Bewertung muß bedacht werden, daß ja alle Bibliotheken und alle Header-Dateien gemäß C99 dabei sein müssen. Aber zum Glück unterstützen einige Compiler C99 annähernd zu 100 %. Darunter auch der sehr bekannte gcc. C99 ist zwar kein Flop, aber die Stimmung darüber ist bedeckt. Dieses Buch wendet sich an Leser, die bereits programmieren können und C oder eine andere Programmiersprache ausreichend (oder besser) beherrschen. Unter dieser Voraussetzung ist es sicher möglich, C anhand dieses Buches zu erlernen oder seine Kenntnisse (stark) zu verbessern. Es liegt die Erfahrung vor, daß wenn Programmierer mit einiger Vorerfahrung eine weitere, für sie neue Programmiersprache erlernen wollen, sie diese neue Sprache möglichst schnell erfassen wollen, mit Hilfe von kompakten aber vollständigen Listen, Tabellen und ähnlichen Darstellungsformen nebst Erklärungen in Kurzform, begleitet von Kodebeispielen. Dieses Buch stellt darauf ab und bietet im Teil I auf etwa 40 Seiten diese Möglichkeit, wobei gleichzeitig eine Referenz gegeben ist. Dieses Buch basiert auf einem Dokument [1], das seit Januar 2000 als Webseite im Internet existiert und dort außerordentlich beliebt ist. Es erreichten den Verfasser -zuschriften, die genau die zuvor beschriebene Kompaktheit, die Listen, die Tabellen, den daraus resultierenden schnellen Zugriff und die gleichzeitige relative Vollständigkeit lobten. Ebenso wurde die Kommandoliste zum Editor vi kommentiert (Anhang) [2]. Dieses papierne Buch setzt da noch einen drauf, indem es besser gegliedert, umfangreicher, noch sorgfältiger geschrieben und fehlerfreier ist. 2 Dennis Ritchie prägte auch sehr wesentlich die Entwicklung von UNIX.
3 Vorwort VII Der C-Standard verwendet ein Vokabular, das in einem Lernbuch nicht dienlich wäre, wie beispielsweise Übersetzungseinheit für C-Datei, Übersetzer für Compiler, Basisausführungszeichensatz für Zeichensatz, und so weiter. In diesem Buch hingegen werden allgemein übliche Begriffe verwendet, wie sie in der täglichen Praxis anzutreffen sind ( S. 203). Im Zusammenhang mit Programmierung gibt es einige Abhängigkeiten von der verwendeten Plattform (Prozessor, Betriebssytem). In diesem Buch wird nötigenfalls von der gängigsten Plattform ausgegangen, nämlich INTEL ix86. Das ist u. a. bei konkreten Zahlenbeispielen und Bitrepräsentationen oft unvermeidbar. Die Sprache C ist allerdings mit großem Abstand die portabelste Programmiersprache überhaupt, so daß in der Programmierpraxis mit C kaum unterschiedlich programmiert werden muß, um verschiedene Plattformen zu bedienen. Desweiteren ist C generell wohl die am weitesten verbreitete Programmiersprache. Entwicklungssysteme für Mikrokontroller haben nahezu ausnahmslos C-Compiler. Eine andere Tendenz ist nicht in Sicht. Das wäre auch Unfug, denn für die Programmierung von Betriebssystemen, deren Kommandos und die Millionen von Programmen für Mikrokontroller ist eine eher wenig abstrahierende Sprache wie C auch am geeignetsten. C ist wegen ihrer Feinkörnigkeit, Rekursivität, Flexibilität und Ressourcenschonung für die zuvor aufgeführten Anwendungsgebiete einfach ideal. Es können aber auch alle anderen Gebiete gut bis ausreichend mit C bedient werden, besonders wenn es auf Ressourcenschonung und maximale Effizienz ankommt. Wenn es darauf nicht ankommt, sind manche anderen Programmiersprachen komfortabler und sicherer. Das Manuskript zu diesem Buch wurde hergestellt mit: dem Editor gvim, dem vom Verfasser selbst entwickelten Skript-Interpreter bsh und L A TEX. UNIX-Betriebssystem war FREEBSD V4.11 mit Programmpaket tetex-3.0. Die Buch-CD enthält eine.html-datei mit den Kodeabschnitten des Buches in Farbe. Ebenso eine.txt-datei. Bad Salzuflen, November 2004 Helmut O. B. Schellong
4
5 Inhaltsverzeichnis Teil I Erfassung der Sprache C / Referenz 1 C-Schlüsselwörter Liste der Schlüsselwörter Erklärung einiger besonderer Schlüsselwörter Elementare Datentypen Liste der Datentypen Erklärungen zu den Datentypen Punktuatoren und Operatoren Punktuatoren Operatoren Operatoren, kurz erklärt C-Zeichensatz, Konstanten, Kommentare Zeichenmenge Zahlenkonstanten Zeichenkonstanten Zeichenkettenkonstanten Kommentare Der C-Preprocessor Einführende Beispiele mit Erklärungen Auflistung von Syntaxelementen Vordefinierte Namen Ein schematisches C-Programm Minimale C-Quelltexte Programmschema Erklärungen zum Programmschema
6 X Inhaltsverzeichnis 6.4 Startkode C-Quelltexte, C-Compiler, Programm Der neue C-Standard C Vorwort Neue Merkmale Kurzbeschreibungen C-Header Initialisierungen Flexibles Array Namenlose Zuweisungsobjekte VL-Array und VM-Typ Padding-Bits und Trap-Repräsentationen Alternative Schreibweisen Teil II Eingehende Beschreibung der Merkmale 9 Einleitung Vorurteile Automatische Umwandlungen Adressen (Zeiger, Pointer) Adressen der Objekte Addition, Subtraktion und Differenzbildung Sammlung von Beispielen Der NULL-Pointer Referenzen Objekte in C Arrays (Felder, Vektoren) dimensionales Array dimensionales Array dimensionales Array Sammlung von Beispielen Zeichenketten-Arrays Strukturen Unionen Bitfelder Enumerationen Funktionen Funktions-Adressen Variadische Funktionen Rekursion bei Funktionen Quicksort rekursiv
7 Inhaltsverzeichnis XI Quicksort nichtrekursiv Initialisierungen Speicherklassen Steuerung des Programmablaufes Anweisungsblöcke {... } if-anweisung for-schleife while-schleife do-while-schleife switch Fallunterscheidung Sprunganweisungen Ausdrücke Beispiel switch Komplexe Typen Sequenzpunkt-Regeln Teil III C in der Praxis 17 Moderne C-Programmierung Hinweise, Anregungen, Finessen Portabilität Automatische Skalierung Struktur Makros Optimierung & Verschiedenes Hilfsprogramme C Beautifier Stil //*Kommentare*/ Editor gvim (Syntax-Einfärbung) Reguläre Ausdrücke in gvim Skript-Interpreter Skript-Interpreter: Shell bsh (perl) Liste bsh-kommandos Herstellung des Manuskripts Modul-Konzepte (C-Projekte) Standardkonzept und sein Dogma Quasi eine Datei Projekt-Werkzeuge Individuell einzeln Speicherzuteilung Funktion malloc()
8 XII Inhaltsverzeichnis Speicherklasse auto Spezielle sprintf für Mikrokontroller Lösung in auswegloser Situation Unmoderne C-Programmierung MISRA (-C) Verbote und Mißbilligungen Beweisführung wider die MISRA-Regeln Fazit Anhang A Allgemein zu diesem Buch A.1 Begriffe, kurz erklärt A.2 Hinweise B Die ANSI-Library B.1 Kurzbeschreibung einiger Funktionen B.2 Kurzübersicht ANSI-Standard-Bibliothek C Die POSIX-Library C.1 Kurzbeschreibung einiger Funktionen C.2 Kurzübersicht POSIX-Funktionen D Verschiedenes D.1 C im Vergleich D.2 Hinweise / Wissenswertes / Tricks D.3 Wünsch dir was D.4 Reguläre Ausdrücke D.5 Kurzbeschreibung vi-kommandos E C E.1 Zeichentabelle Literaturverzeichnis Sachverzeichnis
9 Teil I Erfassung der Sprache C / Referenz
10
11 1 C-Schlüsselwörter Schlüsselwörter sind in allen Programmiersprachen reservierte Wörter. In C sind auch alle Namen _[A-Z]... und... reserviert, auch _... bereichsweise. Weiterhin durch die Standard-<Header> eingeführte Bezeichner. 1.1 Liste der Schlüsselwörter Typen von Datenobjekten char short int long float double void unsigned signed struct union enum typedef Integer Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen Beliebig zusammengesetzter Typ (Struktur) Auswahltyp/Vereinigungstyp Aufzählungstyp (Enumeration; Integer) Individuelle Typvereinbarung Byte-Anzahl von Daten-Objekten und -Typen sizeof Beispiele: sizeof(int), sizeof i
12 4 1 C-Schlüsselwörter Speicherklassen von (Daten-)Objekten auto register static extern Voreinstellung in Funktionen (Möglichst) ein Prozessor-Register verwenden Name/Symbol wird nicht exportiert; statisch Objekt (public), von außen her bekanntmachen Typqualifizierer von Daten-Objekten const volatile Nach Initialisierung read-only Keine Optimierung/Stets Direktzugriff Programmierung des Ablaufes if else while for do switch case default break continue goto return Bedingte Verzweigung (falls ja) Bedingte Verzweigung (falls nein) Schleife Schleife Schleife (do-while) Fallunterscheidung (case) Fallunterscheidung (Fallzweig) Fallunterscheidung (default-case) Hinaussprung: Schleife/switch Fortsetzungssprung in Schleifen Allgemeiner unbedingter Sprung Beenden einer Funktion (Rücksprung) Neuer C-Standard C99 inline Funktionen Inline restrict Privater Speicherbereich für Zeiger _Bool Wertebereich {0,1} _Complex z = real + imaginär _Imaginary imaginär Die Schreibweise _Xyyy bei den neuen Schlüsselwörtern wurde wahrscheinlich so gewählt, weil beispielsweise bool als Preprocessor-Definition zuvor bereits weit verbreitet war und/oder wegen des Zusammenhangs von C und C++.
13 1.2 Erklärung einiger besonderer Schlüsselwörter Erklärung einiger besonderer Schlüsselwörter const const int ci= 16; const int *cip= adr; Hiernach sind ci= x; und *cip= x; Fehler! int * const ipc= &ci; Hiernach wäre ipc++; ein Fehler! Aber, diese Definition ist problematisch, denn (*ipc)++; wäre ja erlaubt, was aber ci ändern würde, ci ist jedoch konstant! int const * const ccip= &ci; Hiernach sind *ccip= x; und ccip= a; Fehler! extern int atoi(const char *); Optimierung möglich, da der Compiler davon ausgehen darf, daß die Funktion atoi auf das per Adresse übergebene Objekt keine Schreibzugriffe vornimmt. volatile static void sekulmination(void) { int volatile rf=0; if (setjmp(j)==1 && rf>0) return; //... if (sekul>9) rf=2, ++a; if (a) longjmp(j, 1); ErrV= rf; // cc return; } Ohne volatile hält der Compiler die Variable rf wahrscheinlich zeitweilig in einem Register und ändert sie nicht an der Stelle rf=2, sondern erst an der Stelle cc, weil sie bis dahin gar nicht gebraucht wird. Sie wird aber doch gebraucht, falls longjmp() aufgerufen wird, denn longjmp() kehrt nicht zurück, sondern springt nach setjmp(), wo rf>0 steht. Und genau das kann der Compiler nicht wissen! Mit volatile wird auf die Variable rf bei jedem Vorkommnis direkt zugegriffen. Eine weitere Fehlermöglichkeit existiert im Zusammenhang mit globalen Variablen, die laufend in Interrupt-Routinen verändert werden. ( S. 209)
14 6 1 C-Schlüsselwörter typedef Dieses Schlüsselwort gestattet die Definition eigener Typen. Komplexe Typen sind besonders einfach zu definieren durch mehrstufige Anwendung. typedef unsigned char BYTE; typedef BYTE *BYTEP; BYTE a, b=2, c, *bp=0; typedef struct _FILE_ { int cnt; // 4 unsigned char * ptr, // 8 * base, //12 flag, //13 file, //14 buf[2]; //16(Dummy) } FILE, *FILEP; extern FILE iob[]; #define stdin #define stdout #define stderr (& iob[0]) (& iob[1]) (& iob[2]) FILE *fp; fp= fopen("com2", "rb"); if (!fp) PrintErr(E_OPENF, "COM2"), exit(2); Hier wurden zuletzt die Typen FILE und FILEP definiert. Anschließend ein Array iob[] bekannt gemacht, aus Strukturen vom FILE-Typ als Elemente, das außerhalb angelegt ist, weshalb es als unvollständiger Typ angegeben wurde ([ohne Angabe]), da die Elementanzahl in der aktuellen C-Quelle unbekannt ist. Man sieht auch, daß die vordefinierten FILE-Pointer stdin, stdout, stderr, die Adressen der ersten drei Array-Elemente sind, vom Typ FILE* beziehungsweise FILEP. ( 37, 132, 210, 115) typedef int A[10][2]; A a, b; int a[10][2], b[10][2]; Es wurde ein Typ A definiert. Die beiden letzten Zeilen haben gleiche Wirkung.
15 Sachverzeichnis.code: C99, 35, 39.code: CHAR_BIT, 29, 36, 124, 184, 217.code: FAR, 132, 151, code: FILE, 6, 83, 158, 162, 164, 211, 212, 214, 225.code: SIGSEGV, 210, 222.code: Ziel-Puffer, 122.code: _Bool, 48.code: _Complex, 49.code: assert, 49, 78, 215.code: break, 10, 23, 24, 42, 45, 97, 98, 107, 108, 113, 134, 146, 151, 154, 159, 164, , 190, 192, 197, 200, 210, 238.code: continue, 107, 113, 133, 146, 148, 151, 154, 156, , , 197.code: environ, 41, 69, 102, 114, 238.code: envp, 40, 216.code: exit, 6, 41, 45, 122, 148, 149, 154, 156, 157, 160, 162, 164, 208, 226, 230, 238.code: goto, 24, 30, 74, , 113, 154, 184, 186, 187, 190, 192, 238.code: main, 37, 39 41, 54, 167.code: offsetof, 84, 201, 222.code: pragma, 34, 182, 215, 216, 221.code: restrict, 48, 217, code: signal, 49, 115, 210, 222, 234, 238.code: typedef, 6, 10, 50, 53, 64, 83, 94, 116, 132, 210.code: va_list, 93, 94, 184, 222, 225.code: va_start, 93, 94, 184, 222.code: volatile, 5, 86, 133, 169, 170, 178 Überlauf, 20, 21, 240, 242, 245 Übersetzer, VII, 142 _Bool, 4, 48, 63, 87, 248 _Complex, VI, 4, 49, 248 _Imaginary, 4, 49, 248 Abarbeitungsgeschwindigkeit, 128, 143, 205 ADA, 60 Adresse, 5, 6, 9, 14 17, 19, 24, 26, 40, 48, 54, 61, 62, 65 69, 71 73, 75 77, 79 83, 87, 90 92, 100, 102, 103, , 124, 126, 131, , 176, 177, 179, 204, 208, 214, 232, 240, 244, 245, 247 Adressenbereiche, 48 Adressensyntax, 65 Adressentyp, 9, 129, 245, 247 Adressenvariable, 48, 61, 65, 66, 71, 90, 91, 174, 208, 245 Adressenwert, 9, 65, 66, 68, 72, 208 Adressierung, 61, 66 Adressierungssystem, 62 Akkumulator, 182 Algorithmus, 39, 45, 83, 95, 98, 108, 131, 138, 139, 165, 205, 207, 239 Alias, 103 Alignment, 19, 37, 56, 71, 80, 84, 85, 87, 204, 245, 249 Alignment Check, 18, 71 alloca, 52, 179, 180 Alternativ, 77, 85, 90, 179, 196, 200, 204 Alternativkodierungen, 59, 201 Analogie, 62, 202 Anker, 251
16 272 Sachverzeichnis ANSI, V, 8, 21, 40, 47, 68, 72, 113, 200, 207, 211, 229, 242, 245, 246, 265 Anweisung, 12, 17, 23, 32, 103, , 125, 131, 134, 140, 142, 165, 181, 188, 194, 198 Anwendungsbeispiel, 54, 201 Anwendungsgebiete, VII Argument, 8, 12, 32, 33, 35, 40, 43, 63, 73, 90, 92, 98, 115, 118, , 147, 150, 164, 165, 171, 173, 177, 179, 195, 199, 209, , 261 Argumentanzahl, 73, 194, 195 Argumentbezeichner, 32 Argumentekopieren, 99 Argumentliste, 32, 40, 104 Argumenttyp, 214 Argumentwerte, 90 Array, 6, 14, 15, 19, 23, 40, 47, 48, 50 52, 54, 61, 62, 65, 68, 69, 75 79, 81 84, 91, 97, 100, 102, 109, 116, , 129, 151, 180, 201, 204, 241, ASCII, 25, 30, 114, 268 Assembler, V, 37, 44, 56, 59, 67, 80, 86, 104, 121, 128, 129, 177, 181, 182, 204, 246 Assembler-Ebene, 80, 104 assert, 35, 78 Assoziativität, 84 Aufruf, 8, 35, 37, 39, 41, 44, 90, 91, 95, 96, 98, 99, 104, 135, 163, 164, 172, 201, 209, 214, 230, 232 Aufrufargumente, 39 Aufrufer, 103, 172, 179, 180, 192 Aufrufmechanismus, 95 Aufrufname, 43 Aufrufstelle, 90, 131, 195 Aufzählungstyp, 3 Ausdruck, 9, 13, 14, 17, 18, 20, 22, 23, 27, 29, 63, 68, 76, 77, 79 81, 83, , 111, 117, 129, 133, 136, 140, 141, 148, 196, 240, Ausdruckanweisung, 111 Ausdruckresultat, 241 Ausgabe, 21, 28, 76, 151, 165, 173, 181, 203, 207, , 229, 261, 262 awk, 142 Backslash, 33, 251 Basisadresse, 69, 76, 80, 85, 177, 204 Basistyp, 80 bcc, 43, 166 Bedingte Kompilierung, 33, 114 Bedingung, 14, 21, 22, 34, 72, 78, 98, 99, 105, 106, 129, 138 Bedingungsausdruck, 12, 72, 109, 111, 138 Bedingungskette, 22 Bekanntmachung, 104 Bereichsbezüge, 251 Bereichsmarkierung, 251, 252 Berkeley, 137 Betriebssystem, V, VII, 37, 41, 71, 114, 126, 180, 181, 204, 208, 229, 239 Bezeichner, 3, 61, 101 Bibliothek, 204, 207 Binder, 104, 204 Bindung, 104, 124 Bit, 7 9, 16, 18 21, 24, 26, 29, 41, 48, 49, 54, 63, 64, 71 73, 85 87, 101, 111, 122, 123, 128, 131, 146, 168, , 182, 197, 198, 204, 231, 239, 240, 242, 243, 245, 246, 248, 249 Bit-Breite, 63, 123, 198 Bitfeld, 12, 15, 83, 86 88, 125, 199, 200, 245, 248 Bitweise, 21, 22, 245 Bjarne Stroustrup, 60 Block, 49, 101, , 109, 138, 140, 145, 180, 194, 199 Blockanfang, 52, 103, 138, 140 Blockbildung, 23 Blockende, 138 Blockklammer, 12, 103, 138, 194, 198 Booten, 71 Borland, 8, 43, 44, 229 Brian Kernighan, V, 137, 142 bsh, VI, VII, , 154, 160, 165, 205, 243 Buch, V VII, 23, 47, 138, 145, 154, 160, Buchstabe, 25, 138, 182, 241, 260 Buchteil, 176 Byte, 8, 10, 15, 18, 19, 24, 27, 29, 56, 62, 65, 67 69, 76, 80, 82, 84, 92, 96, 123, 131, 145, 171, 172, 179, 182, 183, 192, 198, 204, 209, 231, 241, 245, 248 Byte-Adressen, 24, 67, 76, 80, 245 C++, 4, 43, 48, 55, 60, 61, 73, 79, 82, 104, 135, 168, 195, 202, 205, 208,
17 Sachverzeichnis 273 C-Byte, 204 C-Compiler, VI, VII, 43, 44, 48, 59, 60, 177, 201, 204, 246 C-Datei, VII, 31, 43, 90, 136, , 166, 203 C-Funktion, 234 C-Modul, 35, 43, 101, 102, 166, 168, 203, 205 C-Standard, V VII, 47, 71, 83, 93, 96, 103, 105, 122, 127, 129, 132, 177, 183, , 205, 210, 242, 248 C-Syntax, 136, 139, 203 C89, V, VI, 47, 63, 96, 215 C90, V, 31, 215 C99, V, VI, 8, 12, 25, 26, 29, 47, 85 87, 93, 103, 109, 129, 180, 202, 205, 207, 213, 248 Call by value, 63 CHAR_BIT, 24, 29, 124, 204 COBOL, 138, 239 Compiler, VI, VII, 5, 8, 9, 19, 20, 27, 28, 31, 34, 37, 39, 41, 43 49, 59, 60, 64, 65, 71 73, 78, 82, 86 88, 90, 92, 100, , 111, 114, 121, 123, 125, , 134, 135, 142, , , , 194, 195, 199, 201, 202, 204, 209, 229, 239, 241, , 248 const, 4, 5, 27, 48, 71, 82, 100, 114, 131, 265 Datei, VI, VII, 31, 32, 39 41, 43 45, 49, 60, 90, 122, 123, 126, 133, 136, 139, 140, 142, 145, , 154, 160, , 170, 203, 204, 211, , 249, , 259, datei-lokal, 71 Dateibeginn, 231 Dateiende, 231, 258 Dateiformate, 139 Dateigröße, 231 Dateiinhalt, 32, 261 Dateilokalität, 71 Dateimodus, 230 Dateiname, 41, 51, 140, 168, 243, 244, 250, 262, 265 Dateipaar, 136 Dateiparameter, 232 Dateipositionszeiger, 211, 230, 231, 233 Dateisysteme, 229, 244 Dateityp, 232 Daten, 49, 65, 74, 85, 90, 100, 122, 126, 147, 151, 172, 177, 207, 209, 245, 249 Datenbasis, 150 Datenlänge, 122 Datenmenge, 151 Datenobjekte, 41, 71, 83, 90, 169, 170, 207 Datensatzoperationen, 239 Datenstrom, 122 Datentyp, 20, 75, 139, 240, 245 Definition, 4 6, 12, 23, 31 33, 49, 65, 75, 77, 78, 90, 100, 103, 125, 126, 130, 132, 166, 170, 203, 204 Definitionsstelle, 101, 109 Definitionszustand, 136 Deklaration, 12, 40, 49, 52, 78, 96, 103, 133, 166, 169, 203, 204 Dekrement, 17, 117 Dennis Ritchie, V, VI, 71, 137, 142 Dereferenzierung, 15, 61, 62, 73, 90, 194, 195 Dezimal, 213 Differenz, 25, 68, 176 Dimension, 75, 78 Dimensionsklammer, 78 DIN, 200 Doppelapostroph, 27 Doppelkreuz-Zeichen, 12 Doppelpunkt, 12 Doppelsemikolon, 146 Dualnotation, 129 Dualzahl, 16, 29, 183, 248 Dummy, 9, 111 dynamisch, 52, 82, 91, 96, 99, 103, 104, 139, 171, 173, 177, 179, 180, 201, 208, 209 Ebene, 66, 72, 80, 86, 94, 104, 126, 129, 178, 181, 241, 260 Editor, VI, VII, 43, 71, 121, 135, 136, , 143, 149, 150, 160, 170, , 256, 261, 263 effizient, 30, , 130, 192, 199, 201, 239, 241, 246 Effizienz, VII, 90, 96, 127, 173, 181, 199, 200, 239, 241, 248 Eingabe, 139, 140, 173, 207, 214, 215 Eingabefehler, 260 Eingabemasken, 239 Eingabezeichen, 214, 215
18 274 Sachverzeichnis Einheitlichkeit, 90, 121, 130 Einrückung, 61, 140 Einsetzstellen, 32, 33 Einsetztext, 31, 34 Einzelbitzugriffe, 85 Element, 6, 14, 15, 19, 37, 50, 67 69, 75 84, 100, 116, 133, 151, 204, 247 Elementanzahl, 6, 52 Elementarobjekte, 126 Elementartyp, 85 Elementtypen, 75 Ellipsis, 12 Empfangspuffer, 122 Endemarke, 82, 92 entdefiniert, 31, 32, 49 Entwicklungssystem, V, VII, 43, 44, 121, 135, 204 Enumerationen, 28, 65, 89 environ, 69, 114 Environment, 40, 69, 114, 135 envp, 40, 69 Epsilon, 21 Erkennungsmarke, 26, 72 Ersatzkode, 201 Ersatzsymbole, 11 Ersatztext, 32, 33, 141, 148, 259 Ersetzung, 33 Ersetzungsmuster, 150 Etikett, 83, 204 Exception, 54 Executable, 43, 44, 203 exit, 41, 132 exit-wert, 37, 41 Expansionen, 125 exportiert, 4, 101, 167 Expression, 156, 250 extern, 4, 39, 69, 78, 101, 102, 104, 167, 169, 170, 267 Externe Bindung, 104 Füll-Bytes, 19, 80, 84, 90 Fallunterscheidung, 4 Fallzweig, 4, 143 FAR, 24, 71, 183 Feld, 26, 61, 139, 204 Feldadresse, 61 FILE, 6, 83, 211 Filedescriptor, 127, 233 Flaschenhals, 173 Format, 60, 76, 139, 183, 214, 215 formatfrei, 138 Formatieranweisung, 154, 155 Formatierprogramme, 138 Formatierungen, 151 Formatstartzeichen, 35 Fortsetzungssprung, 4 FPU, 131, 179 Fragmentierung, 173 Framepointer, 177, 178, 180 FreeBSD, VII, 135, 231 Fujitsu, 182 Funktion, 4, 5, 8, 9, 12, 21, 29, 30, 32, 35, 37, 39 41, 44, 45, 52, 54, 63, 65, 71, 73, 75, 76, 80, 83, 90 93, 95, 96, 98, 99, , 109, , 122, , 132, 135, 138, 146, 147, 150, 154, , 167, , 177, , 183, 187, 188, 192, 194, 195, 197, 201, 202, 207, , 214, 215, , 248, 249, 266, 267 Funktionsadressen, 83, 91, 126 Funktionsanfang, 178 Funktionsargument, 63, 117, 118, 165, 177 Funktionsargumentwerte, 177 Funktionsaufruf, 14, 28, 82, 95, 104, 109, 111, 117, 118, 128, 130, 177, 179, 194, 196, 200 Funktionsinstanz, 165 Funktionskörper, 39, 73, 90, 103, 105, 128, 165, 181 Funktionskopf, 12, 105 Funktionslösung, 130 Funktionsname, 91 Funktionsparameter, 63, 78, 104, 177, 265 Funktionssatz, 207 Funktionsverlassen, 52 Gültigkeitsbereich, 48, 52, 91, 109, 203 gcc, VI, 8, 41, 43, 46, 47, 56, 59, 71, 83, 167, 180 Gleitkomma, 3, 21, 54, 72, 181, 213, 245 Gleitkommakonstanten, 131 Gleitkommatypen, 63 Gleitkommawerte, 63, 179 global, 5, 8, 52, 71, 84, 90, 101, 126, 131, 165, 195, 203, 208, 209 GNU, 43, 46, 136, 137 goto, 4, , 188, 194, 197, 209
19 Sachverzeichnis 275 Handle, 145, 149, 150, 211, 230, 233 Handler, 179, 210 Header, VI, 3, 32, 40, 49, 55, 166, 168, 169, 171, 203, 209, 244, 267 hexadezimal, 26 Hexadezmal, 213 Hierarchie, 126 hierarchisch, 61, 126 Hilfsprogramm, 121, 135, 136, 167 icc, 43, 45, 46 IDE, 135, 168 IEC, V, 47, 200 Implementation, 49, 87, 94, 204, 244 implementationsspezifisch, 8, 37, 87 implizit, 8, 14, 63, 69, 72, 100, 241 importiert, 101 in place, 35, 145 Index, 14, 23, 76, 78, 125, 127, 172, 198, 241 Indexvariable, 127 Indexwert, 14, 66, 81, 102 Indirekt, 200 Indirektionsebene, 143 Informationsdienst, 234 Initialisierer, 50, 82 Initialisierung, 4, 50, 78, 82, 93, 99, 100, 103, 126, 265, 267 Initialisierungsliste, 50, 74, 83, 100 Initialisierungsmöglichkeiten, 50 inkludiert, 102, 160, 166, Inkludierung, 32, 43, 168, 170 Inkrement, 17, 117 Instanz, 41, 95, 99, 104 Instruktion, 56, 64, 90, 125, 128, 129, 177, 178, 181 Integer, 3, 7, 8, 14, 16, 19 21, 34, 47 49, 54, 63, 68, 73, 108, 122, 124, 130, 136, 183, 209, 213, 241, 245, 249 Integertyp, 63, 71 Integervariablen, 65 Integerwerten, 65, 68 INTEL, VII, 7, 18, 43, 45, 46, 67, 76, 87, 93, 102, 123, 177, 205, 246 Interpreter, VII, 135, 143, 243 ISO, V, 40, 47, 200, 207 ix86, VII, 7, 56, 67, 71, 76, 177, 205, 231, 246 Klammer, 11, 12, 14, 20, 23, 32, 78, 80, 100, 102, 103, 106, 115, 140, 141, 241, 251, 255, 260 Klammerebene, 260 Klammerpaare, 260 Klammerung, 19, 22, 241 Kleinschreibung, 114, 254 Kodeabschnitt, VII, 122, 123, 138, 154, 160, 196, 199, 205 Kodeadresse, 90, 178 Kodezeile, 138, 199 Komma, 13, 17, 23, 74, 100, 106, 107, 118, 194, 196 Kommaliste, 14, 23, 109 Kommando, V VII, 31, 40, 98, 135, 140, , 150, 156, 203, 229, 233, 253, Kommentar, 110, 139, 147 Kommentarmechanismus, 34 Kommentartext, 139 Kommunikation, 143, 188 kompakt, VI, 23, 61, 134 Kompaktheit, VI Kompilation, 142, 204 kompilieren, 35, 37, 44, 45, 59, 71, 123, 135, 136, 142, , 180, 205 Kompilierung, V, 33, 34, 37, 39, 59, 114, 123, 135, 143, 166, 194, 203, 204, 241 Kompilierzeit, 29, 46, 125, 129, 180, 199 Komplement, 8, 16, 63, 242, 245 Komponente, 83, 126, 130, 204 Konformität, 122 Konstante, 20, 25 29, 65, 84, 90, 113, 125, 130, 134, 151, 194, 197, 199, 265 Konstanter Ausdruck, 29 Kontext, 11, 26, 27, 76, 138, 199, 202, 203, 205, 206 Konvention, 90, 177, 179 Konversionen, 85, 245 Konzept, 30, 47, 63, 92, 100, 104, 125, 127, 140, 143, 145, , 170, 177, 207, 267 Konzeptdenken, 47 Kopf, 12, 196, 203 Kopfteil, 107 Kopfzeile, 144 Kopie, 46, 193 Kurzform, VI Kurzschreibweise, 7
20 276 Sachverzeichnis Label, 131, 178 Laufzeit, 20, 41, 52, 78, 125, 180, 208 Laufzeitkode, 151 Layout, 85, 88, 123, 131 Leeranweisung, 109, 131 Leerstring, 131 Leerzeichen, 25, 31, 138, 146, 148, 150, 165, 213, 261, 264 Leerzeile, 138, 254, 259 lengthof, 249 Lesezugriff, 99, 117, 118, 146 Library, VI, 40, 44, 80, 86, 102, 114, 117, 167, 204, 207, 229 Limits, 179 Linker, 25, 39, 41, 44, 102, 104, 168, 204 longjmp, 5, 132, 176, 194, 201, 209 lvalue, 17 Makro, 12, 22, 24, 32, 33, 35, 49, 55, 61, 78, 83, 84, 92 94, 110, 113, , 133, 136, 183, 194, 196, , 232, 248, 249, 267 Makroargumente, 125, 200 Makrodefinition, 12, 188, 204 Makroexpansionen, 125 Makronamen, 33, 130, 138 Makroverschachtelung, 32, 128 malloc, 52, 80, 97, 132, , 175, 179, 208, 247, 267 Marke, 108, 138, 141, 254, 257, 258 Maschinenwort, 63, 90, 182 Mehrfachkode, 108, 110, 121, 194, 199, 200 Mehrfachzuweisung, 23, 75 Member, 204 Memory-mapping, 86 Mißbilligt, 193, 195, 196, 202 Mißinterpretationen, 206 Mikrokontroller, VII, 111, 123, 125, 126, 128, 181, 182, 188, 200, 202, 248 Misalignment, 18, 67, 71 MISRA, 193, 194, 199, 200, 202 Mitglied, 15, 61, 75, 83 85, 88, 100, 204, 232, 244 Mitgliedstypen, 85 Modul, 35, 43, 101, 102, 104, , 203, 205, 267 Nachbaroperanden, 63 Name, 3, 4, 14, 15, 23, 25, 31 33, 35, 40, 43, 44, 49, 76, 78, 83, 84, 87, 89 91, 100, 101, 104, 113, 115, 116, 126, 131, 138, 143, 145, 148, 166, 167, 199, 244, 249, 250, 262 Namenlose, 265 Namensbildungen, 55, 125 Namenteile, 33 normativ, 249 NULL, 16, 26, 40, 72, 73, 80, 82, 92, 101, 114, 174, 208, 211, 245 Null, 26 28, 72, 73, 82, 99, 101, 180, 188, 245 Objekt, 4, 5, 9, 15, 18, 19, 40, 43, 48, 51, 65 69, 71, 72, 75, 79, 80, 82 85, 90, 91, 94, 95, , 109, 114, 117, 118, 123, 124, 129, 131, 132, 167, 168, 170, 173, 174, 176, 177, 179, 203, 204, 209, 214, 245, 267 Objekt-Layout, 85, 123 Objektadresse, 65, 66, 73, 90 Objektarten, 100 Objektdatei, 37, 41, 45 Objektinhalte, 90 Objektnamen, 52, 124 objektorientiert, 126, 265, 267 Objektressourcen, 173 obsolet, 96 offsetof, 84, 194, 201 Oktal, 26, 28, 194, 197, 213, 268 Oktet, 204 on the fly, 49, 265 Operand, 13, 14, 29, 124, 133, 178 Operation, 9, 13, 16, 64, 65, 73, 79, 111, 117, 123, 240, 242, 249 Operator, 11 17, 19 25, 32, 55, 60, 63, 76, 81, 84, 98, 102, 115, 124, 125, 129, 138, 146, 194, 196, 199, 240, 247, 248, 260, 266 Optimierung, 4, 5, 43, 44, 48, 102, 125, 128, 131, 151, 167, 168 Option, 8, 27, 37, 44, 141, 144, 167, 212 Padding-Bits, 19, 54, 85, 86, 122, 246, 249 Parameter, 12, 40, 90 96, 99, 128, 167, 173 Parameterübergabe, 167 Parameterliste, 94 Parametertyp, 63, 92
21 Sachverzeichnis 277 Parser, 113 PASCAL, 60, 177, 239 PEARL, 62 perl, 142, 143, 147 Plattform, VII, 7, 8, 63, 69, 71, 87, 93, 94, 101, 123, 125, 131, 139, 182, 204, 205, 239, 245, 246, 249 plattformspezifisch, 21, 25, 67, 76, 205 Pointer, 6, 16, 26, 27, 48, 59, 72, 73, 78, 80, 82, 92, 110, 172, 174, 183, 194, 195, 202, 204, 245 portabel, V, VII, 19, 24, 27, 28, 30, 54, 71, 73, 76, 87, 122, 123, 128, 129, 183, 184, 188, 210, 239, 240, , 250 Portabilität, 71, 92, 94, 122, 123, 184, 188, 239 POSIX, 207, 229 Preprocessor, 4, 12, 22, 25, 28, 31 34, 43, 44, 121, 124, 128, 130, 136, 204 Problemlösungskraft, 60, 143, 188, 193 Produktivität, 128, 132, 170 Programm, VII, 8, 20, 31, 37 41, 43, 44, 49, 54, 61, 71, 78, , 132, 133, 135, 136, 139, , 166, 168, 172, 173, 176, 180, 181, 201, 203, 204, 208, 229, 233, 241, 245, 246, 251, 265, 267 Programmablauf, 39 Programmieren, V, VII, 13, 47, 71, 121, 123, 126, 127, 135, 136, 173, 181, 193, 195, 202, 205, 241, 245, 247, 265 Programmierer, VI, 20, 31, 48, 60, 65, 135, 139, 166, 193, 202, 239, 245, 246, 248 Programmierleistung, 138 Programmierpraxis, VII Programmiersprache, VI, VII, 3, 59, 60, 62, 73, 95, 121, 139, 142, 157, 160, 194, 195, 197, 199, 202, 207, 239, 241, 248 Programmierwerkzeug, 196 Programmlaufzeitlebensdauer, 41 Programmstart, 95, , 211, 230, 245 Projekt, 43, 121, 136, 166, 168, 170, 203 Projektaufbau, 166 Projektmanagement, 168 Projektmitglied, 170 Projektverzeichnis, 166 Projektwerkzeugen, 168 Promotion, 10, 20, 63, 90, 182, 241 Prototyp, 12, 39, 40, 52, 90 92, 96, 101, 102, 203, 265, 267 Prozessor, V, VII, 4, 8, 18, 54, 56, 60, 63, 67, 71, 85, 90, 102, 122, 123, 136, 177, 204, 205, 209, 239, 242, 245, 246, 249 Prozessortakte, 52, 85 Publizieren, 101, 104 Pufferüberlauf, 122 Punktuator, 11, 12, 23 qualifiziert, 9, 48, 71, 111, 114, 131, 201, 209 Quelldatei, 31, 160, 167 Quellkode, 31, 39, 40, 43, 64, 123, 125, 168 Quelltext, 6, 25, 31, 37, 44, 59, 60, 67, 72, 84, 85, 121, 124, 128, 135, 136, 138, 139, 142, 167, 180, 181, 203, 204, 208 Quicksort, 95 Rückgabetyp, 39, 172 Rückgabewert, 8, 41, 56, 109, 115, 127, 172, 180, 188, 212, 214, 230 Rücksprung, 4, 109 Rücksprungadresse, 179, 180 Rang, 13, 14, 22 24, 50, 77, 84, 98, 115, 194, 196, 240, 246 Rangklammerung, 24 Rangreihenfolge, 115 Rechtsschieben, 21 redundant, 8, 9, 12, 35, 56, 74, 100, 165, 194, 198, 248 Redundanz, 12 Referenz, VI, 61, 62, 73, 265 Register, 4, 5, 86, 102, 104, 105, 111, 177, 179 Reguläre Ausdrücke, 136, 140, 141, 156, Rekursion, VII, 32, 83, 90, 95, 103, 154, , 177, 194, 196 rekursiv, 33, 40, 83, 90, 95 98, 104, 130, 146, 154, 164, 177, 196 reserviert, 3, 60, 208, 244 Ressourcen, 125, 173, 239 Ressourcenschonung, VII, 239 rvalue, 17 Schiebeoperation, 24 Schlüsselwort, 3, 6, 23, 25, 39, 41, 48, 49, 55, 101, 102, 105, 194, 197, 205, 207, 248, 249, 266
22 278 Sachverzeichnis Schleife, 4, 12, 18, 39, 46, 92, 99, , 113, 125, 144, 145, 160, 172, 196 Schleifendurchlauf, 99 Schleifenkörper, 101 Schleifenverwaltung, 125 Schreibweise, 4, 23, 40, 55, 134 Segment, 126, 168 Seiteneffekte, 9, 111, 131, 194, 199 Sequenzpunkt, 12, 17, 22, 23, 117, 118, 199, 240 setjmp, 5, 109, 132, 194, 201, 209 Shell, , 157, 163, 166, 197, 263 Sicherheit, 60, 96, 121, 128, 131, 132, 151, 196, 199, 239 Signal, 179, 210 signal, 6, 115, 132, 210 SIGSEGV, 179 Skalierung, 124, 125 Skript, VII, 135, 136, 142, 143, , , 160, 166, 188, 243, 250 Skriptinterpreter, 154 Skriptsprache, 135, 150, 157, 188 Speicher, 27, 48, 52, 65 67, 72, 75, 76, 79, 83, 85, 95, 96, 99, 101, 103, 104, 111, 122, 123, 126, 128, 172, 173, 175, 176, 179, 180, 183, 204, 214, 257 Speicherbedarf, 82, 85, 96, 174, 179 Speicherbereich, 4, 48, 172, 176, 177, 208 Speichereinheit, 87, 88 Speicherfreigabe, 80, 172 Speicherklasse, 71, 102, 105, 172, 173, 177 Speicherlecks, 172, 173, 206 Speicherobjekt, 67, 83 Speicherplatz, 52, 65, 66, 68, 80, 85, 104, 128, , 177, 179, 203, 208, 240 Speicherverletzung, 78, 179 Speicherverwaltung, 174, 176 Speicherzuteilung, 80, 171, 173, 174, 179, 245, 265 Sprunganweisung, 197 Sprungmarke, 12, 178 Sprungstellennummer, 188 Sprungtabelle, 134, 188 Stack, 52, 56, 95, 103, , 183, 257 Stackbedarf, 177 Stacklimit, 179 Stackpointer, Standard, V VII, 3, 8, 25, 32, 40, 43, 47, 49, 54, 71 73, 83, 85, 93, 96, 103, 105, 114, 117, 122, 127, 129, 132, 139, 177, 183, , 205, 207, 210, 229, 242, , 265 Standardeingabe, 149 Standardfunktionen, 179 standardisiert, 86, 200, 207, 210 standardkonform, 41, 87, 114, 176 Startkode, 37, static, 4, 39, 41, 52, 71, 95, 101, 131, 167, 248, 265 statisch, 4, 41, 52, 71, 90, , 103, 104, 167, 188 stdin stdout stderr, 6, 211 Stephen Bourne, 142, 143, 145, 197, 263 Stil, 134, 137, 138 Stringizing, 12 Stringliterale, 248, 249 Strings, 82 Struktur, 3, 6, 12, 15, 18, 19, 50, 52, 61, 62, 65, 75, 83 85, 87, 88, 90, 100, 124, 126, 127, 129, 130, 133, 151, 176, 195, 201, 204, 209, 232, 234, 244, 248, 266 Strukturdefinition, 83 Strukturdeklaration, 244 Strukturgröße, 127 Strukturierung, 61, 84, 130 Strukturkomponente, 124, 126, 151, 201 Strukturtyp, 83, 84, 126, 130, 204 Strukturzeiger, 83, 124, 127 Substitution, 140, 141, 250 Substrukturen, 83, 126 Suchmuster, 71, 136, 139, 143, 165, 256, 259 Suffix, 26, 131 switch, 4, 108, 109, 113, 117, 188, 194, 197, 200, 248 Symbol, 4, 11, 39, 41, 60, 86, 102, 104, 167, 204 Syntax, 19, 23, 31, 44, 50, 60, 61, 113, 124, 136, 139, , 145, 148, 160, 164, 165, 168, 180, 203, 205, 251, 252 Syntaxeinfärbung, 139, 154, 205 Syntaxeinheiten, 25 Syntaxfehler, 240 Syntaxkonstruktion, 95, 111, 165 Tabelle, VI, 8, 151, 165 Tag, 204
23 Sachverzeichnis 279 Taktzyklen, 128 Textdatei, 139, 150, 151 Texteditor, 135 Textersetzungsmechanismus, 121 Tokenizer, 12 Translator, 142 Trap-Repräsentation, 54 Trenner, 12, 13, 23, 35, 253, 254 Trennwirkung, 25 Typ, VI, 3, 6 9, 13, 18 24, 26, 27, 37, 40, 41, 47 49, 52, 54, 62 69, 71, 73, 75 77, 79 87, 90 92, 94, 101, 104, 109, 111, 115, 116, 123, 124, 126, 129, 131, 132, 169, 171, 172, 182, 194, 198, 203, 208, , , 245, , 265, 267 Typ-Cast, 9, 18, 19, 22, 24, 63, 64, 73, 129, 171, 172, 208, 240, 241 Typdefinition, 204 typedef, 3, 6, 19, 61, 83, 115, 132, 204, 210, 265 Typgerecht, 9, 41, , 126 Typkombinationen, 20 Typnamen, 131 Typprüfung, 104 Typumwandlung, 9, 63, 64 Umgebungsvariablen, 40 Union, 54, 65, 75, 83, 85 87, 100, 204 UNIX, V VII, 43, 44, 49, 60, 114, 123, 127, 128, 131, 135, 139, 142, 143, 168, 179, 188, 210, 211, 229, 231, 234, Unterlauf, 242 Ursprungstyp, 63 va_list, 94 va_start, 93, 94, 183, 184 Variable, 5, 9, 14, 15, 17, 20, 23, 48, 54, 64 69, 76, 79, 90, 91, 100, 102, 103, 105, 109, 111, 113, 145, 146, 150, 165, 172, 188, 201, 209, 210 Variablendefinition, 265 Variableninhalt, 17, 66, 144 Variablennamen, 17, 138 Variadisch, 90, 202 Variante, 8, 17, 30, 32, 45, 55, 74, 93, 114, 122, 135, 180, 204, 215, 250 Vektor, 204 Vereinbarung, 203 Vereinbarungsbereich, 84 Vereinigung, 204 Verfasser, VI, VII, 135, 143, 239, 247, 248 Vergleich, 9, 21, 45, 63, 64, 68, 73, 135, 147, 179, 241, 249, 266 Vergleichsoperator, 21, 22, 72, 196, 248 Verkapselung, 101 Verknüpfung, 13, 20, 22, 68, 204 Verknüpfungsreihenfolge, 14 Verschachtelung, 29, 60, 66 Verschachtelungsebene, 126 Verschachtelungstiefe, 95 Versionskontrolle, 136 Verweis, 62 Verzeichnis, 49, 136, 229 VLA, 47, 52, 56, 109, 180 void, 3, 8, 9, 20, 22, 69, 90, 93, 107, 109, 111, 115, 129, 208, 213, 267 volatile, 4, 5, 9, 48, 111, 131, 201, 209 Vorzeichen, 3, 8, 16, 21, 71, 240 vorzeichenbehaftet, 8, 19, 198, 241, 242 vorzeichenerhaltend, 8, 63, 240 vorzeichenlos, 56, 240 Warnung, 19, 59, 71, 87, 114, 181, 201, 248, 261, 263 Wertbereich, 4, 7, 8, 27, 41, 48, 63, 248 Wertbeschneidung, 63 Wertekombinationen, 54 White space, 25 Wiederverwendbarkeit, 121 Windows, 123, 128, 135, 139, 143 Zahlenbasen, 26, 146, 243 Zahlenbereich, 8, 27, 65, 74, 87, 123, 242 Zahlendarstellung, 16, 72 Zahlenwertbereiche, 27, 240 Zeichenfolge, 12, 141, 146, 150, Zeichenkette, 21, 27, 28, 35, 40, 69, 82, 85, 92, 100, 114, 142, 173, 209, Zeichenkettenkonstante, 27, 31, 82, 100 Zeichenklasse, Zeichenkonstanten, 8, 27, 241, 248, 267 Zeichenmenge, 34, 252 Zeichenwerte, 143 Zeiger, 4, 50, 52, 61, 79, 83, 116, 126, 204, 244, 247 Zeilenanfang, , 259
24 280 Sachverzeichnis Zeilenargumenten, 151 Zeilenende, 29, 141, , 259, 264 Zeilenkommentar, 29, 48, 265 Zeilenlänge, 172 Zeilenvorschub, 28, 29, 33, 123, 141, 145, 211 Zielobjekt, 9, 19, 63 Zielpuffer, 29 Zieltyp, 20, 27, 63 Ziffer, 26, 28, 30, 133, 141, 213, 258 Ziffernmenge, 26 Ziffernzeichen, 25 Zugriffsadresse, 67, 78 Zugriffsberechnung, 78 Zugriffsbreite, 85 Zugriffserlaubnisse, 232 Zugriffsindex, 76 Zugriffsoperator, 15 Zusammenfassungsrichtung, 13, 240 Zustandsanzeige, 198 Zustandsmaschine, 108, 113, 197 Zuweisung, 9, 14, 17 20, 37, 48, 50, 63, 72, 82, 99, 103, 111, 113, 184, 214, 240, 247 Zuweisungsoperator, 50, 118 Zuweisungswert, 48 Zwischenraum, 61, 215 Zwischenraumzeichen, 25, 31, 215
Integer Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen
1 C-Schlüsselwörter Schlüsselwörter sind in allen Programmiersprachen reservierte Wörter. In C sind auch alle Namen _[A-Z]... und... reserviert, auch _... bereichsweise. Weiterhin durch die Standard-
MehrDie Reihe Xpert.press vermittelt Professionals in den Bereichen Softwareentwicklung, Internettechnologie und IT-Management aktuell und kompetent
Die Reihe Xpert.press vermittelt Professionals in den Bereichen Softwareentwicklung, Internettechnologie und IT-Management aktuell und kompetent relevantes Fachwissen über Technologien und Produkte zur
MehrModerne C-Programmierung
Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete
MehrModerne C-Programmierung
Helmut O.B. Schellong Moderne C-Programmierung Kompendium und Referenz 3., vollständig überarbeitete und erweiterte Auflage Springer Vieweg Inhaltsverzeichnis Teil I Erfassung der Sprache C / Referenz
MehrInhalt. 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
MehrEinheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten
Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik R. Spurk (Informatik)
MehrProgrammieren in. Brian W. Kernighan Dennis M. Ritchie ANSIC. Mit dem C-Reference Manual in deutscher Sprache. Zweite Ausgabe
Brian W. Kernighan Dennis M. Ritchie Programmieren in Mit dem C-Reference Manual in deutscher Sprache Zweite Ausgabe ANSIC Die deutsche Ausgabe besorgten Prof. Dr. A.T. Schreiner und Dr. Ernst Janich Eine
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29
Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente
MehrISO-SiMMlarcl. als erste Programmiersprache. Von Prof. Dr. Joachim Goll Uwe Grüner Prof. Herbert Wiese 2., durchgesehene Auflage
ISO-SiMMlarcl als erste Programmiersprache Von Prof. Dr. Joachim Goll Uwe Grüner Prof. Herbert Wiese 2., durchgesehene Auflage B.G.Teubner Stuttgart Leipzig 1999 Inhaltsverzeichnis 1.1 Algorithmen und
Mehr4.2 Programmiersprache C
4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.
MehrProgrammierkurs 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С 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
MehrEinführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz
Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public
MehrInhaltsverzeichnis. 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
MehrEinfü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).
MehrBerichte 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
MehrEine 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?
MehrRO-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
MehrAlgorithmen 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
MehrRepetitorium Programmieren I + II
Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case
MehrTeil II. Literatur zur C-Programmierung:
Teil II 2Kurzeinführung in die Programmiersprache C Literatur zur C-Programmierung: Darnell, Margolis. C: A Software Engineering Approach. Springer 1991 Kernighan, Ritchie. The C Programming Language.
MehrEffektiv 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
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 11 Was bisher verschwiegen wurde Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Type qualifier Typen können mit folgenden
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 11 Was bisher verschwiegen wurde Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Type qualifier Typen können mit folgenden
MehrManfred Dausmann Ulrich BröckI Dominik Schoop Joachim Goll C als erste Programmiersprache
Manfred Dausmann Ulrich BröckI Dominik Schoop Joachim Goll C als erste Programmiersprache Vom Einsteiger zum Fortgeschrittenen 7., überarbeitete und erweiterte Auflage Mit 35 Abbildungen STUDIUM VIEWEG+
MehrSystemprogrammierung
IEinführung I in die Programmiersprache C Literatur zur C-Programmierung: Darnell, Margolis. C: Software Engineering pproach. Springer 1991 Kernighan, Ritchie. The C Programming Language. Prentice-Hall
MehrRO-Tutorien 17 und 18
RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 2 AM 10.05.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrTyp : void* aktuelle Parameter Pointer von beliebigem Typ
2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben
MehrRO-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
MehrPeter 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
Mehr7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});
S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht
MehrInhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen
Inhalt 3 Bemerkung... 9 Vorwort... 10 1 Programme und Programmiersprachen 1.1 Assembler... 13 1.2 Höhere Programmiersprachen... 15 1.2.1 Interpreter... 16 1.2.2 Compiler... 17 1.2.3 Zwischencode... 18
MehrEinstieg 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
MehrF 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
MehrProgrammiertechnik. 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
MehrPraxis der Programmierung
Arrays, Pointerarithmetik, Konstanten, Makros Institut für Informatik und Computational Science Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Arrays (Felder/Vektoren) 2 Arrays: Motivation
MehrHerzlich willkommen!
Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in
MehrUnterlagen. 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
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 4 Storage classes Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Compilation units Compilierung eines mehrteiligen Programms:
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 4 Storage classes Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Compilation units Compilierung eines mehrteiligen Programms:
MehrC Kurzeinführung in die Programmiersprache C
C Kurzeinführung in die Programmiersprache C C Kurzeinführung in die Programmiersprache C Literatur zur C-Programmierung: Darnell, Margolis. C: A Software Engineering Approach. Springer 1991 Kernighan,
MehrC Kurzeinführung in die Programmiersprache C. C-3 Datentypen und Variablen. C-2 Struktur eines C-Programms. C-1 Überblick. 1 Standardtypen in C
C Kurzeinführung in die Programmiersprache C C Kurzeinführung in die Programmiersprache C Literatur zur C-Programmierung: Datentypen legen fest: Darnell, Margolis. C: A Software Engineering Approach. Springer
MehrEinleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn
C: Funktionen Philip Gawehn Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg Do., 22.05.2014 1 / 23 Gliederung
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrArrays (Felder/Vektoren)
Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff
MehrGrundlagen. Die Komponenten eines C Programms. Das erste Programm
Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 1 Einführung Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Inhalte der Veranstaltung 1 Einführung das Maschinenmodell
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen assemblerähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrProgrammieren in C. Speicher anfordern, Unions und Bitfelder. Prof. Dr. Nikolaus Wulff
Programmieren in C Speicher anfordern, Unions und Bitfelder Prof. Dr. Nikolaus Wulff Vergleich: Felder und Strukturen Felder müssen Elemente vom selben Typ enthalten. Strukturen können Elemente unterschiedlichen
MehrVorlesung Programmieren
Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
Mehr1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
Mehr1. Referenzdatentypen: Felder und Strings
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
MehrVorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2
Vorwort zur zweiten Auflage 1 Vorwort zur ersten Auflage 2 1 Über dieses Buch 3 1.1 WarumdiesesBuch?... 3 1.2 Voraussetzungen...... 4 1.3 Systematik... 4 1.4 WieliestmandiesesBuch?... 6 1.5 ZugriffaufdieQuellenzudenBeispielen...
MehrProgrammieren in C / C++ Grundlagen C 2
Programmieren in C / C++ Grundlagen C 2 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisung / Ausdruck 1 Programm setzt sich aus vielen Anweisungen
MehrEinführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin
Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm
Mehr2. 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)
Mehr3. Einführung in C Programmierung Einführung in C Programmierung
Einführung in C Programmierung 3-1 Warum die Programmiersprache C lernen? C Programme sind leicht zwischen verschiedenen Systemumgebungen portierbar. C ist eine geeignete Sprache zum Aufbau einer Programmbausteinbibliothek.
MehrInhalte. Einführung. Algorithmus, Programmiersprache, Compiler und Linker. Datentypen (elementare) Kontrollstrukturen. Präprozessoranweisungen
INFDT.1 Informatik I Einführung Algorithmus, Programmiersprache, Compiler und Linker Datentypen (elementare) Kontrollstrukturen Präprozessoranweisungen Libraries Funktionen und Klassen Inhalte INFDT.2
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrElementare Datentypen in C++
Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der
MehrEinheit 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ÜBUNGS-BLOCK 7 LÖSUNGEN
ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
MehrC für Java-Programmierer
Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im
MehrEinfü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
MehrC++ 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
Mehr76,81,85 11' 16, 17 10, 13, 14,44,47,49,69, 70,75,99 42,43,44,49 94,95 97,98 42,48,49,50,56,63, 65,92,105 97,98 19,94,108 19, 101
149 15 REGISTER abgeleitete Klassen abgeleitete Typen abort abstrakte Datentypen abstrakter Typname Adresse aktueller Parameter Anweisung append arge Argument argv Elementare Anweisungen Kontrollanweisungen
MehrKapitel 2: Grundelemente der Programmierung
Kapitel 2: Grundelemente der Programmierung Variablen Variablen sind Speicherbereiche im Arbeitsspeicher Anhand eines Namens kann man Werte hineinschreiben und auch wieder auslesen Variablen besitzen ein
MehrProgrammieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen
Mehr2. 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)
MehrGedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.
Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
MehrErste Schritte der Programmierung in C
Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)
MehrProgrammieren 1 C Überblick
Programmieren C Überblick. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen
MehrVorwort 3 Inhaltsverzeichnis 5 1 Zu diesem Buch Beschreibungskonventionen Glossar 16
Inhaltsverzeichnis 5 Inhaltsverzeichnis Vorwort 3 Inhaltsverzeichnis 5 1 Zu diesem Buch 14 1.1 Beschreibungskonventionen 15 1.2 Glossar 16 2 Einführung 20 2.1 Aufbau eines Programms 20 H-File (Header-File)
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
MehrGrundlagen 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
MehrC für Java- Programmierer
Carsten Vogt C für Java- Programmierer mit 59 Bildern, 36 Tabellen und 35 Aufgaben HANSER Inhalt 1 Einführung 13 Schnelleinstieg 14 1.1 C und Java von den Anfängen bis heute 15 1.1.1 Die Entwicklung von
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrInhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ablauf Was sind Funktionen/Methoden
MehrSprachkonstrukte. 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
MehrEinleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens
Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität
MehrProgrammieren in C+ Einführung in den Sprachstandard C++ Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona Budapest
Martin Schader Stefan Kuhlins Programmieren in C+ Einführung in den Sprachstandard C++ Zweite, verbesserte und erweiterte Auflage Mit 25 Abbildungen Springer-Verlag Berlin Heidelberg New York London Paris
MehrCrashkurs C++ - Teil 1
Crashkurs C++ - Teil 1 Intro Speicherverwaltung Variablen, Pointer, Referenzen Felder statische & dynamische Allozierung Birgit Möller & Denis Williams AG Bioinformatik & Mustererkennung Institut für Informatik
MehrObjektorientierte Programmierung mite**
mc Jürgen Franz/Christoph Mattheis Objektorientierte Programmierung mite** Systemunabhängig umsteigen auf C ++ Windowsprogrammierung Beispiele für UNIX Mit 66 Abbildungen Franzis 9 Inhalt 1 Überblick C++
MehrC als erste Programmiersprache
Manfred Dausmann, Ulrich Bröckl, Joachim Goll C als erste Programmiersprache Vom Einsteiger zum Profi 6., überarbeitete Auflage Teubner Inhaltsverzeichnis 1 Grundbegriffe der Programmierung 2 1.1 Das erste
MehrInhaltsverzeichnis I Grundlagen...1 II Programmieren in C/C
I Grundlagen...1 1 Grundprinzipien der Datenverarbeitung...2 1.1 Historische Entwicklung der Datenverarbeitung...2 1.1.1 Von A wie Abakus bis Z wie Zuse...2 1.1.2 Die Rechnergenerationen...3 1.1.3 Computer
MehrJavakurs 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
MehrSpeicherklassen (1) Lokale Variablen
Speicherklassen (1) Lokale Variablen Lokale Variablen beschränken sich auf die Funktionen, in denen sie definiert werden Sind in der Funktion gekapselt können also nur in der Funktion verändert werden
Mehr