Zum Hauptinhalt springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
Einstieg in C
Für Programmiereinsteiger geeignet. Alle Grundlagen, spannende Beispielprojekte, Praxistipps
Taschenbuch von Thomas Theis
Sprache: Deutsch

24,90 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

auf Lager, Lieferzeit 4-7 Werktage

Kategorien:
Beschreibung

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
Über den Autor
Thomas Theis ist Dipl.-Ing. für Technische Informatik und arbeitet als Berater und Trainer. Seit vielen Jahren gibt er als EDV-Dozent Kurse in verschiedenen Programmiersprachen. Er ist Autor vieler erfolgreicher Fachbücher.
Zusammenfassung
Mit vielen Beispielen und Übungsaufgaben
Inhaltsverzeichnis
Materialien zum Buch ... 14
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
Details
Erscheinungsjahr: 2020
Fachbereich: Programmiersprachen
Genre: Informatik, Mathematik, Medizin, Naturwissenschaften, Technik
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
Rheinwerk Verlag GmbH
Verantwortliche Person für die EU: Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53227 Bonn, service@rheinwerk-verlag.de
Maße: 228 x 172 x 27 mm
Von/Mit: Thomas Theis
Erscheinungsdatum: 20.03.2020
Gewicht: 0,793 kg
Artikel-ID: 117908140
Über den Autor
Thomas Theis ist Dipl.-Ing. für Technische Informatik und arbeitet als Berater und Trainer. Seit vielen Jahren gibt er als EDV-Dozent Kurse in verschiedenen Programmiersprachen. Er ist Autor vieler erfolgreicher Fachbücher.
Zusammenfassung
Mit vielen Beispielen und Übungsaufgaben
Inhaltsverzeichnis
Materialien zum Buch ... 14
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
Details
Erscheinungsjahr: 2020
Fachbereich: Programmiersprachen
Genre: Informatik, Mathematik, Medizin, Naturwissenschaften, Technik
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
Rheinwerk Verlag GmbH
Verantwortliche Person für die EU: Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53227 Bonn, service@rheinwerk-verlag.de
Maße: 228 x 172 x 27 mm
Von/Mit: Thomas Theis
Erscheinungsdatum: 20.03.2020
Gewicht: 0,793 kg
Artikel-ID: 117908140
Sicherheitshinweis

Ähnliche Produkte

Ähnliche Produkte