C-Programmierung lernen

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

VBA mit Office 97 lernen

C für Java-Programmierer

Objektorientiertes Programmieren in C++

C programmieren. Jürgen Wolf

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

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

Programmieren lernen mit C

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

Zusammenfassung des Handzettels für Programmieren in C

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

Windows NT 4.0 in heterogenen Netzen

RO-Tutorien 3 / 6 / 12

10 Die Programmiersprache C99: Zusammenfassung

Programmierung mit C Zeiger

Grundlagen der Programmierung

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

C-Programmierung unter TOS ATARI ST

Die Programmiersprache C99: Zusammenfassung

Programmieren in C (Übungsblatt 1)

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

Einführung in die C-Programmierung

Hello world. Sebastian Dyroff. 21. September 2009

Einführung in die Programmiersprache C

Arrays (Felder/Vektoren)

Unterlagen. CPP-Uebungen-08/

C als erste Programmiersprache

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

Microsoft FrontPage 98

Übersicht. Informatik 1 Teil 9: komplexe Datentypen (Strukturen, Enumerationen, Unions)

FACHHOCHSCHULE MANNHEIM

SCSI-Bus und IDE-Schnittstelle

Funktionales C++ zum Ersten

Algorithmen zur Datenanalyse in C++

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

Inhaltsverzeichnis. Vorwort NXTundNXC DerNXT NXC Not exactly C Compiler Zusammenfassung 17

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

Programmierung in C. Grundlagen. Stefan Kallerhoff

Erste Schritte der Programmierung in C

GI Vektoren

Grundlagen der Programmierung

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes

Funktionen in Matlab. Nutzerdefinierte Funktionen können in.m-datei gespeichert werden

Tutorium Rechnerorganisation

C/C++ Programmierung

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

Grundkurs Software- Entwicklung mit C++

Die Programmiersprache C Eine Einführung

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

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

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

Arnold Willemer C++ Der Einstieg. WlLEY

Robert Sedgewick. Algorithmen in Java. »il 1-4 Grundlagen Datenstrykturen Sortleren Suchen. java-beratung durch Michael Schidlowsky

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

<Trainingsinhalt> C# programmieren

2. Programmierung in C

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Übersicht. C Ein-/Ausgabe und Kontrollanweisungen. I/O-Funktionen aus stdio. printf() Ein-/Ausgabe. Kontrollanweisungen.

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan)

Projektmanagement. Konzeption und praktischer Einsatz des R/3 Moduls PS ADDISON-WESLEY. An imprint of Addison Wesley Longman, Inc.

Systempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom Foliensatz 2

Programmieren I. Kapitel 5. Kontrollfluss

Vorlesung 6: Operatoren, Logische Ausdrücke

Roboter programmieren mit NXC für LEGO MINDSTORMS NXT

Propädeutikum. Dipl.-Inf. Frank Güttler

Klausur C-Programmierung / / Klingebiel / 60 Minuten / 60 Punkte

Programmieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff

Modul 122 VBA Scribt.docx

Wiederholung C-Programmierung

Vorkurs Informatik: Erste Schritte der Programmierung mit C++

C- Kurs 04 Anweisungen

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

Programmieren in C. Rekursive Strukturen. Prof. Dr. Nikolaus Wulff

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

2.5 Programmstrukturen Entscheidung / Alternative

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

Dr. Monika Meiler. Inhalt

C++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten

Vorkurs C++ Programmierung

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

Java: Eine kurze Einführung an Beispielen

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

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Transkript:

2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Andre Willms C-Programmierung lernen Anfangen, anwenden, verstehen ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Bonn Reading, Massachusetts Menlo Park, California New York Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam

I 5 E Einleitung 13 E.l Erläuterungen zu den verwendeten Icons 14 1 Das erste C-Programm 15 1.1 Klein aber fein 15 1.2 Kommentare 16 1.3 Ausgabe mit printf 17 1.4 Die #include-direktive und der Präprozessor 18 1.5 Steuerzeichen für die Ausgabe 20 1.6 Grafische Darstellung von Programmen 22 1.7 Kontrollfragen 24 2 Eine eigene Funktion 25 2.1 Zerlegung in Teilaufgaben 25 2.2 Das Bilden von Funktionsnamen 28 2.3 Ein Appell an die Übersichtlichkeit 29 2.4 Eigene Prototypen 29 2.5 Der return-befehl 31 2.6 Kontrollfragen 32 3 Der Variablentyp int 33 3.1 Die Spielarten der Ganzzahlvariablen 33 3.2 Formatzeichen für die Ausgabe 34 3.3 Ein Beispiel für int 34 3.4 Verkürzungen in der Schreibweise 35 3.5 Die Notwendigkeit der Initialisierung 36 3.6 Erweiterte Formatierung der Ausgabe 37 3.7 Kontrollfragen 38

4 Eingabe mit scanf 39 4.1 Eingaben außerhalb des Bereichs 41 4.2 Kontrollfragen 42 5 Die Grundrechenarten 43 5.1 Die Operatoren +, -, *, /, (,) 43 5.2 Der %-Operator 45 5.3 Die Operatoren +=, -=, *=, /=, %= 45 5.4 Ausgabe von Ausdrücken 47 5.5 Die Operatoren ++ und - 48 5.6 Kontrollfragen 50 6 Übungen 51 6.1 Lösungen 54 7 Entscheidungen:if-else 59 7.1 Die Vergleichsoperatoren ==,!=, <, >, <=, >= 62 7.2 Der Operator! 64 7.3 Die Behandlung der Bedingung 64 7.4 Die else-anweisung 66 7.5 Der Bedingungsoperator? : 69 7.6 Vorzeichenwechsel 70 7.7 Kontrollfragen 71 8 Bezugsrahmen von Variablen 73 8.1 Lokale Variablen 73 8.2 Globale Variablen 76 8.3 Statische Variablen 79 8.4 Kontrollfragen 81 9 Funktionen mit Parameterübergabe 83 9.1 Parameterübergabe 83 9.2 Wertrückgabe 84 9.3 Übergabe mehrerer Parameter 86 9.4 Prototypen parametrisierter Funktionen 88 9.5 Die Wichtigkeit von return 88 9.6 Rückgabe von Wahr" und Falsch" 89 9.7 Kontrollfragen 90 10 Schleifen: for 91 10.1 Mehrere Anweisungen in for 95 10.2 Auslassen der Initialiserung 96 10.3 Kontrollfragen 96 I nhalt sver zeich n i s

11 Übungen 97 11.1 Lösungen 99 12 Schleifen mit Ein-/Austrittsbedingung: while 105 12.1 Schleifen mit Eintrittsbedingung : while 105 12.2 Simulation von for mit while 107 12.3 Das Verzichten auf einen Anweisungsblock 108 12.4 Schleifen mit Austrittsbedingung : do while 108 12.5 Simulation von for mit do..while 111 12.6 Zurück zum Anfang : continue 112 12.7 Kontrollfragen 114 13 Die logischen Operatoren, && 115 13.1 Der AND-Operator && 115 13.2 Der OR-Operator 116 13.3 Das Mischen von AND und OR 118 13.4 Kontrollfragen 118 14 Der Variablentyp float 119 14.1 Die Spielarten der Fließkommavariablen 119 14.2 Ein Beispiel für float 119 14.3 Typentscheidung bei gemischten Ausdrücken 121 14.4 Typumwandlung : Der cast-operator 121 14.5 Die Funktionen von math.h 123 14.6 Berechnung von logx a 127 14.7 Transzendente Funktionen im Gradmaß 127 14.8 Erweiterte Formatierung der Ausgabe 128 14.9 Kontrollfragen 129 15 Fallunterscheidung: switch...case 131 15.1 Der Abbruch: break 133 15.2 Mehrere case-anweisungen mit gleichem Ziel 134 15.3 Die Übriggebliebenen: default 135 15.4 Kontrollfragen 137 16 Übungen 139 16.1 Lösungen 140 17 Der Variablentyp char 145 17.1 Das Doppelleben von char 146 17.2 char und case 146 17.3 Die Funktionen von ctype.h 147 17.4 Das Sedezimalsystem 150 17.5 Das Dualsystem 152 17.6 Erweiterte Formatierung der Ausgabe 153 L

17.7 Kontrollfragen 153 18 Vektoren und Zeiger 155 18.1 Der Adreßoperator & 155 18.2 Der Dereferenzierungsoperator * 157 18.3 Adressen als Funktionsparameter 160 18.4 Zeiger auf Funktionen 161 18.5 Zeiger auf Zeiger 163 18.6 Kontrollfragen 166 19 Variablenfelder 167 19.1 Felder als Funktionsparameter 168 19.2 Mehrdimensionale Felder 171 19.3 Verwaltung von Feldern 173 19.4 In-/Dekrementierung von Zeigern 174 19.5 Felder von Zeigern 175 19.6 Kontrollfragen 176 20 Strings 177 20.1 Ein- und Ausgabe von Strings 177 20.2 Die Funktionen von string.h 180 20.3 Der Umgang mit Strings 184 20.4 Stringfelder 187 20.5 Stringfelder als Funktionsparameter 188 20.6 Die Parameter von main 188 20.7 Schützen vor Bereichsüberschreitung 190 20.8 Erweiterte Formatierung der Ausgabe 192 20.9 Kontrollfragen 193 21 Übungen 195 21.1 Lösungen 198 22 Präprozessordirektiven 207 22.1 #define und #undef 207 22.2 #include 210 22.3 #ifund#endif 211 22.4 #ifdef und #ifndef 213 22.5 #else und #elif 214 22.6 #error 216 22.7 #line und #pragma 216 22.8 Vordefinierte Makros 217 22.9 Kontrollfragen 218 23 File-Handling 219 23.1 Textdateien 220

23.2 Binärdateien 226 23.3 Verändern des Dateipositionszeigers 230 23.4 Allgemeines zu Dateien 233 23.5 Gepufferte Dateien 235 23.6 Kontrollfragen 237 24 Übungen 239 24.1 Lösungen 243 25 Strukturen 259 25.1 Zeiger auf Strukturen 263 25.2 Felder von Strukturen 264 25.3 Verschachtelte Strukturen 265 25.4 Das Speichern von Strukturen 269 25.5 Unions 271 25.6 Der Aufzählungstyp enum 274 25.7 Eigene Typen mit typedef 276 25.8 Kontrollfragen 277 26 Dynamische Speicherverwaltung 279 26.1 Reservierung eines Speicherblocks 280 26.2 Verwaltung mehrerer Speicherblöcke 284 26.3 Tiefe Kopien 287 26.4 Kontrollfragen 291 27 Listen 293 27.1 Einfach verkettete Listen 294 27.2 Doppelt verkettete Listen 305 27.3 Doppelt verkettete Ringe 312 27.4 Erstellen von Indextabellen 313 27.5 Die Sentinel-Technik 316 27.6 Kontrollfragen 317 28 Das Sortierverfahren Bubblesort 319 28.1 Die binäre Suche 324 28.2 Kontrollfragen 327 29 Die bitweisen Operatoren 329 29.1 Der AND-Operator & 329 29.2 Der Inclusive-OR-Operator 331 29.3 Der Exclusive-OR-Operator A 331 29.4 Der NOT-Operator ~ 332 29.5 Die Verschiebeoperatoren «und» 332 29.6 Bitfelder 333 29.7 Kontrollfragen : 334 L

30 Rekursion 335 30.1 Die Fibonacci-Zahlen 337 30.2 Die Türme von Hanoi 338 30.3 Backtracking 340 30.4 Das Dame-Problem 341 30.5 Rest-rekursive Funktionen 345 30.6 Kontrollfragen 348 31 Modulares Programmieren 349 31.1 Eigene Header-Dateien 349 31.2 Aufteilen in Module 350 31.3 Die Funktionsweise des Compilers 353 31.4 Statische Funktionen und Variablen 355 31.5 Kontrollfragen 356 32 Übungen 357 32.1 Lösungen 360 33 Nachtrag 379 33.1 Der Zufall 379 33.2 Der irreguläre Abbruch 385 33.3 Die letzte Anweisung 388 33.4 Die Funktionen von stdio.h 388 33.5 Die Funktionen von stdlib.h 395 33.6 Schlußbemerkung 399 34 Anhang 401 34.1 Anhang A - Antworten auf die Kontrollfragen 401 Antworten zu Kapitel 1 401 Antworten zu Kapitel 2 401 Antworten zu Kapitel 3 402 Antworten zu Kapitel 4 402 Antworten zu Kapitel 5 403 Antworten zu Kapitel 7 403 Antworten zu Kapitel 8 404 Antworten zu Kapitel 9 404 Antworten zu Kapitel 10 : 405 Antworten zu Kapitel 12 406 Antworten zu Kapitel 13 406 Antworten zu Kapitel 14 406 Antworten zu Kapitel 15 407 Antworten zu Kapitel 17 407 Antworten zu Kapitel 18 408 Antworten zu Kapitel 19 408 Antworten zu Kapitel 20 409 Antworten zu Kapitel 22 410

Antworten zu Kapitel 23 410 Antworten zu Kapitel 25 411 Antworten zu Kapitel 26 412 Antworten zu Kapitel 27 412 Antworten zu Kapitel 28 413 Antworten zu Kapitel 29 414 Antworten zu Kapitel 30 414 Antworten zu Kapitel 31 415 34.2 Anhang B - Bindungsstärke der Operatoren 415 34.3 Anhang C - Formatzeichen 417 Fließkommazahlen 417 Ganzzahlen 417 Strings 418 Zeiger 418 34.4 Anhang D - Steuerzeichen 418 Steuerzeichen 418 34.5 Anhang E-Dateimodi für fopen() 419 34.6 Anhang F - Die Symbole des Programmablaufplans 420 S Stichwortverzeichnis 421 L