Bereits behandelt: Einfache Datentypen, Felder, Zeiger, Referenzen. Kontrollstrukturen. Funktionen. Heute: Datentypen: Structs, Unions
|
|
- Stefanie Möller
- vor 6 Jahren
- Abrufe
Transkript
1 Kompaktkurs C++ Themen D 1 Bereits behandelt: Einfache Datentypen, Felder, Zeiger, Referenzen Kontrollstrukturen Funktionen Heute: Datentypen: Structs, Unions Datentypen: typedef, sizeof, Typkonvertierung Ein-/Ausgabe: Formatierung, Dateien Verschiedenes: Präprozessor, Vergleich zu C
2 Kompaktkurs C++ Strukturen (structs) D 2 Ein struct fasst mehrere Elemente unterschiedlichen Typs zu einem neuen Typ zusammen: struct MyStruct int i, j; char c; double feld[3]; }; // Definition des Typs "MyStruct" int main() MyStruct m1; // Variablendefinition MyStruct m2 = 1, 2, X, 0, 1.2, -9.2 } }; // + Initialisierung m1 = m2; // Zuweisung m1.i = 3; // Elementzugriff, schreibend bool b = (m1.c == Z ); // bzw. lesend } return 0;
3 Kompaktkurs C++ Strukturen (structs) D 3 struct SName... }; definiert eine Struktur SName. Der neue Typ SName kann wie ein eingebauter Typ verwendet werden, z. B. deklariert SName s; eine Variable s vom Typ SName. Man kann Strukturen gleichen Typs einander zuweisen: SName s1, s2; s1 = s2; Dabei wird die Struktur elementweise kopiert. Durch struct S1 int i; }; und struct S2 int i; }; werden zwei unterschiedliche Typen S1 und S2 definiert, die einander nicht zugewiesen werden können: S1 s1; S2 s2 = s1; // Fehler! Auf die Elemente einer Struktur greift man über den Operator. zu: struct S int i; }; S s; s.i = 1; Eine Struktur kann leer sein: struct S }; Man kann eine Struktur auch in einer anderen Struktur verwenden: struct S1 int i; }; struct S2 S1 s1; };
4 Kompaktkurs C++ Strukturen kopieren D 4 #include <iostream> struct Feld int Laenge; double* p; char Name[20]; }; int main() Feld feld1 = 5, new double[5], "Feld1" }, feld2 = feld1; } feld2.laenge = 7; feld2.p[0] = 2.3; feld2.name[0] = X ; std::cout << feld1.laenge << " " << feld1.p[0] << " " << feld1.name << \n << feld2.laenge << " " << feld2.p[0] << " " << feld2.name << std::endl; return 0; Feld Xeld1
5 Kompaktkurs C++ Strukturen und Zeiger D 5 Sind Felder in einer Struktur vorhanden, werden die Felder bei einer Zuweisung komplett kopiert. Bei Zeigern werden dagegen nur die Zeiger selbst kopiert und nicht der Speicher, auf den sie zeigen. struct S; deklariert eine Struktur nur (um sie später zu definieren). Von diesem noch unvollständigen Typ können keine Variablen angelegt werden. Aber es kann bereits ein Zeiger auf S definiert werden: S* p; Er darf allerdings noch nicht dereferenziert werden. Ist die Struktur vollständig definiert struct S int i; }; dann kann man über den Zeiger auf die Elemente der Struktur zugreifen: (*p).i oder p->i
6 Kompaktkurs C++ Einfach verkettete Liste D 6 #include <iostream> struct ListElem double x; ListElem* next; }; int main() ListElem *List = 0, *tmp; tmp = new ListElem; tmp->x = 1.3; tmp->next = 0; List = tmp; tmp = new ListElem; tmp->x = 2.4; tmp->next = 0; List->next = tmp; // leere Liste, Hilfszeiger // 1. Listenelement erzeugen, // initialisieren // und in die Liste einhaengen // 2. Listenelement erzeugen, // initialisieren // und in die Liste einhaengen for (ListElem* p = List; p; p = p->next) // durch die Liste laufen std::cout << p->x << std::endl; // und Eintraege ausgeben } return 0;
7 Kompaktkurs C++ Einfach verkettete Liste D 7 List tmp List x = 1.3 next tmp List x = 1.3 next tmp List x = 1.3 next x = 2.4 next tmp List x = 1.3 next x = 2.4 next tmp
8 Kompaktkurs C++ Unions D 8 Eine union fasst ähnlich wie ein struct mehrere Elemente unterschiedlichen Typs zu einem neuen Typ zusammen: union MyUnion // Definition des Typs "MyUnion" int i; char c; }; Bei einer Union belegen aber alle Elemente denselben Speicherplatz! Unions kann man zum Platzsparen bei Datenstrukturen benutzen, in denen zwei Elemente nie gleichzeitig sinnvolle Werte haben können: struct Zahl bool IsInteger; union int i; double x; }; }; struct ListElem // Listenelement fuer Liste, die zwei Typen aufnehmen kann! Zahl z; ListElem* next; };
9 Kompaktkurs C++ Unions D 9 Eine andere Anwendung ist, die interne Darstellung eines Datentyps auszulesen: #include <iostream> const int SizeDbl = sizeof(double); // Speichplatzbedarf eines double (meist 8) union ShowDouble double x; char c[sizedbl]; }; int main() ShowDouble s; s.x = -6.8; for (int i=0; i<sizedbl; ++i) std::cout << int(s.c[i]) << std::endl; } return 0;
10 Kompaktkurs C++ typedef D 10 Mittels typedef kann man Typen einen neuen Namen geben. Dies ist insbesondere bei zusammengesetzten Typen sinnvoll. Zur Abstrahierung wird es aber auch bei einfachen Datentypen benutzt: typedef unsigned int size_t; size_t i; typedef const int* const_ptr; const_ptr p; typedef void (*fptr)(double, int); fptr f; Durch typedef wird kein neuer Typ erzeugt, sondern nur ein zusätzlicher Name vergeben. Daher ist folgendes erlaubt: struct A int i; }; A a; typedef A B; B b = a; Vorsicht bei der Verwendung von const: typedef int* ptr_1; typedef const ptr_1 ptr_2; typedef const int* ptr_3; // ptr_3!= ptr_2 typedef int* const ptr_4; // ptr_4 == ptr_2
11 Kompaktkurs C++ sizeof D 11 Mit sizeof kann man feststellen, wie viele Bytes Speicherplatz ein Typ bzw. eine Variable belegt (hier für einen Pentium 4 Prozessor): #include<iostream> struct S int i; char c; }; union U int i; char c; }; int main() int i, array[7]; } std::cout << sizeof(char) << \n // 1 << sizeof(int) << \n // 4 << sizeof(double) << \n // 8 << sizeof(double*) << \n // 4 << sizeof(bool) << \n // 1 << sizeof(i) << \n // 4 << sizeof(array)/sizeof(int) << \n // 7 << sizeof(3*7) << \n // 4 << sizeof( X ) << \n // 1 << sizeof(s) << \n // 8 wegen Alignment << sizeof(u) << std::endl; // 4 return 0;
12 Kompaktkurs C++ sizeof, Zeiger und Alignment D 12 Wenn man einen Zeiger int *p inkrementiert (++p), dann wird zu der Adresse sizeof(int) hinzuaddiert. Inkrementiert man einen Zeiger auf double, so wird sizeof(double) hinzuaddiert. Dafür (und für das Dereferenzieren) ist es wichtig, dass der Zeiger den Typ kennt, auf den er zeigt. Viele Datentypen dürfen nicht an irgendwelchen Stellen im Speicher liegen. Ein Integer sollte (bei einem Pentium 4) beispielsweise immer an einer Adresse liegen, die durch 4 teilbar ist. Dies nennt man Alignment. Daher findet man in einem struct of Füllbytes (Padding), die nur dazu dienen, das Alignment für alle Elemente der Struktur (oder der nächsten Struktur in einem Feld) zu garantieren. So kann ein struct größer sein als alle seine Elemente zusammen. Eine union hat die Größe des größten Elements. Eine bool-variable belegt ein ganzes Byte, damit jede bool-variable eine eigene Speicheradresse hat, über die man mit einem Zeiger auf die Variable zugreifen kann.
13 Kompaktkurs C++ Speicher-Layout D 13 c1 c2 c3 c4 c5 i c c i c1 i c2 i c1 c i c
14 Kompaktkurs C++ Datentypen D 14 Einfache Datentypen: Integers int, short,... Fließkommazahlen double, float, long double Wahrheitswerte bool Zeichen char, wchar_t,... Aufzählungen enum Zusammengesetzte Datentypen: Felder char c[5]; Zeiger int* p; Referenzen double& r; Funktionszeiger void (*fptr)(double); Funktionsreferenzen int (&fptr)(); Strukturen struct S int i; double x; }; Unions union U int i; char c; };
15 Kompaktkurs C++ Typkonvertierung (Casting) D 15 Die einfachen Datentypen lassen sich alle ineinander umwandeln: Einen Datentyp mit kleinem Wertebereich (z. B. short) kann man meist problemlos in einen Typ mit größerem Wertebereich (z. B. int) umwandeln. Umgekehrt kann es vorkommen, dass das der Wert des größeren Typs nicht mit dem kleineren Typ darstellbar ist. Das Ergebnis der Konvertierung ist dann unbestimmt. Für die Größe der Wertebereiche kann man als Faustregel nehmen: bool < enum, Zeichen Integers < Fließkommazahlen. Innerhalb der einzelnen Kategorien ist die Relation meist klar: short < int bzw. float < double etc. Bei der Umwandlung eines Integers mit vielen Stellen in eine Fließkommazahl mit kurzer Mantisse werden die letzten Ziffern unter Umständen gerundet. Dasselbe gilt für die Konvertierung einer Fließkommazahl mit langer Mantisse in eine mit kurzer Mantisse.
16 Kompaktkurs C++ Typkonvertierung (Casting) D 16 Bei der Konvertierung einer Fließkommazahl in einen Integer werden die Nachkommastellen abgeschnitten. Zeichen werden nach der Zeichentabelle des Rechners in Zahlen umgewandelt und umgekehrt. Beim ASCII-Code gilt beispielsweise A == 65, 0 == 48. Die Wahrheitswerte false und true werden in 0 bzw. 1 umgewandelt. Umgekehrt wird nur die 0 bzw. das Null-Zeichen \0 in false umgewandelt; alle anderen Werte werden nach true konvertiert. Für den Aufzählungstyp enum Farben Rot, Gelb, Blau }; gilt: Rot == 0, Gelb == 1, Blau == 2. Man kann die Werte aber auch explizit vorgeben: enum E A = -1, B = 1, C, D = 1, E = 17 }; Damit ist dann C == 2.
17 Kompaktkurs C++ Explizite und implizite Typkonvertierung D 17 Bei der expliziten Typkonvertierung wird der Typ angegeben, in den man einen Ausdruck umwandeln will: int i; double x = (double)i; // C-Notation int i; double x = double(i); // funktionale Notation Bei der impliziten Typkonvertierung nimmt der Compiler die Umwandlung selbst vor: int i; double x = i; Da implizite Typkonvertierung nicht trivial ist, sollte man in Zweifelsfällen eine explizite Typumwandlung vornehmen. Außerdem sind weniger implizite als explizite Typumwandlungen möglich. Bei Initialisierung und Zuweisung (also auch bei der Übergabe von Argumenten an Funktionen) wird die rechte Seite in den Typ der linken Seite konvertiert. Bei arithmetischen und Vergleichsoperationen mit einfachen Datentypen gilt die Faustregel: Das Argument mit dem kleineren Typ wird in den größeren Typ umgewandelt, wenn dieser größer als int ist. Ansonsten werden beide in int umgewandelt.
18 Kompaktkurs C++ Typkonvertierung mit Zeigern D 18 Zeiger lassen sich durch explizite Typkonvertierung in Zeiger eines anderen Typs umwandeln. int *p; double *q = (double*)p; Wegen falschen Alignments kann das Dereferenzieren eines umgewandelten Zeigers aber zu unerwünschten Resultaten führen. Jeder Zeiger kann durch implizite Konvertierung in einen Zeiger vom Typ void* umgewandelt werden. Für die Umkehrung ist wieder eine explizite Konvertierung erforderlich. int *p; void *q; q = p; p = (int*)q; Ein Zeiger auf void kann nicht dereferenziert werden. Die Umwandlung von Zeigern auf Daten/void in Zeiger auf Funktionen und umgekehrt ist möglich. Sie kann aber zu unerwünschten Resultaten führen, da die beiden Zeiger auf einigen Maschinen eine unterschiedliche interne Darstellung haben. Zeiger lassen sich durch explizite Typkonvertierung in Integer konvertieren und umgekehrt.
19 Kompaktkurs C++ Ausgabeformatierung D 19 Im Header iomanip sind sogenannte Manipulatoren definiert, mit denen sich das Verhalten der Ausgabe-Streams verändern lässt: std::cout << std::setbase(n); Basis für die Darstellung von Integerzahlen std::cout << std::setprecision(n); Anzahl der Dezimalstellen std::cout << std::setw(n); Breite des Ausgabefeldes für die nächste Zahl std::cout << std::setfill( X ); Füllzeichen, mit dem das Ausgabefeld aufgefüllt wird std::cout << std::setiosflags(std::ios::flag); Eigenschaft eines Streams einschalten std::cout << std::resetiosflags(std::ios::flag); Eigenschaft wieder ausschalten
20 Kompaktkurs C++ Ausgabeformatierung D 20 FLAG steht beispielsweise für: left right scientific fixed stdio linksbündige Ausgabe rechtsbündige Ausgabe Fließkommaformat mit Mantisse und Exponent Festkommaformat Puffer nach jedem Zeichen leeren #include <iostream> #include <iomanip> int main() std::cout << std::setiosflags(std::ios::scientific) << std::setprecision(4) << std::setiosflags(std::ios::right) << std::setfill( # ) << std::setw(15) << << std::endl; return 0; } Ausgabe: #####1.3527e+01
21 Kompaktkurs C++ Einlesen von Zeichenketten D 21 Achtung: Beim Einlesen von Zeichenketten sollte man dem Eingabestrom mittels std::setw immer mitteilen, wie lang das Feld ist, in das die Daten geschrieben werden sollen. Sonst können andere Speicherbereiche durch zu lange Eingaben überschrieben werden! #include <iostream> #include <iomanip> int main() char Feld1[10], Feld2[10]; std::cout << "Bitte geben Sie zwei Zeichenketten ein!" << std::endl; } std::cin >> Feld1; // Pufferueberlauf moeglich! // Sicherheitsluecke! std::cin >> std::setw(10) >> Feld2; // OK, maximal 10 Zeichen einlesen return 0; Werden 10 oder mehr Zeichen eingegeben, wird kein abschließendes \0 in das Feld geschrieben! Überschüssige Zeichen bleiben im Eingabestrom liegen und werden erst bei der nächsten Leseoperation verwendet.
22 Kompaktkurs C++ Ein-/Ausgabe mit Dateien D 22 Um Ein-/Ausgaben mit Dateien vornehmen zu können, muss der Header fstream eingebunden werden. Die Datentypen std::ifstream und std::ofstream dienen zum Lesen aus einer Datei bzw. zum Schreiben in eine Datei: #include <fstream> int main() std::ifstream InFile("Datei1.txt"); // Datei zum Lesen oeffnen std::ofstream OutFile("Datei2.txt"); // Datei zum Schreiben oeffnen char c; while (InFile >> c) OutFile << c; InFile.close(); OutFile.close(); // Zeichen einlesen, solange es geht // Zeichen ausgeben // Dateien schliessen } return 0;
23 Kompaktkurs C++ Präprozessor D 23 Zeilen, die mit # beginnen, leiten Präprozessor-Direktiven ein. Der Präprozessor führt im wesentlichen eine Textersetzung vor der eigentlichen Compilierung durch. #include <xyz> bindet die Header-Datei xyz ein, die in den System- Verzeichnissen gesucht wird. Bei der Form #include "xyz" wird in den Anwender-Verzeichnissen gesucht. #define xyz abc definiert das Macro xyz. Überall im nachfolgenden Programmtext wird xyz durch abc ersetzt. abc kann auch leer sein. #define xyz(a,b) ((a)/(b)) definiert eine Macro-Funktion. Überall wird der Funktionsaufruf xyz durch den Ausdruck auf der rechten Seite ersetzt. Die Klammern auf der rechten Seite sind wichtig, denn #define xyz(a,b) a/b macht aus 2-xyz(4,2-3) den Ausdruck 2-4/2-3 == -3 und nicht 2-((4)/(2-3)) == 6. #undef xyz löscht die Macrodefinition von xyz wieder.
24 Kompaktkurs C++ Präprozessor D 24 #if expr testet, ob der Ausdruck expr erfüllt ist. Wenn nicht, wird der Text bis zum zugehörigen #endif gelöscht. Es gibt auch die Variante mit #else-zweig, bei der jeweils einer der beiden Zweige gelöscht wird. #if-direktiven können geschachtelt werden. Mit #if 0... #endif wird Code oft auskommentiert. #ifdef xyz ist eine Abkürzung für #if defined (xyz). Folgender Trick wird oft in Header-Dateien verwendet, um zu verhindern, dass sie mehrfach eingebunden werden: #ifndef _MY_HEADER_ #define _MY_HEADER_... hier steht der eigentliche Code... #endif #error xyz gibt die Fehlermeldung xyz aus. #pragma xyz reicht die systemspezifische Information xyz an den Compiler weiter.
25 Kompaktkurs C++ Vergleich mit C D 25 Die meisten bislang dargestellten Elemente aus C++ finden sich auch in C wieder, einige davon aber in abgewandelter Form. Die wichtigsten Unterschiede sind: Ein-/Ausgabe geschieht über die Funktionen scanf und printf statt über die Streams std::cin und std::cout in Verbindung mit den Operatoren >> und <<. Zur Ein-/Ausgabe in Dateien wird anstelle von Streams der Typ FILE verwendet. Speicherallozierung und -freigabe geschieht mit malloc und free statt new und delete. Viele Header-Dateien haben andere Namen, z. B. math.h statt cmath. Es gibt keine Referenzen, sondern nur Zeiger in C. In C kann man keine Funktionen überladen.
Elementare Datentypen in C++
Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der
MehrBereits behandelt: Einfache Datentypen / Variablen. Schleifen und Verzweigungen. Funktionen. Heute: Felder, Zeiger, Referenzen. Freispeicherverwaltung
Kompaktkurs C++ Themen C 1 Bereits behandelt: Einfache Datentypen / Variablen Schleifen und Verzweigungen Funktionen Heute: Felder, Zeiger, Referenzen Freispeicherverwaltung Zeichenketten Kommandozeilenargumente
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrBereits behandelt: Einfache Datentypen / Variablen. Schleifen und Verzweigungen. Funktionen. Heute: Felder, Zeiger, Referenzen. Freispeicherverwaltung
Kompaktkurs C++ Themen C 1 Bereits behandelt: Einfache Datentypen / Variablen Schleifen und Verzweigungen Funktionen Heute: Felder, Zeiger, Referenzen Freispeicherverwaltung Zeichenketten Kommandozeilenargumente
MehrKapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08
Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für
MehrInhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern
MehrVariablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes
Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!
MehrProgrammieren in C. Speicher anfordern, Unions und Bitfelder. Prof. Dr. Nikolaus Wulff
Programmieren in C Speicher anfordern, Unions und Bitfelder Prof. Dr. Nikolaus Wulff Vergleich: Felder und Strukturen Felder müssen Elemente vom selben Typ enthalten. Strukturen können Elemente unterschiedlichen
MehrDr. Monika Meiler. Inhalt
Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11
MehrBerichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung
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
MehrUnterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Christof Beyer Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 7-1 Bisher eingeführt war für Namen nur der Datentyp char. Dieser erlaubt das Speichern
MehrKurze Einführung in die Programmiersprache C++ und in Root
Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung
MehrDAP2-Programmierpraktikum Einführung in C++ (Teil 1)
DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume
MehrArrays (Felder/Vektoren)
Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrEinführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
MehrAdvanced Programming in C
Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer
MehrWas Mathematiker schon vor Jahrhunderten erfunden haben, gibt es jetzt endlich in ihrer Programmiersprache:
Kapitel 8 Operatoren Was Mathematiker schon vor Jahrhunderten erfunden haben, gibt es jetzt endlich in ihrer Programmiersprache: Operatoren definieren Es ist in C++ möglich, Operatoren wie +, oder für
MehrC++ Notnagel. Ziel, Inhalt. Programmieren in C++
C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include
MehrPrimitive Datentypen und Felder (Arrays)
Primitive Datentypen und Felder (rrays) Primitive Datentypen Java stellt (genau wie Haskell) primitive Datentypen für Boolesche Werte, Zeichen, ganze Zahlen und Gleitkommazahlen zur Verfügung. Der wichtigste
MehrBeispiel. Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio)
Beispiel Beispiel: Namensliste konvertieren (Karl Egon Meier Meier, Karl Egon). s/(.*) (.*)/$2, $1/; Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio) s/(.*) (.*)/$2, $1/; s/(.*) ([a-z]+
Mehr1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
Mehr7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});
S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse
MehrC++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14
C++ Teil 6 Sven Groß 27. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 27. Mai 2016 1 / 14 Themen der letzten Vorlesung Musterlösung A2 Wdh.: Zeiger und Felder Kopieren von Feldern Dynamische Speicherverwaltung
MehrAlgorithmen zur Datenanalyse in C++
Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in
Mehr8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
MehrZeiger und dynamischer Speicher
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Zuletzt aktualisiert: 09.12.2013, 07:49 Uhr
MehrC++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole Leibniz Universität IT Services Anja Aue Eingabe (input) und Ausgabe (output) In diesem Kapitel wird nur das Lesen von und das
MehrDr. Monika Meiler. Inhalt
Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 008/09 Zusammengesetzte Datentypen - Feld (array) - Verbund (struct) - Aufzählung (enum) Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
MehrProgrammieren in C / C++ Grundlagen C 2
Programmieren in C / C++ Grundlagen C 2 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisung / Ausdruck 1 Programm setzt sich aus vielen Anweisungen
MehrInteger Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen
1 C-Schlüsselwörter Schlüsselwörter sind in allen Programmiersprachen reservierte Wörter. In C sind auch alle Namen _[A-Z]... und... reserviert, auch _... bereichsweise. Weiterhin durch die Standard-
Mehr2. Datentypen und Deklarationen
2. Datentypen und Deklarationen Programm = Datenstrukturen+Kontrollstruktur Programme verarbeiten Daten. Daten werden in C durch Datenstrukturen aus verschiedenen Datentypen beschrieben. Es gibt (wie in
MehrKapitel 5. Datentypen und Operatoren
Kapitel 5 Datentypen und Operatoren 1 Gliederung Kapitel 5 Datentypen und Operatoren 5.1 Elementare Datentypen 5.2 Symbolische Konstanten 5.3 Typumwandlungen 5.4 Operatoren 2 5.1. Elementare Datentypen
MehrGI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
MehrDas erste C++ Programm
Das erste C++ Programm // Program: power8.c // Raise a number to the eighth power. #include int main() { // input std::cout > a; // computation int
MehrGestrige Themen. Benutzung des Compilers und Editors. Variablen. Ein- und Ausgabe mit cin, cout (C++) Verzweigungen. Schleifen
1 Gestrige Themen Benutzung des Compilers und Editors Variablen Ein- und Ausgabe mit cin, cout (C++) Verzweigungen Schleifen Ausdrücke 2 Themen heute Elementare Datentypen Zusatz zu Kontrollstrukturen
MehrTutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrZusammengehörige Daten struct. Strukturierte Datentypen und Funktionszeiger. Zugriff auf struct-elemente. Variablendeklarationen mit struct
Zusammengehörige Daten Anstatt logisch zusammengehörende Daten in mehreren unabhängigen Variablen zu speichern, kann man für sie einen eigenen Datentyp ( Verbund, Record ) definieren, der diesen Zusammenhang
MehrDynamische Datentypen
Dynamische Datentypen Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang
MehrErste Schritte der Programmierung in C
Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrGrundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 7: Matrizen, Vektoren und dynamische Speicherverwaltung Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg
MehrPraxis der Programmierung
Dynamische Datentypen Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Dynamische Datentypen 2 Dynamische Datentypen
MehrEinführung in die Programmierung Wintersemester 2008/09
Einführung in die Programmierung Wintersemester 28/9 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Darstellung von Information Inhalt Einfache Datentypen
MehrKlausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte
Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Musterlösung 1. Aufgabe (5 Punkte) Im folgenden Programmcode sind einige Fehler enthalten. Finden und markieren Sie mindestens
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
MehrZusammenfassung des Handzettels für Programmieren in C
Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.
MehrGrundlagen der Informatik 2. Operatoren
2. Operatoren Referenzen Typumwandlungen Vorrangregeln Kommentare Grundlagen der Informatik (Alex Rempel) 1 Ausdruck (z.b. "x = 34 + y;") Folge von Operatoren und Operanden Operatoren Arithmetische Operatoren
MehrEscape-Sequenzen. Dr. Norbert Spangler
Escape-Sequenzen Einzelzeichen Bedeutung ASCII- ASCII-Code \a alert BEL 07 \b backspace BS 08 \t horizontal tab HT 09 \n line feed LF 0A \v vertical tab VT 0B \f form feed FF 0C \r carriage return CR 0D
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
MehrEinführung in die Programmierung Wintersemester 2011/12
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while
MehrModerne C-Programmierung
Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete
MehrÜbersicht. Informatik 1 Teil 9: komplexe Datentypen (Strukturen, Enumerationen, Unions)
Übersicht 9.1 Strukturen (Verwendung) 9.2 Strukturen (Typdeklaration) 9.3 Strukturen (Variablendeklaration) 9.4 Felder aus Strukturen 9.5 Zugriff auf Strukturkomponenten 9.6 Zugriff auf Strukturkomponenten
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die
MehrFunktionales C++ zum Ersten
Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: christoph.ott@uni-ulm.de Institut für Angewandte Informationsverarbeitung 26.08.08
MehrC++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18
C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen
MehrEin- und Ausgabe mit Dateien
Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main Vorbemerkungen
MehrC-Kurs 2010 Pointer. 16. September v2.7.3
C-Kurs 2010 Pointer Sebastian@Pipping.org 16. September 2010 v2.7.3 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. C-Kurs Mi Konzepte, Syntax,... printf, scanf Next
MehrFACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung
C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrZeiger in C und C++ Zeiger in Java und C/C++
1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für Referenztypen (Klassen und Arrays) verwendet,
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable
1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem
MehrC- Kurs 08 Zeiger. Dipl.- Inf. Jörn Hoffmann leipzig.de. Universität Leipzig Ins?tut für Informa?k Technische Informa?
C- Kurs 08 Dipl.- Inf. Jörn Hoffmann jhoffmann@informa?k.uni- leipzig.de Universität Leipzig Ins?tut für Informa?k Technische Informa?k Überblick Datentyp zur Verwaltung von Adressen (auf Speicherplätze)
Mehr10 Die Programmiersprache C99: Zusammenfassung
10 Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 25. September 2014, 18:40 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html
MehrNachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.
Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
MehrEin- und Ausgabe mit Dateien
Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main 2 Vorbemerkungen
MehrFelder (1) Allgemeines
Felder (1) Allgemeines Gleichartige Daten, wie Tabelle von Zahlen, Datumswerten, Namen etc. Felder (engl. Array) stellen einen Verbundtyp dar, in dem mehrere Daten desselben Typs gespeichert werden Oft
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 23
Kapitel 16 Datei Aus- und Eingabe Seite 1 von 23 Datei Aus- und Eingabe - Für die Ausgabe auf Dateien und die Eingabe von Dateien werden die Streams ofstream und ifstream verwendet. - Sie sind in der Bibliothek
MehrGrundlagen der Programmierung in C++ Arrays und Strings, Teil 1
Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple structured integral enum
MehrC++ Kurs Teil 1. Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen
C++ Kurs Teil 1 "hello world" Vergleich von C++ und Java Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen C++ Spezialitäten Schlüsselwort 'const', Copy Constructor,
MehrHochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller
Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit, 08:00 09:30 Uhr (90 min) Aufgabenblätter 14 Seiten (einschl. Deckblatt) erreichbare Punktzahl 54 zugelassene
MehrProgrammieren in C. Zeiger auf void und ihre Anwendungen. Prof. Dr. Nikolaus Wulff
Programmieren in C Zeiger auf void und ihre Anwendungen Prof. Dr. Nikolaus Wulff Fallstudie: minmax.h #ifndef _MINMAX_H_ #define _MINMAX_H_ /** find minimal element in array */ char cmin(int length, char
MehrC++-Zusammenfassung. H. Schaudt. August 18, 2005
C++-Zusammenfassung H. Schaudt August 18, 2005 1 Datentypen 1.1 Grunddatentypen int (-32xxx bis +32xxx, implementerungs-abhängig) char -128 bis +128 float double bool (C++) int und char sind austauschbar:
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 1 SS 2016
MehrEin- und Ausgabe (I/O)
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 14 Motivation Computer arbeiten
MehrProbeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten
Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, 13.00-14.45 Uhr Bearbeitungszeit: 105 Minuten Schalten Sie ihr Mobiltelefon aus. Bei der Klausur ist als einziges
MehrC/C++ Programmierung
1 C/C++ Programmierung Verbunde, Reihungen, Zeiger Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Typen 6.2.5 Primitive
MehrC für Java-Programmierer
Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrTyp : void* aktuelle Parameter Pointer von beliebigem Typ
2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben
MehrProgrammieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf
Mehr6. Zeiger Allgemeines Definition eines Zeigers
6. Zeiger www.c-programme.de Stefan Thiemert Kapitel 6 - Seite 1 von 6 6. 1. Allgemeines Zeiger spielen in der Programmierung eine wichtige Rolle. Sie sind wichtig, bei der Arbeit mit Arrays und Funktionen.
MehrInformatik: Abschnitt 4
Informatik: Abschnitt 4 Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit
MehrDie abgeleiteten Klassen Kreis und Viereck erben die Elemente des Basisklasse und verfügen über zusätzliche Eigenschaften (Seitenlänge,
Kompaktkurs C++ Vererbung (inheritance) 1 Oft besitzen verschiedene Datentypen einen gemeinsamen Kern: Kreis und Viereck sind geometrische Figuren; sie haben eine Kantenzahl, eine Fläche, einen Umfang
MehrStrukturierte Datentypen und Funktionszeiger
Zusammengehörige Daten Anstatt logisch zusammengehörende Daten in mehreren unabhängigen Variablen zu speichern, kann man für sie einen eigenen Datentyp ( Verbund, Record ) definieren, der diesen Zusammenhang
MehrTutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
Mehr