Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung

Ähnliche Dokumente
1Schnelleinstieg 14. 2Wie aus einer einfachen Textdatei. 3 Wie man eigene Programme erstellt 30. Inhaltsverzeichnis. ein Programm wird 20

C für Java-Programmierer

Grundkurs Software- Entwicklung mit C++

C programmieren. Jürgen Wolf

Die Programmiersprache C Eine Einführung

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Die Programmiersprache C99: Zusammenfassung

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

C-Programmierung unter TOS ATARI ST

C als erste Programmiersprache

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

Einführung in die C-Programmierung

Programmieren lernen mit C

1.1 In diesem Kapitel Ein wenig C-Geschichte Warum in C programmieren? Die Struktur dieses Buches 19

RO-Tutorien 3 / 6 / 12

Welche Informatik-Kenntnisse bringen Sie mit?

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

Programmierung mit C Zeiger

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende.

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Tutorium Rechnerorganisation

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

<Trainingsinhalt> C# programmieren

Rainer Haselier Klaus Fahnenstich. Programmieren mit. Ein Lehr- und Arbeitsbuch EDITION. Microsoft' Markt&Technik Verlag AG

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen der Informatik I (Studiengang Medieninformatik)

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

C/C++ Programmierung

2. Programmierung in C

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp

2. Programmierung in C

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung 11. Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen 17

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Werkzeuge zur Programmentwicklung

Zusammenfassung des Handzettels für Programmieren in C

Objektorientierte Programmierung in Java

Dr. Monika Meiler. Inhalt

C++ für Ingenieure. Einführung in die objektorientierte Programmierung. Seite Programmverzeichnis VII HARALD NAHRSTEDT

Werner Achte rt DATA BECKER

Grundlagen der Programmierung

Einstieg in die Informatik mit Java

Kapitel 7. Zusammengesetzte Datentypen, Vektoren, Zeichenketten

Modellierung und Programmierung

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

Erste Schritte der Programmierung in C

Grundlagen der Programmierung

Grundbegriffe der Informatik

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19

Tom Swan. C++ lernen. Eine systematische Einführung in die objektorientierte

Grundlagen der C++ - Programmierung für das MiniBoard von qfix 1

Programmierung in C. Grundlagen. Stefan Kallerhoff

Alexander Niemann. Das Einsteigerseminar Objektorientierte Programmierung in Java. bhv

C Grundlagen. Die Zunahme von integrierter Software innerhalb elektronischer Geräte bedingt enorme Entwicklungskosten.

Andre Willms. Spielend C++ lernen. oder wie man Käfern Beine macht. Galileo Press

Kurze Einführung in die Programmiersprache C++ und in Root

C- Kurs 04 Anweisungen

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

4. Ablaufsteuerung (Kontrollstrukturen)

Prinzipien der Softwareentwicklung S. Strahringer

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

Einstieg in die Informatik mit Java

Einführung in die Informatik I (autip)

Computergrundlagen Programmieren in C

Herzlich Willkommen. Über mich Termine Literatur Über PHP

Fallunterscheidung: if-statement

2. Programmierung in C

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Integer Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen

Vorwort 3 Inhaltsverzeichnis 5 1 Zu diesem Buch Beschreibungskonventionen Glossar 16

4.Grundsätzliche Programmentwicklungsmethoden

Primitive Datentypen

Programmiertechniken der prozeduralen Programmierung mit ANSI C

Excel VBA. Teil Zusammenfassung! Was wir können sollten! V

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Hello world. Sebastian Dyroff. 21. September 2009

Lösung Übungszettel 6 Aufgabe 1-4

ATM18-Projekt Arbeiten mit CodeVisionAVR C-Compiler Teil 02 - Aufbau eines C-Projektes

Vorlesung Programmieren

VBA mit Microsoft Excel für Kids

6. Iteration (Schleifenanweisungen)

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller

Objektorientierte Programmierung

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH. -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende.

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

jetzt lerne ich Der einfache Einstieg in Object Pascal Für alle Versionen bis einschließlich Delphi 2006 THOMAS BINZINGER

Einstieg in VBA mit Excel Galileo Press

2. Programmierung in C

Objektorientierung: Klassen und Objekte

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Programmieren mit Java

Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Transkript:

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 С 2 Hinweise zum Arbeiten mit dem Buch 3 Danksagung 5 1.2 Anwendungsgebiete der C-Programmierung 5 Klassifikation von Software 5 1.3 Einstieg in С - ein Beispiel 7 Der Programmquelltext 7 Die Programmerstellung 11 1.4 Begriffe und Struktur der Sprache С 15 Lexikalische Struktur 17 Syntaktische Struktur 17 Programmierstil 17 1.5 Compiler und Entwicklungsumgebungen 20 1.6 Literatur 21 Lehrbücher zur Programmiersprache С 21 Programmiersprache C++ 22 Programmierstil 22 Entwicklungsumgebung 22 Relevante Standards 22 2 Maschine und Programm 23 2.1 Einleitung 23 2.2 Prozessorarchitektur 23 Intel Architecture 32-Bit (IA32) 23 Common Language Infrastructure (CLI) 26 2.3 Programmstruktur 28 Parameterübergabe 29 Rückgabewert 30 Lokale Variablen 32 2.4 Speicherorganisation 34 2.5 Literatur 36 i

Datentypen in С 37 Einleitung 37 Darstellung ganzer Zahlen - Integertypen 37 Integerliteral 41 Definition von Integervariablen 44 Rechnen mit Integerzahlen 47 Ausgabe von Integerzahlen 53 Eingabe von Integerzahlen 57 Anwendungsbeispiel Integerzahlen 59 Übungsaufgaben zu Integerarithmetik 61 Darstellung von Gleitkommazahlen 63 Gleitkommaliterale 63 Definition von Gleitkommavariablen 64 Rechnen mit Gleitkommazahlen 65 Ausgabe von Gleitkommazahlen 70 Eingabe von Gleitkommazahlen 71 Anwendungsbeispiel Lösung der quadratischen Gleichung 72 Übungen zu Gleitkommazahlen 74 Zeichenketten - Strings 76 Stringliterale 76 Definition von Stringvariablen 77 Ausgabe von Zeichenketten 81 Eingabe von Zeichenketten 83 Eingabe einzelner Zeichen 85 Arbeiten mit Zeichenketten 86 Anwendungsbeispiel HTML-Text erzeugen 97 Übungsaufgaben zu Strings 99 Logische Ausdrücke (Bedingungen) 101 Arbeiten mit Bedingungen 101 Optimierung von Bedingungen 104 Bedingungsoperator (?) 105 Anwendungsbeispiel Bestimmung eines Schaltjahrs 106 Übungsaufgabe zu Logischen Ausdrücken 107 Strukturierte Daten 108 Definition neuer Datentypen mit typedef 108 Erweiterte Typdefinitionen 109 Aufzählungstypen 110 Deklaration und Definition von Datenstrukturen 113 Arbeiten mit Datensätzen 119 Alignment 122 Union 124 Übungsaufgabe zu Datenstrukturen 127 Bitfelder 127 Bitfelder in Strukturen 127 Bitmanipulation mit Hilfe von Defines 129

3.8 Zeiger 131 Definition von Zeigern 132 NULL-Zeiger (NULL-Pointer) 135 Arbeiten mit Zeigern 136 Zeiger auf Strukturen 141 Übungsaufgaben zu Zeigern 143 3.9 Felder 144 Definition von Feldern 144 Arbeiten mit Feldern 146 Mehrdimensionale Felder 150 Anwendungsbeispiel Quicksort 152 Übungsaufgaben zu Feldern 154 3.10 Typkonvertierung 156 Automatische Typumwandlung 156 Explizite Typumwandlung 157 3.11 Spezialisierung von Datentypen 159 Der Typ void 159 Sichtbarkeit und Gültigkeit 160 Eigenschaften von Variablen 164 4 Kontrollstrukturen in С 169 4.1 Sequenzen 169 Start und Endpunkt des Programmflusses 169 Der Anweisungsblock 170 Der Ausdruck 171 Kommentare 174 4.2 Schleifen 175 For-Schleife 175 While-Schleife 179 Do-While-Schleife 180 Notausgang break 181 Abkürzung continue 182 Übungsaufgaben zu Schleifen 183 4.3 Alternativanweisungen 183 Alternative if-else 183 Auswahlanweisung switch-case 184 4.4 Funktionen 187 Eigenschaften von Funktionen 187 Arbeiten mit Funktionen 193 Die parametrisierte main()-funktion 196 Ellipsen 198 Funktionszeiger 202 4.5 Signale 207 iii

4.6 Threads 209 Threads erzeugen und beenden 210 Synchronisation von Threads 212 Anwendung von Threads 213 4.7 Fehlerbehandlung 219 4.8 Literatur 220 5 Modulare Programmierung 221 5.1 Modul 221 5.2 Präprozessor 222 #include-anweisung 223 #define-anweisung 223 #ifdef- und #ifndef-anweisung 226 #undef-anweisung 227 #if-anweisung 227 #else- und #elif-anweisung 228 #error-anweisung 229 Vordefinierte Makros 229 Generische Makros 230 5.3 Header-Dateien 231 Eigene Header-Dateien 234 Anwendungsbeispiel Headerdateien 236 5.4 Software-Projekte 237 Bibliotheken 239 6 Dynamische Speicherverwaltung in С 241 6.1 Einleitung 241 6.2 Anfordern und Freigeben von Speicher 241 Speicheranforderung für Felder 246 6.3 Zeiger auf Strukturen 247 Unvollständige Datenstrukturen 247 Felder zur Verwaltung von Datensätzen 248 6.4 Verkettete Listen 252 Ablage von Datensätzen 253 Liste als Stapelspeicher 256 Generische Listen 257 6.5 Binärbäume 261 Datenablage und Sortierung 261 Binärbaum als Dictionary/Map 264 6.6 Übungen zu dynamischen Datenstrukturen 268 6.7 Literatur 271 iv

7 Dateimanagement in С 273 7.1 Standard Ein- und Ausgabe 273 7.2 Dateien 275 Streams 276 Arbeiten mit Textdateien 279 Anwendungsbeispiel Wörterbuch 283 Arbeiten mit Binärdateien 286 Übungsaufgaben zu Dateien 290 8 Angewandte C-Programmierung 293 8.1 Einleitung 293 8.2 C-Programmierung mit der Win32-API 293 Grundgerüst einer Win32-Anwendung 293 Die Ereignisschleife der Win32-API 301 Anwendungsbeispiel Farbenfenster 304 8.3 Multimedia-Programmierung mit SDL 307 Einführung 307 Grafik 308 Ereignisbehandlung 311 Audio 313 Anwendungsbeispiel Kartenspiel 317 8.4 Literatur 322 Anhang 323 Rangfolge der Operatoren in С 323 Formatanweisungen von printf() 325 Hinweise zum Übersetzen der Beispiele 327 Liste der Beispiele 333 Index 339