Eine praktische Einführung in C (eBook) - Doina Logofatu
Fotogalerie Fotogalerie Fotogalerie Fotogalerie Fotogalerie
Fotogalerie Fotogalerie Fotogalerie

Doina Logofatu 

Eine praktische Einführung in C (eBook)

Lern- und Arbeitsbuch für Programmiereinsteiger.

eBook
 
Ob und wann dieser Artikel wieder vorrätig sein wird, ist unbekannt
Nicht lieferbar
Bewerten Empfehlen Merken Auf Lieblingsliste


Eine praktische Einführung in C (eBook)

Die Programmiersprache C ist sehr gut für Einsteiger geeignet, da sie die Basis für die modernen objektorientierten Sprachen C++, Java sowie C# bildet und außerdem als flexibel und effizient gilt. Das vorliegende Buch ist als Lern- und Arbeitsbuch der C-Programmierung konzipiert. Sie lernen anhand einer Vielzahl von Problemlösungen sich algorithmisches, strukturiertes Denken anzueignen und die Basiskonzepte (Algorithmenentwurf, Variablen, Anweisungen, Modularität, Speicherplatzmanipulation) zu beherrschen. Das theoretische Gerüst und die Vielfältigkeit der vorgestellten Themen machen das Buch auch für fortgeschrittene Leser interessant.



Produktinformation

  • Deutsch
  • ISBN-13: 9783939084853
  • ISBN-10: 3939084859
  • Best.Nr.: 25978613

Leseprobe zu "Eine praktische Einführung in C (eBook)"

"Die Programmiersprache C im Überblick (S. 17-18)

C ist eine sehr flexible Sprache, mit der auch komplexe Aufgaben schnell gelöst werden können. Der erzeugte Quelltext ist kompakt und bleibt, wenn der Programmierer darauf bedacht ist, trotzdem verständlich, also gut lesbar. Die Programme, die ein C-Compiler erzeugt, weisen eine hohe Ausführungsgeschwindigkeit auf und die Liste der Hardware- Architekturen und Betriebssysteme, für die es C-Compiler gibt, ist länger als bei jeder anderen Sprache. Zur Beliebtheit der Sprache haben auch ihre erprobten Bibliotheken beigetragen.

C erlaubt Manipulationen auf Bitebene und kann den Speicher mittels Zeigern und Typassoziationen gezielt verwalten. Im Vergleich zu anderen Sprachen schränkt C den Programmierer weniger ein, er hat also größere Freiheiten, aus denen auch die Flexibilität erwächst. Aber wo Licht ist, ist auch Schatten. Ein C-Programmierer muss bei seiner Arbeit auf Dinge achten, an die etwa ein Delphi-Programmierer keinen Gedanken zu verschwenden braucht, denn diese Mühe nimmt ihm der Delphi-Compiler ab. C prüft beim Kompilieren zum Beispiel nicht den Wert von Zeigervariablen ab, Delphi und andere Sprachen hingegen schon. Diese C-Eigenart trägt gewiss am meisten zu der Freiheit bei, die erfahrene Programmierer so sehr zu schätzen wissen, die aber für Anfänger von Nachteil sein kann.

1.1 Kurzer historischer Abriss

1972 erblickte die Sprache in den Bell Laboratories das Licht der Welt, erfunden von Dennis Ritchie. Viele ihrer Prinzipien und Ideen stammen von den Sprachen B, BCPL, CPL und Algol. Hier ein kurzer historischer Abriss:

ALGOL (um 1960, Algorithmic Language, eine der ersten strukturierten Programmiersprachen)
CPL (1969, Combined Programming Language, Martin Richards)
BCPL (1970, abgeleitet von CPL, Martin Richards)
B (1970, abgeleitet von BCPL, Ken Thompson, Bell Laboratories)
C (1972, entstand aus B, Dennis Ritchie, Bell Laboratories)

Ritchie und Thompson haben in Zusammenarbeit mit Brian Kernighan den Kernel des Betriebssystems UNIX mit Hilfe des C-Compilers von Ritchie umgeschrieben. Seitdem entwickelt sich die Sprache und heute ist sie die Basis für moderne objektorientierte Sprachen wie C++ und Java.

1.2 Grundlegende Konzepte
1.2.1 Zeichenvorrat von C

Ein C-Programm, also ein C-Quelltext, besteht aus den Zeichen des ASCII-Zeichensatzes, der mit ganzen Zahlen von 0 bis 127 kodiert wird. So eine Zahl kann binär mit 7 Bits dargestellt werden. Den ASCII-Zeichensatz teilt man in zwei Gruppen von Zeichen ein: nicht druckbare Zeichen (mit ASCII-Codes kleiner als 32, Ausnahme ist DEL, das mit 127 kodiert ist) und druckbare Zeichen (das Leerzeichen, Groß- und Kleinbuchstaben und Sonderzeichen wie den senkrechten Strich, die Codes größer als 32 haben). Zum Beispiel besitzen die Großbuchstaben ASCII-Codes zwischen 65 und 90, 65 ist der Code für ’A’ und 90 der Code für ’Z’. Die Kleinbuchstaben haben die ASCII-Codes zwischen 97 und 122, die Ziffern ’0’ bis ’9’ werden durch die Zahlen 48 bis 57 repräsentiert.

Die nicht druckbaren Zeichen haben verschiedene Bedeutungen. Zwei Beispiele: Der ASCII-Code 0 wird dem Zeichen NULL zugewiesen, das ist ein „künstliches"" Zeichen, das nicht über die Tastatur eingegeben werden kann. Mit

Inhaltsangabe

1;Inhaltsverzeichnis;8 2;Vorwort;14 2.1;V. 1 Danksagung;16 2.2;V.2 Über die Autorin;17 3;Die Programmiersprache C im Überblick;18 3.1;1.1 Kurzer historischer Abriss;18 3.2;1.2 Grundlegende Konzepte;19 3.2.1;1.2.1 Zeichenvorrat von C;19 3.2.2;1.2.2 Ausdrücke;22 3.2.3;1.2.3 Aufbau der C-Programme;24 3.2.4;1.2.4 Anweisungen;26 3.2.5;1.2.5 Standardeingabe/-ausgabe;29 3.2.6;1.2.6 Dateienoperationen;31 3.2.7;1.2.7 Neue Datentypen: struct, enum, union;33 3.2.8;1.2.8 Mehr über Arrays;35 3.2.9;1.2.9 Zeiger, sizeof, dynamische Speicherreservierung;38 3.2.10;1.2.10 Zeichenketten;44 3.3;1.3 11 gelöste Probleme in C;45 3.3.1;1.3.1 Problem 1;45 3.3.2;1.3.2 Problem 2;46 3.3.3;1.3.3 Problem 3;47 3.3.4;1.3.4 Problem 4;48 3.3.5;1.3.5 Problem 5;50 3.3.6;1.3.6 Problem 6;51 3.3.7;1.3.7 Problem 7;52 3.3.8;1.3.8 Problem 8;54 3.3.9;1.3.9 Problem 9;56 3.3.10;1.3.10 Problem 10;57 3.3.11;1.3.11 Problem 11;57 3.4;1.4 Aufgaben;62 4;Elementare Operationen;66 4.1;2.1 Teilbarkeit durch Subtraktionen;66 4.2;2.2 Euklidischer Algorithmus;67 4.3;2.3 Einfacher Primalitätstest;69 4.4;2.4 Der Punkt mit dem kürzesten Abstand;70 4.5;2.5 Größe des Speicherplatzes;73 4.6;2.6 Goldener Schnitt;75 4.7;2.7 Position eines Punktes im Kreis;76 4.8;2.8 Das arithmetische Mittel;79 4.9;2.9 Lineare Rekurrenz;80 4.10;2.10 Synonyme Funktion mit atol();81 4.11;2.11 Informationen über Zeichen;83 4.12;2.12 Palindrom und Quersumme;84 4.13;2.13 Unendliche Wurzel;85 4.14;2.14 Reihe mit dem Wert;86 4.15;2.15 Der bedingte Ausdruck ?:;92 4.16;2.16 Besondere Paare;94 4.17;2.17 Die Farey-Reihe;96 4.18;2.18 Gemeinsame Teiler;97 4.19;2.19 Zahlenumwandlung ins Dezimalsystem;99 4.20;2.20 Formatierung der natürlichen Zahlen;100 4.21;2.21 Vollkommene Zahlen;101 4.22;2.22 Befreundete Zahlen;102 4.23;2.23 Summe der dritten Potenzen;103 4.24;2.24 ASCII-Codes;104 4.25;2.25 Aufgaben;106 5;Arrays und Zeiger;110 5.1;3.1 Kleinstes Element einer Folge;110 5.2;3.2 Bubble Sort;112 5.3;3.3 Ableitung eines Polynoms;114 5.4;3.4 Bestimmung der größeren Zahlen;116 5.5;3.5 Produkt eines Polynoms mit (X-a);118 5.6;3.6 Produkt zweier Matrizen;119 5.7;3.7 Die Goldbachsche Vermutung;123 5.8;3.8 Nachbarn mit Differenz 1;125 5.9;3.9 Lösen von Gleichungen zweiten Grades;127 5.10;3.10 Suchen eines Wertes im eindimensionalen Array;129 5.11;3.11 Sortieren der Spalten einer Matrix;131 5.12;3.12 Symmetrische Elemente in quadratischer Matrix;133 5.13;3.13 Zeiger zum Durchlaufen eines Arrays;135 5.14;3.14 Adressen in Arrays;136 5.15;3.15 Vertauschen der Bytes;137 5.16;3.16 Array von Funktionszeigern;139 5.17;3.17 Sattelpunkte der Matrix;141 5.18;3.18 Aufgaben;143 6;Zeichenketten und Dateioperationen;150 6.1;4.1 Kopieren einer konstanten Zeichenkette;150 6.2;4.2 Verwendung der Funktionen strcat(), strlen(), strchr(), strrchr();151 6.3;4.3 Vergleich zweier Zeichenketten: strcmp() und stricmp();153 6.4;4.4 Erste Zeichenkette, die mit einem Zeichen einer anderen Zeichenkette beginnt — strpbrk();154 6.5;4.5 Finden einer Teilzeichenkette in einer Zeichenkette — strstr();155 6.6;4.6 Addition zweier Zahlen — strlen(), strcat();156 6.7;4.7 Suchsequenz;161 6.8;4.8 Vogelsprache;163 6.9;4.9 Verwendung der Funktionen strncpy(), strcat(), strlen();166 6.10;4.10 Verwendung der Funktion strtok();168 6.11;4.11 Verketten zweier Dateien;169 6.12;4.12 Kommandozeilen-Parameter;170 6.13;4.13 Aufgaben;172 7;Strukturen, Bitfelder, Unionen;176 7.1;5.1 Kollineare Punkte;176 7.2;5.2 Summe zweier Brüche;178 7.3;5.3 Vereinigung von mehreren Intervallen;181 7.4;5.4 Differenz-, Vereinigungs- und Durchschnittsmenge zweier Mengen;182 7.5;5.5 Zugehörigkeit eines Punktes zur Kreisscheibe;185 7.6;5.6 Test union;188 7.7;5.7 Bitfelder;190 7.8;5.8 Aufgaben;192 8;Bit-Operationen;196 8.1;6.1 Binäre Darstellung;196 8.2;6.2 Bit-Operationen;198 8.3;6.3 Datumsverpackung;199 8.4;6.4 Verschiedene Operationen mit Bit- Operatoren;201 8.5;6.5 Anzahl der Eins-Bits in der binären Darstellung;204 8.6;6.6 Sieb des Eratosthenes;205 8.7;6.7 Aufgaben;208 9;Zeitfunktionen, Zufallszahlen;210 9.1;7.1 Welcher Wochentag ist es?;210 9.2;7.2 rand(), qsort() und bsearch();212 9.3;7.3 Kopf oder Zahl;214 9.4;7.4 Schere, Stein, Papier;217 9.5;7.5 Laufzeit einer Schleife;220 9.6;7.6 Pause in Sekunden;221 9.7;7.7 Genaues Datum und genaue Uhrzeit;222 9.8;7.8 Vergangenheit oder Zukunft;223 9.9;7.9 Aufgaben;224 10;Verkettete Listen;228 10.1;8.1 Wörter im Satz;228 10.2;8.2 Sortierte Wörter mit Großbuchstaben;231 10.3;8.3 Sortierte Wörtermengen mit Großbuchstaben;232 10.4;8.4 Rare Matrizen;234 10.5;8.5 Zählreime I;243 10.6;8.6 Zählreime II;246 10.7;8.7 Hashtabelle;249 10.8;8.8 Erzeugung von Listen;256 10.9;8.9 Kellerspeicher ( Stack);260 10.10;8.10 Kartenspiel;265 10.11;8.11 Traversieren von Binärbäumen;272 10.12;8.12 Aufgaben;276 11;Anwendung – Große Zahlen;280 11.1;9.1 Problemstellung;280 11.2;9.2 Ziele;280 11.3;9.3 Beispiele;281 11.4;9.4 Problemanalyse und Entwurf der Lösung;284 11.5;9.5 Aufgaben;297 12;Anwendung — Raumfüllende Fraktale;300 12.1;10.1 Ziele;302 12.2;10.2 Problembeschreibung;303 12.3;10.3 Einige Beispiele;305 12.4;10.4 Problemanalyse und Entwurf der Lösung;307 12.5;10.5 Programm;308 12.6;10.6 Aufgaben;313 13;Literaturverzeichnis;314 14;CD-ROM zum Buch;316 15;Schlüsselwörter in C;318 16;Häufig verwendete Zeichenkettenfunktionen in C;320 17;ASCII- Tabelle;322 18;Hinweis Projekteinstellungen in Microsoft Visual C++;324 19;Stichwortverzeichnis;326 19.1;Symbole;326 19.2;A;326 19.3;B;326 19.4;C;327 19.5;D;327 19.6;E;327 19.7;F;327 19.8;G;327 19.9;H;328 19.10;I;328 19.11;K;328 19.12;L;328 19.13;M;328 19.14;N;328 19.15;O;328 19.16;P;329 19.17;Q;329 19.18;R;329 19.19;S;329 19.20;T;330 19.21;U;330 19.22;V;330 19.23;W;330 19.24;Z;330
Mehr von