24,90 €*
Versandkostenfrei per Post / DHL
auf Lager, Lieferzeit 1-2 Werktage
Mit diesem kleinschrittigen Lernkurs gelingt der Einstieg in die C-Programmierung mühelos. An vielen praxiserprobten Programmbeispielen werden die Grundlagen verständlich erklärt. Übungsaufgaben helfen dabei, das erworbene Wissen zu vertiefen und anzuwenden. Das Buch eignet sich auch bestens für Einsteiger ohne Programmierkenntnisse.
Aus dem Inhalt:
- Editor und Compiler einrichten
- Einführung in die Syntax
- Schleifen, Funktionen und Zeiger anwenden
- Daten dynamisch verwalten
- Auf Dateien und Verzeichnisse zugreifen
- Betriebssystem ansteuern
- Viele Praxistipps zur Fehlersuche
- Eine Datenbank mit SQLite aufbauen
- GUIs mit GTK+ entwickeln
- Raspberry Pi kennenlernen
Mit diesem kleinschrittigen Lernkurs gelingt der Einstieg in die C-Programmierung mühelos. An vielen praxiserprobten Programmbeispielen werden die Grundlagen verständlich erklärt. Übungsaufgaben helfen dabei, das erworbene Wissen zu vertiefen und anzuwenden. Das Buch eignet sich auch bestens für Einsteiger ohne Programmierkenntnisse.
Aus dem Inhalt:
- Editor und Compiler einrichten
- Einführung in die Syntax
- Schleifen, Funktionen und Zeiger anwenden
- Daten dynamisch verwalten
- Auf Dateien und Verzeichnisse zugreifen
- Betriebssystem ansteuern
- Viele Praxistipps zur Fehlersuche
- Eine Datenbank mit SQLite aufbauen
- GUIs mit GTK+ entwickeln
- Raspberry Pi kennenlernen
1. Eine erste Einführung ... 15
1.1 ... Welche Vorteile bietet C? ... 15
1.2 ... Was benötige ich zum Programmieren? ... 16
1.3 ... Wie ist dieses Buch aufgebaut? ... 16
1.4 ... Wie sollten Sie mit diesem Buch arbeiten? ... 17
1.5 ... C-Standards ... 18
1.6 ... Ubuntu Linux unter Windows ... 18
2. Unser erstes Programm ... 21
2.1 ... Wie gebe ich das Programm ein? ... 21
2.2 ... Was bedeuten die einzelnen Zeilen? ... 22
2.3 ... Das Programm wird gespeichert ... 23
2.4 ... Wie starte ich das fertige Programm? ... 24
2.5 ... Eine weitere Möglichkeit zum Starten ... 26
2.6 ... Kommentare sind wichtig ... 28
2.7 ... Eine Übungsaufgabe ... 29
3. Verschiedene Arten von Daten ... 31
3.1 ... Daten bekannt machen und speichern ... 31
3.2 ... Wie gebe ich Daten auf dem Bildschirm aus? ... 33
3.3 ... Wie kann der Benutzer seine Daten per Tastatur eingeben? ... 34
3.4 ... Berechnungen mit Operatoren ... 36
3.5 ... Entwicklung eines Programms ... 38
3.6 ... Fehler suchen ... 39
3.7 ... Eine Übungsaufgabe ... 41
4. Verschiedene Fälle in einem Programm ... 43
4.1 ... Eine einfache Bedingung mit 'if' ... 43
4.2 ... Welche Bedingungen gibt es? ... 45
4.3 ... Zwei Möglichkeiten, mit 'if' und 'else' ... 46
4.4 ... Wie kann ich Bedingungen kombinieren? ... 47
4.5 ... Eine Übungsaufgabe ... 49
5. Programmteile wiederholen ... 51
5.1 ... Regelmäßige Wiederholungen mit 'for' ... 52
5.2 ... Bedingte Wiederholungen mit 'do-while' ... 54
5.3 ... Besser vorher prüfen mit 'while'? ... 56
5.4 ... Tabellen formatieren ... 59
5.5 ... Eine Übungsaufgabe zu Tabellen ... 60
5.6 ... Eine Übungsaufgabe zur Eingabekontrolle ... 61
6. Programme übersichtlich aufteilen ... 63
6.1 ... Wie definiere ich eine Funktion? ... 63
6.2 ... Wie rufe ich eine Funktion auf? ... 65
6.3 ... Werte an eine Funktion übergeben ... 66
6.4 ... Ein Ergebnis von einer Funktion zurückerhalten ... 68
6.5 ... Eine Übungsaufgabe ... 69
7. Große Datenmengen speichern ... 71
7.1 ... Felder erzeugen und mit Daten füllen ... 71
7.2 ... Wie gebe ich die Daten aus? ... 73
7.3 ... Wie kann der Benutzer ein Feld füllen? ... 74
7.4 ... Eine Übungsaufgabe ... 76
8. Zeichen und Texte speichern ... 77
8.1 ... Zeichenketten erzeugen und füllen ... 77
8.2 ... Wie gebe ich eine Zeichenkette aus? ... 79
8.3 ... Wie kann der Benutzer eine Zeichenkette füllen? ... 80
8.4 ... Mehrere Zeichenketten ... 81
8.5 ... Wie kann ich Zeichenketten formatieren? ... 82
8.6 ... Eine Übungsaufgabe ... 83
9. Indirekter Zugriff mit Zeigern ... 85
9.1 ... Wie arbeite ich mit Zeigern und Adressen? ... 85
9.2 ... Wie nutze ich Zeiger bei Funktionen? ... 87
9.3 ... Wir zeigen auf Felder ... 88
9.4 ... Eine Übungsaufgabe ... 90
10. Unterschiedliche Daten zusammenfassen ... 93
10.1 ... Strukturen definieren ... 93
10.2 ... Wie erzeuge ich Strukturdaten? ... 94
10.3 ... Wie gebe ich die Daten aus? ... 95
10.4 ... Wie kann der Benutzer Strukturen füllen? ... 96
10.5 ... Mehrere Strukturdaten ... 98
10.6 ... Wie übergebe ich Strukturdaten? ... 99
10.7 ... Eine Übungsaufgabe ... 102
11. Daten auf der Festplatte ... 105
11.1 ... Wie speichere ich Daten auf der Festplatte? ... 105
11.2 ... Wie lese ich Daten von der Festplatte? ... 108
11.3 ... Eine Übungsaufgabe ... 110
12. Eine Vertiefung der bisherigen Themen ... 111
12.1 ... Verschiedene Arten von Daten ... 111
12.2 ... Verschiedene Fälle in einem Programm ... 129
12.3 ... Programmteile wiederholen ... 137
12.4 ... Programme übersichtlich aufteilen ... 145
12.5 ... Große Datenmengen speichern ... 156
12.6 ... Zeichen und Texte speichern ... 174
12.7 ... Indirekter Zugriff mit Zeigern ... 200
12.8 ... Unterschiedliche Daten zusammenfassen ... 202
12.9 ... Daten auf der Festplatte ... 207
13. Daten dynamisch im Speicher verwalten ... 227
13.1 ... Warum benötige ich dynamische Felder? ... 227
13.2 ... Eine Datenreihe dynamisch speichern ... 228
13.3 ... Die Größe eines dynamischen Felds ändern ... 230
13.4 ... Eine Tabelle dynamisch speichern ... 232
13.5 ... Wie übergebe ich ein dynamisches Feld an eine Funktion? ... 235
14. Arbeiten mit Zahlen ... 241
14.1 ... Winkelfunktionen ... 241
14.2 ... Runden, Nachkommastellen, Modulo ... 243
14.3 ... Weitere mathematische Funktionen ... 245
14.4 ... Komplexe Zahlen darstellen ... 246
14.5 ... Rechnen mit komplexen Zahlen ... 248
14.6 ... Weitere Funktionen für komplexe Zahlen ... 250
14.7 ... Bit-Operatoren ... 252
14.8 ... Umwandlung von Dualzahlen ... 255
14.9 ... Bitfelder ... 258
15. Präprozessor-Anweisungen ... 261
15.1 ... Einbinden von Dateien ... 261
15.2 ... Definitionen und Makros ... 262
15.3 ... Definitionen und Verzweigungen ... 264
15.4 ... Eine Systemweiche ... 266
16. Zugriff auf Dateien und Verzeichnisse ... 269
16.1 ... Attribute von Dateien und Verzeichnissen ... 269
16.2 ... Zugriffsrechte ändern ... 273
16.3 ... Inhalt eines Verzeichnisses ... 275
16.4 ... Inhalt eines Verzeichnisbaums ... 278
16.5 ... Dateien ändern ... 280
16.6 ... Verzeichnisse ändern ... 281
17. Umgang mit Datum und Uhrzeit ... 283
17.1 ... Weltzeit ausgeben ... 283
17.2 ... Lokale Zeit ausgeben und formatieren ... 285
17.3 ... Zeitangaben erzeugen ... 287
17.4 ... Zeitspanne messen ... 289
17.5 ... Zeit abwarten ... 291
17.6 ... Alter berechnen ... 292
18. Kommunikation mit dem Betriebssystem ... 295
18.1 ... Wie übergebe ich Daten an ein Programm? ... 295
18.2 ... Wie nutze ich die Rückgabe eines Programms? ... 297
18.3 ... Systemkommandos ausführen ... 299
19. Datenbanken ... 301
19.1 ... Aufbau einer Datenbank ... 301
19.2 ... Datenbanken mit SQLite ... 302
19.3 ... Datenbank und Tabelle erzeugen ... 303
19.4 ... Datensätze einfügen ... 305
19.5 ... Anzeigen der Datensätze ... 307
19.6 ... Auswahl von Datensätzen und Feldern ... 309
19.7 ... Auswahl mit Platzhaltern ... 312
19.8 ... Auswahl nach Eingabe ... 314
19.9 ... Sortieren der Ausgabe ... 316
19.10 ... Ändern von Datensätzen ... 318
19.11 ... Löschen von Datensätzen ... 319
20. Beispielprojekte ... 323
20.1 ... Lernspiel: Hauptstädte der EU ... 323
20.2 ... Lernspiel: Kopfrechnen ... 329
20.3 ... Ausgabe von Morsezeichen ... 337
20.4 ... Spiel Mastermind ... 344
21. Grafische Benutzeroberflächen mit GTK+ ... 351
21.1 ... Datentypen der 'Glib' ... 352
21.2 ... Zeichenketten mit 'GString' ... 353
21.3 ... Felder mit GArray ... 355
21.4 ... Die erste Benutzeroberfläche ... 361
21.5 ... Eigenschaften setzen und abrufen ... 364
21.6 ... Ereignisfunktionen ... 365
21.7 ... Positionierung von Widgets ... 367
21.8 ... Auswahl- und Eingabe-Widgets ... 369
A. Installationen ... 375
B. Hilfestellungen und Übersichten ... 399
C. Lösungen der Übungsaufgaben ... 411
Index ... 425
Erscheinungsjahr: | 2020 |
---|---|
Fachbereich: | Programmiersprachen |
Genre: | Informatik |
Rubrik: | Naturwissenschaften & Technik |
Medium: | Taschenbuch |
Reihe: | Rheinwerk Computing |
Inhalt: | 436 S. |
ISBN-13: | 9783836275699 |
ISBN-10: | 3836275694 |
Sprache: | Deutsch |
Herstellernummer: | 459/07569 |
Einband: | Klappenbroschur |
Autor: | Theis, Thomas |
Auflage: | 3. Auflage |
Hersteller: | Rheinwerk Verlag GmbH |
Maße: | 228 x 172 x 27 mm |
Von/Mit: | Thomas Theis |
Erscheinungsdatum: | 20.03.2020 |
Gewicht: | 0,793 kg |
1. Eine erste Einführung ... 15
1.1 ... Welche Vorteile bietet C? ... 15
1.2 ... Was benötige ich zum Programmieren? ... 16
1.3 ... Wie ist dieses Buch aufgebaut? ... 16
1.4 ... Wie sollten Sie mit diesem Buch arbeiten? ... 17
1.5 ... C-Standards ... 18
1.6 ... Ubuntu Linux unter Windows ... 18
2. Unser erstes Programm ... 21
2.1 ... Wie gebe ich das Programm ein? ... 21
2.2 ... Was bedeuten die einzelnen Zeilen? ... 22
2.3 ... Das Programm wird gespeichert ... 23
2.4 ... Wie starte ich das fertige Programm? ... 24
2.5 ... Eine weitere Möglichkeit zum Starten ... 26
2.6 ... Kommentare sind wichtig ... 28
2.7 ... Eine Übungsaufgabe ... 29
3. Verschiedene Arten von Daten ... 31
3.1 ... Daten bekannt machen und speichern ... 31
3.2 ... Wie gebe ich Daten auf dem Bildschirm aus? ... 33
3.3 ... Wie kann der Benutzer seine Daten per Tastatur eingeben? ... 34
3.4 ... Berechnungen mit Operatoren ... 36
3.5 ... Entwicklung eines Programms ... 38
3.6 ... Fehler suchen ... 39
3.7 ... Eine Übungsaufgabe ... 41
4. Verschiedene Fälle in einem Programm ... 43
4.1 ... Eine einfache Bedingung mit 'if' ... 43
4.2 ... Welche Bedingungen gibt es? ... 45
4.3 ... Zwei Möglichkeiten, mit 'if' und 'else' ... 46
4.4 ... Wie kann ich Bedingungen kombinieren? ... 47
4.5 ... Eine Übungsaufgabe ... 49
5. Programmteile wiederholen ... 51
5.1 ... Regelmäßige Wiederholungen mit 'for' ... 52
5.2 ... Bedingte Wiederholungen mit 'do-while' ... 54
5.3 ... Besser vorher prüfen mit 'while'? ... 56
5.4 ... Tabellen formatieren ... 59
5.5 ... Eine Übungsaufgabe zu Tabellen ... 60
5.6 ... Eine Übungsaufgabe zur Eingabekontrolle ... 61
6. Programme übersichtlich aufteilen ... 63
6.1 ... Wie definiere ich eine Funktion? ... 63
6.2 ... Wie rufe ich eine Funktion auf? ... 65
6.3 ... Werte an eine Funktion übergeben ... 66
6.4 ... Ein Ergebnis von einer Funktion zurückerhalten ... 68
6.5 ... Eine Übungsaufgabe ... 69
7. Große Datenmengen speichern ... 71
7.1 ... Felder erzeugen und mit Daten füllen ... 71
7.2 ... Wie gebe ich die Daten aus? ... 73
7.3 ... Wie kann der Benutzer ein Feld füllen? ... 74
7.4 ... Eine Übungsaufgabe ... 76
8. Zeichen und Texte speichern ... 77
8.1 ... Zeichenketten erzeugen und füllen ... 77
8.2 ... Wie gebe ich eine Zeichenkette aus? ... 79
8.3 ... Wie kann der Benutzer eine Zeichenkette füllen? ... 80
8.4 ... Mehrere Zeichenketten ... 81
8.5 ... Wie kann ich Zeichenketten formatieren? ... 82
8.6 ... Eine Übungsaufgabe ... 83
9. Indirekter Zugriff mit Zeigern ... 85
9.1 ... Wie arbeite ich mit Zeigern und Adressen? ... 85
9.2 ... Wie nutze ich Zeiger bei Funktionen? ... 87
9.3 ... Wir zeigen auf Felder ... 88
9.4 ... Eine Übungsaufgabe ... 90
10. Unterschiedliche Daten zusammenfassen ... 93
10.1 ... Strukturen definieren ... 93
10.2 ... Wie erzeuge ich Strukturdaten? ... 94
10.3 ... Wie gebe ich die Daten aus? ... 95
10.4 ... Wie kann der Benutzer Strukturen füllen? ... 96
10.5 ... Mehrere Strukturdaten ... 98
10.6 ... Wie übergebe ich Strukturdaten? ... 99
10.7 ... Eine Übungsaufgabe ... 102
11. Daten auf der Festplatte ... 105
11.1 ... Wie speichere ich Daten auf der Festplatte? ... 105
11.2 ... Wie lese ich Daten von der Festplatte? ... 108
11.3 ... Eine Übungsaufgabe ... 110
12. Eine Vertiefung der bisherigen Themen ... 111
12.1 ... Verschiedene Arten von Daten ... 111
12.2 ... Verschiedene Fälle in einem Programm ... 129
12.3 ... Programmteile wiederholen ... 137
12.4 ... Programme übersichtlich aufteilen ... 145
12.5 ... Große Datenmengen speichern ... 156
12.6 ... Zeichen und Texte speichern ... 174
12.7 ... Indirekter Zugriff mit Zeigern ... 200
12.8 ... Unterschiedliche Daten zusammenfassen ... 202
12.9 ... Daten auf der Festplatte ... 207
13. Daten dynamisch im Speicher verwalten ... 227
13.1 ... Warum benötige ich dynamische Felder? ... 227
13.2 ... Eine Datenreihe dynamisch speichern ... 228
13.3 ... Die Größe eines dynamischen Felds ändern ... 230
13.4 ... Eine Tabelle dynamisch speichern ... 232
13.5 ... Wie übergebe ich ein dynamisches Feld an eine Funktion? ... 235
14. Arbeiten mit Zahlen ... 241
14.1 ... Winkelfunktionen ... 241
14.2 ... Runden, Nachkommastellen, Modulo ... 243
14.3 ... Weitere mathematische Funktionen ... 245
14.4 ... Komplexe Zahlen darstellen ... 246
14.5 ... Rechnen mit komplexen Zahlen ... 248
14.6 ... Weitere Funktionen für komplexe Zahlen ... 250
14.7 ... Bit-Operatoren ... 252
14.8 ... Umwandlung von Dualzahlen ... 255
14.9 ... Bitfelder ... 258
15. Präprozessor-Anweisungen ... 261
15.1 ... Einbinden von Dateien ... 261
15.2 ... Definitionen und Makros ... 262
15.3 ... Definitionen und Verzweigungen ... 264
15.4 ... Eine Systemweiche ... 266
16. Zugriff auf Dateien und Verzeichnisse ... 269
16.1 ... Attribute von Dateien und Verzeichnissen ... 269
16.2 ... Zugriffsrechte ändern ... 273
16.3 ... Inhalt eines Verzeichnisses ... 275
16.4 ... Inhalt eines Verzeichnisbaums ... 278
16.5 ... Dateien ändern ... 280
16.6 ... Verzeichnisse ändern ... 281
17. Umgang mit Datum und Uhrzeit ... 283
17.1 ... Weltzeit ausgeben ... 283
17.2 ... Lokale Zeit ausgeben und formatieren ... 285
17.3 ... Zeitangaben erzeugen ... 287
17.4 ... Zeitspanne messen ... 289
17.5 ... Zeit abwarten ... 291
17.6 ... Alter berechnen ... 292
18. Kommunikation mit dem Betriebssystem ... 295
18.1 ... Wie übergebe ich Daten an ein Programm? ... 295
18.2 ... Wie nutze ich die Rückgabe eines Programms? ... 297
18.3 ... Systemkommandos ausführen ... 299
19. Datenbanken ... 301
19.1 ... Aufbau einer Datenbank ... 301
19.2 ... Datenbanken mit SQLite ... 302
19.3 ... Datenbank und Tabelle erzeugen ... 303
19.4 ... Datensätze einfügen ... 305
19.5 ... Anzeigen der Datensätze ... 307
19.6 ... Auswahl von Datensätzen und Feldern ... 309
19.7 ... Auswahl mit Platzhaltern ... 312
19.8 ... Auswahl nach Eingabe ... 314
19.9 ... Sortieren der Ausgabe ... 316
19.10 ... Ändern von Datensätzen ... 318
19.11 ... Löschen von Datensätzen ... 319
20. Beispielprojekte ... 323
20.1 ... Lernspiel: Hauptstädte der EU ... 323
20.2 ... Lernspiel: Kopfrechnen ... 329
20.3 ... Ausgabe von Morsezeichen ... 337
20.4 ... Spiel Mastermind ... 344
21. Grafische Benutzeroberflächen mit GTK+ ... 351
21.1 ... Datentypen der 'Glib' ... 352
21.2 ... Zeichenketten mit 'GString' ... 353
21.3 ... Felder mit GArray ... 355
21.4 ... Die erste Benutzeroberfläche ... 361
21.5 ... Eigenschaften setzen und abrufen ... 364
21.6 ... Ereignisfunktionen ... 365
21.7 ... Positionierung von Widgets ... 367
21.8 ... Auswahl- und Eingabe-Widgets ... 369
A. Installationen ... 375
B. Hilfestellungen und Übersichten ... 399
C. Lösungen der Übungsaufgaben ... 411
Index ... 425
Erscheinungsjahr: | 2020 |
---|---|
Fachbereich: | Programmiersprachen |
Genre: | Informatik |
Rubrik: | Naturwissenschaften & Technik |
Medium: | Taschenbuch |
Reihe: | Rheinwerk Computing |
Inhalt: | 436 S. |
ISBN-13: | 9783836275699 |
ISBN-10: | 3836275694 |
Sprache: | Deutsch |
Herstellernummer: | 459/07569 |
Einband: | Klappenbroschur |
Autor: | Theis, Thomas |
Auflage: | 3. Auflage |
Hersteller: | Rheinwerk Verlag GmbH |
Maße: | 228 x 172 x 27 mm |
Von/Mit: | Thomas Theis |
Erscheinungsdatum: | 20.03.2020 |
Gewicht: | 0,793 kg |