dummies
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

Praktisches Programmieren in C - Grundlagen und Tipps

Andreas Ganzer

 

Verlag Franzis, 2010

ISBN 9783772352089 , 404 Seiten

Format PDF, OL

Kopierschutz Wasserzeichen

Geräte

19,99 EUR

Für Firmen: Nutzung über Internet und Intranet (ab 2 Exemplaren) freigegeben

Derzeit können über den Shop maximal 500 Exemplare bestellt werden. Benötigen Sie mehr Exemplare, nehmen Sie bitte Kontakt mit uns auf.


 

Inhaltsverzeichnis

6

1 Einführung

12

1.1 Voraussetzungen

12

1.2 Die Grenzen dieses Buchs

13

1.3 Einige Begriffe vorweg

14

1.4 Typografie

16

1.5 Die CD zum Buch

18

2 Aus- und Eingabe von Daten

20

2.1 Schreiben in den Bildschirm

20

2.1.1 Einfache Textausgaben

20

2.1.2 Ausgabefunktionen aus der Datei »conio.h«

26

2.1.3 Ausgabe von Zahlen

30

2.2 Arbeiten mit Variablen

33

2.2.1 Was ist eine Variable?

34

2.2.2 Verwenden von Variablen, die Zahlen speichern

35

2.2.3 Variablen für Zeichen und Zeichenketten

37

2.3 Exkurs: Bezeichner

41

2.4 Eingaben über die Tastatur

41

2.4.1 Einlesen von Zeichenketten

42

2.4.2 Einlesen von Zahlen

44

2.4.3 Zeichenketten über scanf() einlesen

46

2.4.4 Eingaben aus einer Zeichenkette lesen

47

3 Arbeiten mit einfachen Datentypen

50

3.1 Die Grunddatentypen in C

50

3.2 Einige Operatoren

55

3.2.1 Arithmetische Operatoren

55

3.3 Typumwandlung

71

3.4 Definieren von benannten Konstanten in C

74

3.4.1 Das Schlüsselwort const

74

3.4.2 Aufzählungen

74

4 Programmstrukturen

78

4.1 Logische Operatoren

78

4.1.1 Einfache Bedingungen

79

4.1.2 Komplexe Bedingungen

81

4.2 Alternativen

81

4.2.1 Die unbedingte Verzweigung

82

4.2.2 Die bedingte Verzweigung

83

4.3 Schleifen

91

4.3.1 Die Endlosschleife

91

4.3.2 Die Zählschleife

91

4.3.3 Eine einfache Schleife mit while

96

4.3.4 Eine einfache Schleife mit do-while

98

4.3.5 Die break-Anweisung in Schleifen

99

4.3.6 Die Anweisung continue

101

5 Komplexe Datentypen

104

5.1 Arbeiten mit Speicheradressen

104

5.2 Felder

112

5.2.1 Eindimensionale Felder

112

5.2.2 Exkurs: Fehlerbehandlung

114

5.2.3 Mehrdimensionale Felder

116

5.2.4 Initialisierung von Feldern

117

5.3 Zeichenketten

119

5.3.1 Zeichenketten definieren

119

5.3.2 Besonderheiten bei der Initialisierung

120

5.3.3 Konstante Zeichenketten

121

5.3.4 cgets() aus »conio.h«

122

5.3.5 Felder aus Zeichenketten

124

5.3.6 Die Informationsdatei »string.h«

126

5.4 Strukturen

132

5.4.1 Definieren eines neuen Datentyps

132

5.4.2 Der Zugriff auf Strukturkomponenten

134

5.4.3 Zeiger auf Strukturen

136

5.4.4 Initialisieren von Strukturen

137

5.4.5 Geschachtelte Strukturen

138

5.5 Unionen

139

5.5.1 Im Vergleich zur Struktur

139

5.5.2 Sparen von Speicherplatz

141

5.5.3 Unbestimmte Datentypen

143

5.5.4 Einfacher Zugriff auf bestimmte Bytes

144

5.5.5 Exkurs: Zahlen im Speicher

146

5.6 Bitfelder

149

5.7 Pseudo-Datentypen über typedef

151

5.7.1 Strukturen oder Unionen über typedef

151

5.7.2 Synonyme für vorhandene Datentypen

152

6 Funktionen

156

6.1 Begriffe bei der Arbeit

156

6.1.1 Prozedur und Funktion

156

6.1.2 Definition und Deklaration

157

6.2 Grundlagen der C-Funktionen

158

6.2.1 Der allgemeine Aufbau einer Funktion

158

6.2.2 Definieren einer Funktion in C

159

6.2.3 Die Parameterliste im Funktionskopf

161

6.2.4 Deklarieren einer Funktion in C

162

6.2.5 Funktionen ohne Rückgaben

164

6.3 Zeiger, Parameter und Rückgaben

181

6.3.1 Wie werden Parameter in C behandelt?

181

6.3.2 Strukturen als Parameter

184

6.3.3 Übergabe von Feldern an Funktionen

186

6.3.4 Ellipsen

191

6.3.5 Sinnvolle Rückgaben

194

6.4 Die Funktion main()

196

6.4.1 Grundlagen

196

6.4.2 Ein praktisches Beispiel

202

6.5 Sichtbarkeit und Gültigkeit

204

6.5.1 Die Problematik im Beispiel

204

6.5.2 Lokale und globale Definitionen

212

6.6 Speicherklassen

214

6.6.1 Speicherklassen für Funktionen

214

6.6.2 Speicherklassen für Variablen

214

6.7 Eingaben von der Tastatur lesen

215

6.7.1 Formulierung der Anforderungen

216

6.7.2 Die Eingabefunktion

218

6.7.3 Erzeugen von Zeichensätzen

222

6.7.4 Eine abschließende Probe

225

7 Der Präprozessor

228

7.1 Makros und Konstanten

228

7.1.1 Die Anweisungen #define und #undef

228

7.1.2 Nützliche Präprozessorkonstanten

231

7.1.3 Makros

234

7.2 Funktionen oder Makros?

236

7.2.1 Gefahren eines Makros

236

7.2.2 Vorteile eines Makros

237

7.3 Arbeiten mit mehreren Dateien

238

7.3.1 Ein erstes Pseudomodul

239

7.3.2 Bedingtes Übersetzen

242

7.4 Systemunabhängige Programme

245

7.4.1 Compiler und Umgebungen erkennen

246

7.4.2 Gleiche Datentypen für jeden Compiler

253

8 Modularisierung

260

8.1 Ein erstes Beispiel

260

8.1.1 Das Hauptmodul

261

8.1.2 Die Informationsdatei »getstr.h«

261

8.1.4 Resümee

264

8.1.3 Das Modul »getstr.c«

263

8.2 Exkurs: make

265

8.2.1 Was ist make?

265

8.2.2 Ziele, Abhängigkeiten und Regeln

266

8.2.3 make verwenden

268

8.2.4 Erweiterte Abhängigkeiten

270

8.2.5 Makros und Direktiven

273

8.2.6 Implizite Regeln

275

8.2.7 Verzeichnisse in einem Makefile

277

8.3 Lotto – ein größeres Projekt

281

8.3.1 Die Anforderungen

282

8.3.2 Die Verzeichnisstruktur

282

8.3.3 Die Module

285

9 Zeiger und Speicher

300

9.1 Zeiger auf Funktionen

300

9.1.1 Die reguläre Definition

301

9.1.2 Funktionszeiger über typedef

304

9.1.3 Eine praktische Anwendung

305

9.2 Zeigerarithmetik

307

9.2.1 Die einfache Arithmetik

308

9.2.2 Besonderheiten bei mehrdimensionalen Feldern

311

9.2.3 Praktische Beispiele

314

9.3 Der Heap

316

9.3.1 Funktionen zur Heap-Verwaltung

317

9.3.2 Felder auf dem Heap

321

10 Dateien und Verzeichnisse

326

10.1 Arbeiten mit Dateien

326

10.1.1 Öffnen, schließen und löschen von Dateien

326

10.1.2 Arbeiten mit Textdateien

328

10.1.3 Arbeiten mit Binärdateien

332

10.1.4 Dateien kopieren, umbenennen und verschieben

339

10.1.5 Prüfen von Dateieigenschaften

341

10.2 Arbeiten mit Verzeichnissen

345

10.2.1 Arbeitsverzeichnis ermitteln und setzen

347

10.2.2 Verzeichnisse erstellen und löschen

352

10.2.3 Rekursives Verarbeiten von Verzeichnissen

356

A Compiler und Umgebungen

364

A.1 Kommandozeilencompiler

364

A.1.1 Linux und MinGW (gcc)

364

A.1.2 Borland (bcc32)

367

A.2 Entwicklungsumgebungen

369

A.2.1 Dev-C++ und wx-DevCpp

369

A.2.2 MinGW Developer Studio

372

A.2.3 Open Watcom 1.4

375

B Operatoren

378

C Literale Konstanten

382

C.1 Numerische Literale

382

C.1.1 Zahlen allgemein

382

C.1.2 Suffixe

382

C.2 Zeichen und Zeichenketten

384

D Formatkennzeichner und Steuerzeichen

386

D.1 Steuerzeichen

386

D.2 Formatkennzeichner

387

D.2.1 printf() und scanf()

387

D.2.2 strftime()

390

E ANSI-Escape-Sequenzen

392

F Literatur

396

Stichwortverzeichnis

398