Ganzer | Praktisches Programmieren in C | E-Book | sack.de
E-Book

E-Book, Deutsch, 404 Seiten

Reihe: Programmieren

Ganzer Praktisches Programmieren in C

Grundlagen und Tipps
1. Auflage 2010
ISBN: 978-3-7723-5208-9
Verlag: Franzis Verlag
Format: PDF
Kopierschutz: 1 - PDF Watermark

Grundlagen und Tipps

E-Book, Deutsch, 404 Seiten

Reihe: Programmieren

ISBN: 978-3-7723-5208-9
Verlag: Franzis Verlag
Format: PDF
Kopierschutz: 1 - PDF Watermark



Wer programmieren will, kommt an C nicht vorbei. Vor allem bei der maschinennahen Programmierung, der Entwicklung von Betriebssystemen und in der technischen Informatik spielt C seit mehr als 30 Jahren eine entscheidende Rolle. Dieses Buch bietet mit vielen Beispielen einen praktischen Einstieg in C. Neben den unverzichtbaren Grundlagen beschreibt der Autor auch komplexe Themen wie z. B. Zeigerarithmetik und die Speicherverwaltung.

Ganzer Praktisches Programmieren in C jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Inhaltsverzeichnis;6
2;1 Einführung;12
2.1;1.1 Voraussetzungen;12
2.2;1.2 Die Grenzen dieses Buchs;13
2.3;1.3 Einige Begriffe vorweg;14
2.4;1.4 Typografie;16
2.5;1.5 Die CD zum Buch;18
3;2 Aus- und Eingabe von Daten;20
3.1;2.1 Schreiben in den Bildschirm;20
3.1.1;2.1.1 Einfache Textausgaben;20
3.1.2;2.1.2 Ausgabefunktionen aus der Datei »conio.h«;26
3.1.3;2.1.3 Ausgabe von Zahlen;30
3.2;2.2 Arbeiten mit Variablen;33
3.2.1;2.2.1 Was ist eine Variable?;34
3.2.2;2.2.2 Verwenden von Variablen, die Zahlen speichern;35
3.2.3;2.2.3 Variablen für Zeichen und Zeichenketten;37
3.3;2.3 Exkurs: Bezeichner;41
3.4;2.4 Eingaben über die Tastatur;41
3.4.1;2.4.1 Einlesen von Zeichenketten;42
3.4.2;2.4.2 Einlesen von Zahlen;44
3.4.3;2.4.3 Zeichenketten über scanf() einlesen;46
3.4.4;2.4.4 Eingaben aus einer Zeichenkette lesen;47
4;3 Arbeiten mit einfachen Datentypen;50
4.1;3.1 Die Grunddatentypen in C;50
4.2;3.2 Einige Operatoren;55
4.2.1;3.2.1 Arithmetische Operatoren;55
4.3;3.3 Typumwandlung;71
4.4;3.4 Definieren von benannten Konstanten in C;74
4.4.1;3.4.1 Das Schlüsselwort const;74
4.4.2;3.4.2 Aufzählungen;74
5;4 Programmstrukturen;78
5.1;4.1 Logische Operatoren;78
5.1.1;4.1.1 Einfache Bedingungen;79
5.1.2;4.1.2 Komplexe Bedingungen;81
5.2;4.2 Alternativen;81
5.2.1;4.2.1 Die unbedingte Verzweigung;82
5.2.2;4.2.2 Die bedingte Verzweigung;83
5.3;4.3 Schleifen;91
5.3.1;4.3.1 Die Endlosschleife;91
5.3.2;4.3.2 Die Zählschleife;91
5.3.3;4.3.3 Eine einfache Schleife mit while;96
5.3.4;4.3.4 Eine einfache Schleife mit do-while;98
5.3.5;4.3.5 Die break-Anweisung in Schleifen;99
5.3.6;4.3.6 Die Anweisung continue;101
6;5 Komplexe Datentypen;104
6.1;5.1 Arbeiten mit Speicheradressen;104
6.2;5.2 Felder;112
6.2.1;5.2.1 Eindimensionale Felder;112
6.2.2;5.2.2 Exkurs: Fehlerbehandlung;114
6.2.3;5.2.3 Mehrdimensionale Felder;116
6.2.4;5.2.4 Initialisierung von Feldern;117
6.3;5.3 Zeichenketten;119
6.3.1;5.3.1 Zeichenketten definieren;119
6.3.2;5.3.2 Besonderheiten bei der Initialisierung;120
6.3.3;5.3.3 Konstante Zeichenketten;121
6.3.4;5.3.4 cgets() aus »conio.h«;122
6.3.5;5.3.5 Felder aus Zeichenketten;124
6.3.6;5.3.6 Die Informationsdatei »string.h«;126
6.4;5.4 Strukturen;132
6.4.1;5.4.1 Definieren eines neuen Datentyps;132
6.4.2;5.4.2 Der Zugriff auf Strukturkomponenten;134
6.4.3;5.4.3 Zeiger auf Strukturen;136
6.4.4;5.4.4 Initialisieren von Strukturen;137
6.4.5;5.4.5 Geschachtelte Strukturen;138
6.5;5.5 Unionen;139
6.5.1;5.5.1 Im Vergleich zur Struktur;139
6.5.2;5.5.2 Sparen von Speicherplatz;141
6.5.3;5.5.3 Unbestimmte Datentypen;143
6.5.4;5.5.4 Einfacher Zugriff auf bestimmte Bytes;144
6.5.5;5.5.5 Exkurs: Zahlen im Speicher;146
6.6;5.6 Bitfelder;149
6.7;5.7 Pseudo-Datentypen über typedef;151
6.7.1;5.7.1 Strukturen oder Unionen über typedef;151
6.7.2;5.7.2 Synonyme für vorhandene Datentypen;152
7;6 Funktionen;156
7.1;6.1 Begriffe bei der Arbeit;156
7.1.1;6.1.1 Prozedur und Funktion;156
7.1.2;6.1.2 Definition und Deklaration;157
7.2;6.2 Grundlagen der C-Funktionen;158
7.2.1;6.2.1 Der allgemeine Aufbau einer Funktion;158
7.2.2;6.2.2 Definieren einer Funktion in C;159
7.2.3;6.2.3 Die Parameterliste im Funktionskopf;161
7.2.4;6.2.4 Deklarieren einer Funktion in C;162
7.2.5;6.2.5 Funktionen ohne Rückgaben;164
7.3;6.3 Zeiger, Parameter und Rückgaben;181
7.3.1;6.3.1 Wie werden Parameter in C behandelt?;181
7.3.2;6.3.2 Strukturen als Parameter;184
7.3.3;6.3.3 Übergabe von Feldern an Funktionen;186
7.3.4;6.3.4 Ellipsen;191
7.3.5;6.3.5 Sinnvolle Rückgaben;194
7.4;6.4 Die Funktion main();196
7.4.1;6.4.1 Grundlagen;196
7.4.2;6.4.2 Ein praktisches Beispiel;202
7.5;6.5 Sichtbarkeit und Gültigkeit;204
7.5.1;6.5.1 Die Problematik im Beispiel;204
7.5.2;6.5.2 Lokale und globale Definitionen;212
7.6;6.6 Speicherklassen;214
7.6.1;6.6.1 Speicherklassen für Funktionen;214
7.6.2;6.6.2 Speicherklassen für Variablen;214
7.7;6.7 Eingaben von der Tastatur lesen;215
7.7.1;6.7.1 Formulierung der Anforderungen;216
7.7.2;6.7.2 Die Eingabefunktion;218
7.7.3;6.7.3 Erzeugen von Zeichensätzen;222
7.7.4;6.7.4 Eine abschließende Probe;225
8;7 Der Präprozessor;228
8.1;7.1 Makros und Konstanten;228
8.1.1;7.1.1 Die Anweisungen #define und #undef;228
8.1.2;7.1.2 Nützliche Präprozessorkonstanten;231
8.1.3;7.1.3 Makros;234
8.2;7.2 Funktionen oder Makros?;236
8.2.1;7.2.1 Gefahren eines Makros;236
8.2.2;7.2.2 Vorteile eines Makros;237
8.3;7.3 Arbeiten mit mehreren Dateien;238
8.3.1;7.3.1 Ein erstes Pseudomodul;239
8.3.2;7.3.2 Bedingtes Übersetzen;242
8.4;7.4 Systemunabhängige Programme;245
8.4.1;7.4.1 Compiler und Umgebungen erkennen;246
8.4.2;7.4.2 Gleiche Datentypen für jeden Compiler;253
9;8 Modularisierung;260
9.1;8.1 Ein erstes Beispiel;260
9.1.1;8.1.1 Das Hauptmodul;261
9.1.2;8.1.2 Die Informationsdatei »getstr.h«;261
9.1.3;8.1.4 Resümee;264
9.1.4;8.1.3 Das Modul »getstr.c«;263
9.2;8.2 Exkurs: make;265
9.2.1;8.2.1 Was ist make?;265
9.2.2;8.2.2 Ziele, Abhängigkeiten und Regeln;266
9.2.3;8.2.3 make verwenden;268
9.2.4;8.2.4 Erweiterte Abhängigkeiten;270
9.2.5;8.2.5 Makros und Direktiven;273
9.2.6;8.2.6 Implizite Regeln;275
9.2.7;8.2.7 Verzeichnisse in einem Makefile;277
9.3;8.3 Lotto – ein größeres Projekt;281
9.3.1;8.3.1 Die Anforderungen;282
9.3.2;8.3.2 Die Verzeichnisstruktur;282
9.3.3;8.3.3 Die Module;285
10;9 Zeiger und Speicher;300
10.1;9.1 Zeiger auf Funktionen;300
10.1.1;9.1.1 Die reguläre Definition;301
10.1.2;9.1.2 Funktionszeiger über typedef;304
10.1.3;9.1.3 Eine praktische Anwendung;305
10.2;9.2 Zeigerarithmetik;307
10.2.1;9.2.1 Die einfache Arithmetik;308
10.2.2;9.2.2 Besonderheiten bei mehrdimensionalen Feldern;311
10.2.3;9.2.3 Praktische Beispiele;314
10.3;9.3 Der Heap;316
10.3.1;9.3.1 Funktionen zur Heap-Verwaltung;317
10.3.2;9.3.2 Felder auf dem Heap;321
11;10 Dateien und Verzeichnisse;326
11.1;10.1 Arbeiten mit Dateien;326
11.1.1;10.1.1 Öffnen, schließen und löschen von Dateien;326
11.1.2;10.1.2 Arbeiten mit Textdateien;328
11.1.3;10.1.3 Arbeiten mit Binärdateien;332
11.1.4;10.1.4 Dateien kopieren, umbenennen und verschieben;339
11.1.5;10.1.5 Prüfen von Dateieigenschaften;341
11.2;10.2 Arbeiten mit Verzeichnissen;345
11.2.1;10.2.1 Arbeitsverzeichnis ermitteln und setzen;347
11.2.2;10.2.2 Verzeichnisse erstellen und löschen;352
11.2.3;10.2.3 Rekursives Verarbeiten von Verzeichnissen;356
12;A Compiler und Umgebungen;364
12.1;A.1 Kommandozeilencompiler;364
12.1.1;A.1.1 Linux und MinGW (gcc);364
12.1.2;A.1.2 Borland (bcc32);367
12.2;A.2 Entwicklungsumgebungen;369
12.2.1;A.2.1 Dev-C++ und wx-DevCpp;369
12.2.2;A.2.2 MinGW Developer Studio;372
12.2.3;A.2.3 Open Watcom 1.4;375
13;B Operatoren;378
14;C Literale Konstanten;382
14.1;C.1 Numerische Literale;382
14.1.1;C.1.1 Zahlen allgemein;382
14.1.2;C.1.2 Suffixe;382
14.2;C.2 Zeichen und Zeichenketten;384
15;D Formatkennzeichner und Steuerzeichen;386
15.1;D.1 Steuerzeichen;386
15.2;D.2 Formatkennzeichner;387
15.2.1;D.2.1 printf() und scanf();387
15.2.2;D.2.2 strftime();390
16;E ANSI-Escape-Sequenzen;392
17;F Literatur;396
18;Stichwortverzeichnis;398



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.