Eine Einführung in die Programmiersprache C ++

Größe: px
Ab Seite anzeigen:

Download "Eine Einführung in die Programmiersprache C ++"

Transkript

1 Eine Einführung in die Programmiersprache C ++ Thomas Kastl 5. April 2004 Die folgenden Ausführungen zu C ++ stellen keine vollständige Beschreibung dieser Programmiersprache dar. Es sind hauptsächlich die Bestandteile der Sprache beschrieben, die auch in der Programmiersprache C zu finden sind. 1 Compiler Um von einer Problemstellung zu einem lauffähigen Programm zu gelangen, sind mehrere Schritte notwendig. Der Programmtext (Quellcode) muss zunächst mit einem Texteditor (nedit, emacs, ) in Form einer ASCII-Datei (Quelldatei) gespeichert werden. Der Dateiname sollte dabei mit.cpp enden. Danach wird der Compiler (Übersetzer) unter Angabe der Quelldatei(en) aufgerufen $ CC kreis.cpp -o kreis Hierbei übersetzt der Compiler (CC) die Quelldatei kreis.cpp in ein ausführbares Programm ( Executable ) mit dem Namen kreis. Die Erzeugung des ausführbaren Programmes führt der Compiler in mehrerem Phasen durch. Die Dateien werden zuerst vom Präprozessor bearbeitet, d.h. es wird die sogenannte Makroverarbeitung ausgeführt. Dabei werden sämtliche Präprozessor-Kommandos (beginnend alle mit #) durch entsprechenden Programmcode ersetzt. Die Anweisung #include <iostream.h> bewirkt etwa, dass diese Zeile durch die gesamte Header-Datei iostream.h ersetzt wird. Das Ergebnis dieses Preprocessing, der interne Quelltext, wird schließlich von dem eigentlichen Compiler weiterverarbeitet. 1

2 2 GRUNDLAGEN Getrennte Übersetzung Für größere Projekte ist es sinnvoll den Programmcode auf mehrere Quelldateien aufzuteilen. Die physische Trennung eines Programms in getrennte Dateien sollte dabei von der logischen Struktur des Problemes geleitet werden. Der Compiler übersetzt nun jede einzelne Quelldatei für sich. Dabei ist zu beachten, dass der Compiler beim Übersetzen einer Datei nichts vom Inhalt der anderen Dateien weiß. Um eine getrennte Übersetzung zu ermöglichen, muss der Programmierer daher Deklarationen für Funktionen zur Verfügung stellen. Nach dem Übersetzen aller Quelldateien wird der sogenannte Linker (Binder) gestartet. Der Linker ist ein Programm, das die getrennt übersetzten Teile zusammenbindet. 2 Grundlagen Mit dem folgenden C ++ -Quellcode kann ein Programm generiert werden, dass den Umfang und die Fläche eines Rechtecks berechnet: 1 // rechteck.cpp /* 4 berechnet den Umfang und die Flaeche eines Rechteckes 5 nach der Eingabe von Laenge und Breite 6 */ 7 8 #include <iostream.h> // zusaetzliche Funktionen /* Hauptprogramm */ int main() float laenge, breite; // Variablendeklaration cout << "Umfang- und Flaechenberechnung eines Rechteckes\n\n"; // Eingabe von Laenge und Breite 20 cout << "Bitte die Laenge eingeben: "; 21 cin >> laenge; 22 cout << "Bitte die Breite eingeben: "; 23 cin >> breite; 24 2

3 2 GRUNDLAGEN 25 if ((laenge > 0) && (breite > 0)) float flaeche, umfang; // Variablendeklaration // Flaeche und Umfang berechnen 30 flaeche = laenge * breite; 31 umfang = 2.0 * (laenge + breite); // Resultate ausgeben 34 cout << endl; 35 cout << "Umfang = " << umfang << endl; 36 cout << "Flaeche = " << flaeche << endl; else cout << endl; 41 cout << "Falsche Eingabe!!!\n"; Die Ausführung des Executable erzeugt auf dem Bildschirm den folgendem Dialog zwischen Anwender und Computer: Umfang- und Flaechenberechnung eines Rechteckes Bitte die Laenge eingeben: 3 Bitte die Breite eingeben: 4 Umfang = 14 Flaeche = 12 Kommentare In C ++ werden Kommentare mit zwei aufeinanderfolgenden Schrägstrichen (//) eingeleitet, d.h. der Compiler ignoriert alle folgenden Zeichen bis zum jeweiligen Zeilenende. Zusätzlich können Passagen von beliebiger Größe durch /* */ auskommentiert werden (Zeilen 3-6). Struktur eines C ++ -Programmes Ein einfaches C ++ -Programm hat die folgende Struktur: 3

4 3 DATENTYPEN, VARIABLEN, KONSTANTEN #include <Headerdatei> Datentyp Funktion(Parameterliste) Anweisungen; int main() Anweisungen; // Header-Datei(en) einbinden // Funktionsdefinition // Hauptprogramm Die Anweisung #include teilt dem Präprozessor mit, dass eine sogenannte Header- Datei eigefügt werden soll. Diese enthält u.a. Funktionsdeklarationen (vgl. Abschnitt 9.3). Aufgrund deren Einbindung können in der aktuellen Quelldatei zusätzlichen Funktionen verwendet werden. Die Funktion main() muss in jedem C ++ -Programm genau einmal vorkommen, denn bei der Ausführung eines Programms wird genau diese Funktion abgearbeitet. Alle Anweisungen, die in einer Funktion ausgeführt werden sollen, müssen in einem Block zusammengefasst werden. Blöcke werden in C ++ von geschweiften Klammern ( ) umschlossen. C ++ ist eine formatfreie Sprache, d.h. zusätzlich eingefügte Füllzeichen (Leerzeichen, Tabulatoren, Zeilenumbrüche) haben keine Auswirkungen auf den Quellcode. Damit der Compiler erkennt, an welcher Stelle eine Anweisung aufhört, müssen diese mit einem Semikolon (;) abgeschlossen werden. Außerdem ist C ++ case-sensitive, d.h. es wird zwischen Groß- und Kleinschreibung unterschieden. Um einen wiederholt auszuführenden Programmteil auszulagern, können in einem C ++ - Programm Funktionen definiert werden. Diese werden in Abschnitt 9 näher vorgestellt. 3 Datentypen, Variablen, Konstanten Eine Variable bezeichnet einen Hauptspeicherbereich, in dem man zu unterschiedlichen Zeitpunkten beim Programmablauf unterschiedliche Werte abspeichern kann. Variablenzuweisung Mit der Zuweisung laenge = 5.3; wird der Wert 5.3 in der Variablen laenge gespeichert. Zu einem späteren Zeitpunkt kann mit 4

5 3 DATENTYPEN, VARIABLEN, KONSTANTEN laenge = 12.6; der Wert der Variablen auf 12.6 abgeändert werden. Deklaration von Variablen C ++ ist eine typbasierte Sprache, d.h. jede Variable besitzt einen Datentyp, der vor ihrer ersten Verwendung bestimmt werden muss. Mit der Deklaration einer Variablen wird dem Compiler der Datentyp dieser Variablen mitgeteilt. Der Compiler kann nun dafür sorgen, dass ein dem Datentyp entsprechender Speicherbereich für diese Variable reserviert wird. Mit der Anweisung float laenge; wird die Variable laenge vom Fließkommadatentyp float deklariert. Bei der esten Zuweisung (Initialisierung der Variablen) wird deshalb ein Speicherbereich von 32 Bit für das Datenobjekt laenge reserviert. Es stehen in C ++ eine Vielzahl von elementaren Datentypen zur Verfügung: Datentyp Bit Min. Max. char short int int (16)32(64) unsigned int long int 32(64) Tabelle 1: Ganzzahldatentypen Die Datenbitbreite für die Typen int und long int hängt vom verwendeten Compiler und Betriebssystem ab. Datentyp Bit Min. Max. float 32 ca. 3.4E-38 ca. 3.4E38 double 64 ca. 1.7E-308 ca. 1.7E308 long double 80 ca. 1.2E-4932 ca. 1.2E4932 Tabelle 2: Fließkommadatentypen Zusätzlich können auch eigene Datentypen entwickelt werden. Mehrere Variablen vom gleichen Typ können durch Kommas (,) getrennt in einer Zeile deklariert werden: float laenge, breite, hoehe; 5

6 4 EIN- UND AUSGABEFUNKTIONEN Initialisierung von Variablen Die Initialisierung einer Variablen kann direkt bei ihrer Deklaration erfolgen float durchmesser = 10.6; oder sich erst zu einem späteren Programmzeitpunkt ergeben: float durchmesser, radius; durchmesser = 2.0 * radius; // Deklaration // Initialisierung (erste Zuweisung) Der Gültigkeitsbereich einer Variablen reicht bis zum Ende des Blocks, in dem sie deklariert wurde. Sie gilt zusätzlich in allen Blöcken, die innerhalb dieses Blockes nach der Deklaration der Variablen auftreten. Außerhalb dieses Blockes ist die Variable unbekannt. Gültige Namen Zur Konstruktion von Namen für Variablen, Konstanten oder Funktionen sind in C ++ nur alphanumerische Zeichen (A..Z, a..z, 0..9), sowie der Unterstrich (_) erlaubt. Zusätzlich darf ein gültiger Name nicht mit einer Ziffer beginnen. Groß- und Kleinschreibung wird unterschieden. Konstanten Werte, die sich während des Programmablaufes nicht mehr verändern sollen, können in C ++ als Konstanten definiert werden. Konstanten werden mit dem vorangestellten Schlüsselwort const wie Variablen deklariert und müssen sofort initialisiert werden: const float PI = ; Der dem Namen zugewiesene wert kann nach der Deklaration nirgendwo mehr im Programm verändert werden. 4 Ein- und Ausgabefunktionen Unter C ++ steht eine komfortabele Ein- und Ausgabe mittels Datenströmen (streams) zur Verfügung. 6

7 4 EIN- UND AUSGABEFUNKTIONEN Standardausgabe Mit der Anweisung cout << "Bitte eine Zahl eingeben: "; folgt die Ausgabe Bitte eine Zahl eingeben: auf der Standardausgabe (d.h. i.a. auf dem Bildschirm). Der Einschiebeoperator (<<) schiebt dabei den auszugebenden Text Bitte eine Zahl eingeben: zum Standardausgabegerät. Mit cout kann auch der Inhalt beliebiger Variablen auf der Standardausgabe abgebildet werden. Die Anweisungen liefern float zahl = ; cout << zahl; auf der Standardausgabe. Eine Formatangabe wird dabei nicht benötigt. Ebenfalls können auch mehrere Datenströme hintereinander zur Standardausgabe geschoben werden. Die Anweisungen int ganze_zahl = 23; float fliesskommazahl = ; cout << "Zahlentypen in C++: \n" << endl << "Ganze Zahl: " << ganze_zahl << endl << "Fliesskommazahl: " << fliesskommazahl << endl; führen zur Ausgabe: Zahlentypen in C ++ : Ganze Zahl: 23 Fliesskommazahl: Mit dem Befehl endl oder mit der Zeichenkette "\n" kann Zeilenumbruch erzwungen werden. 7

8 5 OPERATOREN UND AUSDRÜCKE Standardeingabe Bei dem Gegenstück zu cout, der Anweisung cin >> zahl; wird eine Eingabe vom Standardeingabegerät (i.a. der Tastatur) zur angegebenen Variablen zahl geschoben. Man beachte, dass der Einschiebeoperator (>>) hierbei in Richtung der Variablen zeigt. Ist die Tastatur als Standardeingabegerät definiert, so erwartet das Programm an dieser Stelle eine Eingabe vom Anwender. Alle weiteren Anweisungen werden vom Programm erst dann ausgeführt, wenn der Anwender seine Eingabe mit der Return-Taste abgeschlossen hat. Die Eingabe wird nicht automatisch auf ihre Gültigkeit hin untersucht, d.h. der Programmentwickler muss dafür sorgen, dass eventuell unsinnige Eingaben vom Programm abgefangen werden. Die Befehle für die Ein- und Ausgabe gehören nicht zum Grundwortschatz von C ++. Daher muss am Anfang mit der Präprozessor-Anweisung #include <iostream.h> die Header-Datei iostream.h in die Quelldatei eingebunden werden. Nach dem Einbinden der Header-Datei iomanip.h stehen zusätzlich noch einige Ausgabe-Manipulatoren zur Verfügung. Die Anweisung cout << setprecision(9); etwa legt eine Ausgabe von insgesamt 9 Stellen für Fließkommazahlen fest. Mit cout << setw(10) << zahl; kann das Eingabefeld für zahl auf eine Breite von 10 Zeichen beschränkt werden. 5 Operatoren und Ausdrücke In seiner einfachsten Form besteht ein Ausdruck aus einem Wert oder einer Variablen. In dieser Form wird er auch Primärausdruck genannt. Ausdrücke können durch Operatoren miteinander verknüpft werden. Ein in dieser Weise entstandenes Konstrukt bildet wiederum einen Ausdruck. Ausdrücke, auf die ein Operator angewendet wird, werden die Operanden des Operators genannt. 8

9 5 OPERATOREN UND AUSDRÜCKE 5.1 Arithmetische Operatoren In C ++ existieren eine Vielzahl von Operatoren mit denen Ausdrücke verknüpft oder manipuliert werden können. Manche Operatoren können allerdings nicht auf beliebige Ausdrücke angewendet werden, so sind für Operanden solcher Operatoren z.b. nur Variablen von einem bestimmten Datentyp zugelassen. Operatoren können nach verschiedenen Gesichtspunkten klassifiziert werden. Zum einen besitzt jeder Operator eine Prioritätsstufe, die angibt, in welcher Reihenfolge Operatoren ausgewertet werden, wenn mehrere Operatoren in einem Ausdruck enthalten sind. Operatoren mit einer höheren Priorität werden immer vor Operatoren mit einer niedrigeren Priorität abgearbeitet. Jede Prioritätsstufe besitzt zusätzlich eine festgelegte Abarbeitungsrichtung. Diese gibt an, in welcher Reihenfolge Operatoren gleicher Prioritätsstufe innerhalb eines Ausdrucks ausgewertet werden. Ein weiteres Unterscheidungsmerkmal ist der Typ eines Operators. Der Typ eines Operator bezieht sich auf die Anzahl seiner Operanden. Unäre Operatoren wirken nur auf einen, binäre wirken auf zwei und ternäre Operatoren wirken auf drei Operanden. Zusätzlich gibt es noch primäre Operatoren, welche über die höchste Prioritätsstufe definiert sind. Im folgenden sind einige wichtige Operatoren nach Funktionsgruppen geordnet aufgeführt. 5.1 Arithmetische Operatoren Operator Bedeutung Priorität Typ Richtung + Addition 5 binär > - Subtraktion 5 binär > * Multiplikation 4 binär > / Division 4 binär > % Modulo 4 binär > Tabelle 3: Arithmetische Operatoren Der Multiplikationsoperator (*) und der Divisionsoperator (\) haben eine höhere Priorität (je niedriger die Zahl, desto höher ist die Prioritätsstufe) als Additions- (+) und Subtraktionsoperator (-). Untereinander liegen sie jeweils auf der selben Prioritätsstufe mit einer Abarbeitungsrichtung von links nach rechts. Deshalb ist der Ausdruck a + 4 * 5 - b + 4 gleichbedeutend mit dem geklammerten Ausdruck (((a + (4 * 5)) - b) + 4) Der Modulo-Operator (%) darf nur auf ganzzahlige (Integer-) Datentypen angewendet werden, alle andern arithmetischen Operatoren können für Ganz- und Fließkommazahlen verwendet werden. 9

10 5 OPERATOREN UND AUSDRÜCKE 5.2 Relationale Operatoren 5.2 Relationale Operatoren Operator Bedeutung Priorität Typ Richtung < kleiner als 7 binär > <= kleiner oder gleich 7 binär > > größer 7 binär > >= größer oder gleich 7 binär > == gleich 8 binär >!= ungleich 8 binär > Tabelle 4: Relationale Operatoren Das Ergebnis eines Vergleichs zweier Ausdrücke ist immer einer der beiden Integerwerte 0 (logisch unwahr) oder 1 (logisch wahr). Ein beliebiger Wert ungleich 0 wird ebenfalls als logisch wahr angesehen. Die Anweisungen int a = 2, b, c; b = 3 > a; c = 3 < a; ordnen der Variablen b den Wert 1 (wahr) zu und der Variablen c den Wert 0 (unwahr). Vergleichsausdrücke werden in der Regel in Verzweigungen oder in Schleifen verwendet (vgl. Abschnitt 6). Der Vergleichsoperator (==) darf nicht mit dem Zuweisungsoperator (=) verwechselt werden. Die Anweisung if (x = 3) Anweisungen; wird vom Compiler nicht als Fehler erkannt! Der Ausdruck x = 3 wird mit dem Wert von x, also mit 3, einem Wert ungleich 0 bewertet. Daher ist dieser Ausdruck immer wahr, wodurch die Anweisungen immer ausgeführt werden. 5.3 Logische Operatoren Operator Bedeutung Priorität Typ Richtung && logisches AND 12 binär > logisches OR 13 binär >! logische Negation 2 unär < Tabelle 5: Logische Operatoren 10

11 5 OPERATOREN UND AUSDRÜCKE 5.4 Zuweisungsoperatoren Die logischen Operatoren verknüpfen logische Werte (wahr (1) oder unwahr (0)) miteinander, wobei das Ergebnis aus der folgenden Tabelle herauszulesen ist. a b a && b a b!a Tabelle 6: Wahrheitstabelle für logische Verknüpfungen Die Anweisungen der Verzweigung if ((x >= 3) && (x <= 5)) Anweisungen; werden nur ausgeführt, wenn die Variable x einen Wert zwischen 3 und 5 besitzt. 5.4 Zuweisungsoperatoren Operator Bedeutung Priorität Typ Richtung = Zuweisung 15 binär < += Zuw. nach Addition 15 binär < -= Zuw. nach Subtraktion 15 binär < *= Zuw. nach Multiplikation 15 binär < /= Zuw. nach Division 15 binär < Tabelle 7: Zuweisungsoperatoren Bei den letzten vier Zuweisungsoperatoren erfolgt die Zuweisung erst nach der Ausführung des vorangestellten Operators. Dies ermöglicht eine verkürzte Schreibweise. Der Additionsoperator (+) hat eine höhere Priorität als der Zuweisungsoperator (=). Daher ist der Ausdruck a = a + 5; gleichbedeutend mit a = (a + 5); 11

12 6 KONTROLLSTRUKTUREN 5.5 Post- und Prefix-Operatoren Zuerst verknüpft der Additionsoperator (+) die Varable a und den Wert 5 zu dem Ausdruck a + 5. Danach wird der Variablen a dieser Ausdruck zugewiesen, d.h. die Variable a enthält jetzt den alten Wert von a und 5. Somit ist der Wert von a wird um 5 erhöht worden. Den gleichen Effekt erzielt man mit dem Ausdruck a += 5; Der Zuweisungsoperator (+=) erhöht zuerst den Wert der Variablen a auf der linken Seite um 5 und weist diesen um 5 erhöhten Wert wiederum der Variablen a zu. Auf der linken Seite einer Zuweisung muss immer eine Variable stehen. 5.5 Post- und Prefix-Operatoren Operator Bedeutung Priorität Typ Richtung ++ Inkrement 1 unär > -- Dekrement 1 unär > () Funktionsaufruf 1 primär > [] Arrayelement 1 primär > Tabelle 8: Post- und Prefix-Operatoren Werterhöhungen um 1 können auch mit dem unären Inkrementoperator (++) durchgeführt werden. Nach Abarbeitung der Ausdrücke oder a += 1; a++; besitzt die Variable a jeweils einen um 1 erhöhten Wert. Für Subtraktionen um 1 steht der Dekrementoperator zur Verfügung. 6 Kontrollstrukturen Normalerweise werden die Anweisungen in einem C ++ -Programm der Reihe nach abgearbeitet. Über die Kontrollstrukturen Schleifen und Verzweigungen kann dieser Programmfluss gezielt gesteuert werden. Verzweigungen ermöglichen es, das Programm in Abhängigkeit von bestimmten Eingaben oder Variablenbelegungen an vorbestimmten Stellen fortzusetzen. Mit Schleifen können Anweisungen beliebig oft wiederholt ausgeführt werden. 12

13 6 KONTROLLSTRUKTUREN 6.1 Schleifenanweisungen 6.1 Schleifenanweisungen Eine Schleife wiederholt einen Block von Anweisungen, solange ein Ausdruck als wahr (d.h. ungleich 0) bewertet wird. Dieser Ausdruck wird auch Laufbedingung genannt. Kopfgesteuerte Schleife Die kopfgesteuerte Schleife überprüft die Laufbedingung zu Beginn eines jeden Schleifendurchlaufs. while (ausdruck) anweisung1; anweisung2; Die Anweisungen werden nicht mehr ausgeführt, sobald zu Beginn eines Schleifendurchlaufs der Ausdruck unwahr (d.h. gleich 0) ist. Fussgesteuerte Schleife Bei einer fussgesteuerte Schleife wird die Laufbedingung am Ende eines jeden Schleifendurchlaufs überprüft, d.h. die Schleife muss mindestens einmal durchlaufen werden. do anweisung1; anweisung2; while (ausdruck); Die Anweisungen werden nicht mehr ausgeführt, sobald am Ende eines Schleifendurchlaufs der Ausdruck unwahr ist. Zählschleife Auch bei der Zählschleife (for-schleife) wird die Laufbedingung zu Beginn eines jeden Schleifendurchlaufs überprüft. 13

14 6 KONTROLLSTRUKTUREN 6.2 Verzweigungen for (Initialisierungsausdruck; Laufbedingung; Inkrementausdruck) anweisung1; anweisung2; Bei dieser Schleife wird zuerst einmalig der Initialisierungsausdruck ausgeführt. Falls die Laufbedingung erfüllt ist, wird der Anweisungsblock abgearbeitet. Nach jedem Schleifendurchlauf wird der Inkrementausdruck ausgeführt und die Laufbedingung erneut überprüft. Solange die Laufbedingung erfüllt bleibt, wird die Schleife durchlaufen. Zählschleifen können verwendet werden, wenn Anweisungen mit einer festen Anzahl von Wiederholungen ausgeführt werden sollen. int i; for (i = 0; i < 5; i++) cout << i << endl; Diese Schleife gibt alle ganzen Zahlen von 0 bis 4 aus. Der Variablen i wird zu Beginn der Wert 0 zugewiesen (Initialisierungsausdruck). Nach jedem Schleifendurchlauf (Ausgabe des Wertes von i) wird der Wert von i um 1 erhöht (Inkrementausdruck). Sobald die Variable i den Wert 5 erreicht (Laufbedingung ist verletzt), wird die Schleife abgebrochen und der Anweisungsblock nicht mehr ausgeführt. Eine Zählschleife kann auch eine kopfgesteuerte Schleife simulieren: for (; ausdruck;) anweisung1; anweisung2; Solange der Ausdruck wahr bleibt, werden die Anweisungen ausgeführt. 6.2 Verzweigungen Mit selektiven Steurungsanweisungen kann man dafür sorgen, dass bestimmte Programmblöcke nur unter bestimmten Bedingungen abgearbeitet werden. 14

15 6 KONTROLLSTRUKTUREN 6.2 Verzweigungen if-else-verzweigung if (ausdruck) anweisunga_1; anweisunga_2; else anweisungb_1; anweisungb_2; Falls der Ausdruck als wahr (d.h. ungleich 0) bewertet wird, so führt das Programm den Anweisungsblock A aus. Andernfalls wird Anweisungsblock B abgearbeitet. Der alternative Anweisungsblock B ist optional, d.h. eine if-anweisung kann ohne den else-zweig implementiert werden. if (x > 3) cout << x; switch-verzweigung Im Gegensatz zur if-else-verzweigung ist die switch-verzweigung eine Auswahlanweisung. switch(ausdruck) case markea: case markeb: anweisunga_1; anweisunga_2; break; anweisungb_1; anweisungb_2; 15

16 6 KONTROLLSTRUKTUREN 6.2 Verzweigungen default: break; anweisungd_1; anweisungd_2; Der Ausdruck wird nacheinander mit allen Marken auf Gleichheit verglichen. Es wird derjenige Anweisungsblock ausgeführt, bei dessen Marke zum ersten Mal die Gleichheit zutrifft. Stimmt keine Marke mit dem Ausdruck überein, so wird der optionale Default-Anweisungsblock abgearbeitet. Der break-befehl sorgt dafür, dass die switch- Verzweigung nach Ausführung des entsprechenden Blockes sofort verlassen wird. Fehlt der break-befehl, so werden auch die Anweisungen der folgenden Marken abgearbeitet. Mit der switch-verzweigung kann eine Fallunterscheidung implementiert werden. int zeichen; cin >> zeichen; switch(zeichen) case A : functiona(); break; case B : functionb(); break; default: cout << "Falsche Eingabe!\n"; Gibt ein Anwender das Zeichen A ein, so wird die Funktion functiona() ausgeführt. Im Fall der Eingabe des Zeichens B wird die entsprechende Funktion functionb() aufgerufen. Eine falsche Eingabe produziert eine Fehlermeldung als Ausgabe. 16

17 8 DATEIBEHANDLUNG 7 Felder Wird in einem Programm eine Vielzahl von Daten vom gleichen Typ benötigt, so können diese Daten in einem gemeinsamen Feld (Array) untergebracht werden. Die Deklaration eines Feldes besteht aus einem Datentyp, dem die Elemente des Feldes angehören sollen, dem Namen des Feldes und der Angabe der Größe des Feldes. Die Angabe de Größe darf nur in positiven, konstanten Ausdrücken erfolgen. Durch int vector[20]; wird etwa ein Integer-Feld der Größe 20 deklariert. Aus dem Datentyp und der Anzahl der Feldelemente ergibt sich der Speicherplatzbedarf für das Array, d.h. in diesem Fall ist Speicher für 20 Integer-Werte reserviert. Das Feld vector kann somit 20 Integer-Werte aufnehmen. Die einzelnen Elemente eines Feldes werden über ihren ganzzahligen Index angesprochen. Das erste Element hat immer den Index 0, das letzte immer den Index Größe 1. const int N = 20; int vector[n]; int i; for (i = 0; i < N; i++) vector[i] = i+1; for (i = 0; i < N; i++) cout << vector[i] << endl; // Deklaration // Feld initialisieren // Feld ausgeben Als erstes wird ein Feld mit 20 Elementen vom Datentyp int unter dem Namen vector deklariert. Die erste for-schleife initialisiert das Feld mit den Werten 1 bis 20. In der zweiten for-schleife werden danach die Einträge der einzelnen Feldelemente ausgegeben. Damit erscheinen in der Standardausgabe alle Ganzen Zahlen von 1 bis Dateibehandlung Bei der Behandlung von Dateien wird in C ++ ebenfalls das Stream-Konzept verwendet. Hierfür muss die Header-Datei fstream.h eingebunden werden. 17

18 8 DATEIBEHANDLUNG 8.1 Lesen aus einer Datei 8.1 Lesen aus einer Datei Das folgende Programm liest Fließkommazahlen aus einer Datei Daten.inp und gibt sie auf dem Standardausgabegerät aus. 1 #include <fstream.h> 2 3 int main() 4 5 double x; 6 ifstream lesedatei; 7 8 lesedatei.open("daten.inp", ios::in); 9 10 if (lesedatei.good()) lesedatei >> x; 13 while (!lesedatei.eof()) cout << x << endl; 16 lesedatei >> x; lesedatei.close(); else cout << "Fehler beim Oeffnen der Datei\n"; Zum Lesen aus einer Datei wird durch ifstream lesedatei; ein Objekt der Klasse ifstream kreiert. Damit sind mit dem Objekt lesedatei automatisch einige Methoden zur Dateibehandlung verbunden. Mit der Methode lesedatei.open("daten.inp", ios::in); wird die Datei Daten.inp für einen Lesezugriff geöffnet. Tritt beim Öffnen der Datei kein Fehler auf (d.h. die angegebene Datei existiert und ist lesbar), so liefert die Methode lesedatei.good() einen positiven Wert. In diesem Fall führt das Programm einen Lesezugriff aus (Block 11-20), andernfalls wird eine Fehlermeldung ausgegeben (Block 22-24). 18

19 8 DATEIBEHANDLUNG 8.2 Schreiben in eine Datei Der Lesezugriff wird mit dem Einschiebeoperator (>>) durchgeführt. Solange das Dateiende noch nicht erreicht wurde while (!lesedatei.eof()) wird die eingelesene Fließkommazahl auf dem Standardausgabegerät ausgegeben und durch lesedatei >> x; die nächste Fließkommazahl aus der Datei auf die Variable x geschoben. Der Anwender hat darauf zu achten, dass die Lese-Datei Daten.inp ausschließlich Fließkommazahlen enthält. Nach erfolgtem Lesezugriff wird die Datei mittels der Methode lesedatei.close(); wieder geschlossen. 8.2 Schreiben in eine Datei Das folgende Programm erzeugt die Datei Daten.inp mit den 10 Fließkommazahlen 1.5, 2.5 bis #include <fstream.h> 2 3 int main() 4 5 double x; 6 ofstream schreibedatei; 7 8 schreibedatei.open("daten.inp", ios::out); 9 10 if (schreibedatei.good()) for (x = 1.5; x < 11.0; x=x+1.0) schreibedatei << x << endl; schreibedatei.close(); 18 19

20 9 FUNKTIONEN 19 else cout << "Fehler beim Erzeugen der Datei\n"; Zum Schreiben in eine Datei wird durch ofstream schreibedatei; ein Objekt der Klasse ofstream kreiert. Wie beim Lesen enthält damit das Objekt schreibedatei automatisch einige Methoden zur Dateibehandlung. Die Methode schreibedatei.open("daten.inp", ios::out); erzeugt die Datei Daten.inp und hält sie für einen Schreibzugriff offen. Eine eventuell schon vorhandene, lesbare Datei desselben Namens wird dabei gelöscht. Mit der Methode schreibedatei.good() kann wie beim Lesen der Öffnungsvorgang auf Fehlerfreiheit überprüft werden. In die geöffnete Datei kann nun genauso wie auf die Standardausgabe mit Hilfe des Einschiebeoperators (<<) geschrieben werden schreibedatei << x << endl; Nach erfolgtem Schreibzugriff muss die Datei wieder geschlossen werden lesedatei.close(); 9 Funktionen Eine Funktion wird eingesetzt, wenn bestimmte Teilaufgaben öfters und an verschiedenen Stellen im Programm ausgeführt werden sollen. Dabei ist es unerheblich, ob diese Teilaufgaben einfach oder sehr komplex sind. 9.1 Definition einer Funktion Eine Funktion wird außerhalb des Hauptprogrammes definiert durch 20

21 9 FUNKTIONEN 9.1 Definition einer Funktion Datentyp Funktionsname(Parameterliste mit Typangabe) Anweisungen; return Ausdruck; Im Funktionskopf wird der Datentyp des Funktionswertes (Rückgabewert), sowie die Datentypen der einzelnen Parameter (Argumente), die beim Funktionsaufruf übergeben werden, spezifiziert. Zusätzlich wird dort der Funktionsname festgelegt, mit dem die Funktion später aufgerufen werden kann. Die Aufgabe die eine Funktion erfüllen soll, wird in ihrem Anweisungsblock formuliert. Nach Abarbeitung aller Anweisungen liefert die Anweisung return Ausdruck; den Wert eines Ausdrucks an die Stelle des Aufrufs der Funktion zurück. Der Datentyp dieses Rückgabewertes muss mit dem im Funktionskopf spezifizierten Rückgabedatentyp übereinstimmen. Die Ausführung der return-anweisung führt zum sofortigen Verlassen der Funktion und Rücksprung an die Stelle im Programm, von der aus die Funktion aufgerufen wurde. Innerhalb des Anweisungsblocks muss mindestens eine return-anweisung vorkommen. Eine Funktion quad, die als Rückgabewert das Quadrat liefert kann wie folgt definiert werden int quad(int a, int b) int c; c = a + b; (a + b) 2. return c*c; Die formalen Parameter a und b stehen innerhalb der Funktion als lokale Datenobjekte zur Verfügung. Natürlich können im Anweisungsblock zusätzliche lokale Variablen deklariert werden. Liefert eine Funktion kein Ergebnis zurück, so verwendet man den Rückgabedatentyp void. In diesem Fall wird auch keine return-anweisung im Anweisungsblock benötigt. Eine Funktion kann auch ohne eine Parameterliste definiert werden 21

22 9 FUNKTIONEN 9.2 Aufruf einer Funktion void meldung(void) cout << "Das Programm wird beendet." << endl; Die Funktion meldung gibt einfach die Meldung Das Programm wird beendet. auf dem Standardausgabegerät aus. 9.2 Aufruf einer Funktion Eine Funktion kann beliebig oft und an beliebiger Stelle, sofern sie dort bekannt ist, innerhalb anderer Funktionen aufgerufen werden. Dazu wird die Funktion mit ihrem Namen und den entsprechend der Parameterliste gewählten Parametern aufgerufen Funktionsname(Parameter); Die Parameter müssen in Datentyp und Position mit der Paramterliste der Funktionsdefinition übereinstimmen, denn diese aktuellen Parameter ersetzen die formalen Parameter in der Funktion. Die Funktion quad etwa kann wie folgt aufgerufen werden: int q, r; q = quad(1,2); r = quad(q,1); cout << q << "und" << r << endl; Diese Anweisungen erzeugen als Ausgabe 9 und 100. Das Hauptprogramm main() selbst ist auch eine Funktion, so dass dort beliebige Funktionen aufgerufen werden können. Parameterübergabe Funktionsparameter können auf zwei verschiedene Arten übergeben werden. Bei Verwendung der oben beschriebenen Art wird beim Aufruf einer Funktion Speicher für 22

23 9 FUNKTIONEN 9.2 Aufruf einer Funktion die formalen Parameter bereitgestellt und jeder formale Parameter mit dem entsprechenden aktuellen Parameter initialisiert. Alternativ dazu kann man auch nur eine Referenz auf einen Parameter übergeben. Dabei arbeitet die Funktion direkt mit der übergebenen Variablen. Bei Aufruf der Funktion void add(int val, int &ref) val++; ref++; inkrementiert die Anweisung val++; eine lokale Kopie des ersten übergebenen Parameters. Der übergebene Parameter selbst bleibt dabei unverändert. Daher dürfen feste Zahlwerte beim Aufruf der Funktion übergeben werden. Die Anweisung ref++; inkrementiert den zweiten übergebenen Parameter direkt, d.h. es wird keine Kopie angelegt. Alle Änderungen werden an dem übergebenen Parameter selbst vorgenommen. In diesem Fall muss beim Aufruf der Funktion eine Variable übergeben werden. Die Anweisungen int i = 1; int j = 1; add(i,j); cout << i << "und" << j << endl; liefern 1 und 2 an das Standardausgabegerät. Der erste Parameter wird als Wert übergeben ( call by value ), dabei bleibt die Variable i unverändert. Das zweite Argument wird dagegen als Referenz ( call by reference ) übergeben und somit wird keine Kopie, sondern die Variable j selbst inkrementiert. Wird ein Objekt nur aus Effizienzgründen per Referenz übergeben, und nicht um es zu verändern, so sollte der entsprechende Parameter als const deklariert sein void f(const int &ref) 23

24 9 FUNKTIONEN 9.3 Deklaration einer Funktion 9.3 Deklaration einer Funktion Damit der Compiler bei der Abarbeitung eines Programmes eine Funktion aufrufen kann, muss sie ihm an der Aufrufstelle bekannt sein. Entweder muss sich der Funktionsaufruf im Programmcode nach der Funktionsdefinition befinden, oder die Funktion muss vor ihrem Aufruf deklariert werden. In der Funktionsdeklaration wird eine Schnittstelle zu der Funktion festgelegt: Datentyp Funktionsname(Parameterliste mit Typangabe); Dabei müssen Rückgabedatentyp, Funktionsname und Parameterliste, inklusive der Parameterreihenfolge mit der Funktionsdefinition übereinstimmen. Mit der Anweisung int quad(int a, int b); wird etwa die Funktion quad deklariert. Eine Funktionsdeklaration muss sich vor dem ersten Aufruf der Funktion und außerhalb jeglicher anderer Funktionen befinden. 9.4 Mathematischen Funktionen Um die in Tabelle 9 aufgeführten mathematischen Funktionen verwenden zu können, muss die Header-Datei math.h eingebunden werden. Zusätzlich muss der Compiler mit der Option -lm gestartet werden, wodurch eine Mathe-Bibliothek hinzugelinkt wird. Deklaration int abs(int x); double fabs(double x); double sqrt(double x); double sin(double x); double cos(double x); double tan(double x); double exp(double x); double pow(double x, double y); double log(double x); double log10(double x); double ceil(double x); double floor(double x); Bedeutung Absolutbetrag von x Absolutbetrag von x Quadratwurzel von x Sinus von x Cosinus von x Tangens von x Exponentialfunktion Potenzfunktion x y Natürlicher Logarithmus von x Dekadischer Logarithmus von x Aufrunden auf Ganzzahl Abrunden auf Ganzzahl Tabelle 9: Mathematische Funktionen 24

25 LITERATUR LITERATUR Literatur [KR90] B.W. Kernighan, D.M. Ritchie. Programmieren in C. 2. Ausg., Hanser, München [S01] K. Schröder. Nitty Gritty C. Hanser, Addison-Wesley, München [S00] B. Stroustrup. Die C++ Programmiersprache. 4. Aufl., Addison-Wesley, München; Boston

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

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

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

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

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  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

Mehr

Projekt 3 Variablen und Operatoren

Projekt 3 Variablen und Operatoren Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.

Mehr

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16 Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier

Mehr

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff. Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit

Mehr

4 Formelsammlung C/C++

4 Formelsammlung C/C++ 4 Formelsammlung C/C++ 4.1 Datentypen Datentyp stdint.h type Bits Sign Wertebereich (unsigned) char uint8_t 8 Unsigned 0.. 255 signed char int8_t 8 Signed -128.. 127 unsigned short uint16_t 16 Unsigned

Mehr

PIC16 Programmierung in HITECH-C

PIC16 Programmierung in HITECH-C PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE 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

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einfü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

Mehr

Operatoren und Ausdrücke

Operatoren und Ausdrücke Operatoren und Ausdrücke Zuweisungsoperator Arithmetische Operatoren Vergleichsoperatoren Logische Operatoren und Ausdrücke Implizite Typ-Umwandlung Rangordnung der Operatoren / Reihenfolge der Auswertung

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

C-Programmierung: Ausdrücke und Operatoren#Division.2F

C-Programmierung: Ausdrücke und Operatoren#Division.2F C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF

Mehr

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2017/18 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for

Mehr

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

Modul 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

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Informatik I (D-ITET)

Informatik I (D-ITET) Informatik I (D-ITET) Übungsstunde 2, 5.10.2009 ETH Zürich? Übungsgruppenwechsel? Abgabe der Übungen... Bis Mo, 24:00 Theorie: Programme: per mail oder auf Papier.cpp Datei per mail Bin euch noch Demos

Mehr

Grundlagen der Programmiersprache C++

Grundlagen der Programmiersprache C++ / TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-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).

Mehr

Schleifenanweisungen

Schleifenanweisungen Schleifenanweisungen Bisher: sequentielle Abarbeitung von Befehlen (von oben nach unten) Nun: Befehle mehrfach ausführen (= Programmschleife): for-anweisung - wenn feststeht, wie oft z.b.: eine Berechnung

Mehr

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1 Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur

Mehr

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe Informatik Vorlesung 03b Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik

Mehr

Repetitorium Programmieren I + II

Repetitorium Programmieren I + II Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case

Mehr

2. Programmierung in C

2. 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)

Mehr

Programmierung mit C Zeiger

Programmierung 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

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp ZAIK Universität zu Köln WS 07/08 1 / 6 Datentypen Arten von Datentypen

Mehr

Herzlich willkommen!

Herzlich willkommen! Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in

Mehr

Kontrollstrukturen (1)

Kontrollstrukturen (1) Kontrollstrukturen (1) Selektionen, if ermöglicht das alternative Ausführen von Programteilen in Abhängigkeit einer Bedingung if (Bedingung) Block 1 else Block 2 Ist die Bedingung wahr, also ungleich 0,

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

Programmieren 1 C Überblick

Programmieren 1 C Überblick Programmieren C Überblick. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert

Mehr

4.2 Programmiersprache C

4.2 Programmiersprache C 4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

3 Grundstrukturen eines C++ Programms anhand eines Beispiels

3 Grundstrukturen eines C++ Programms anhand eines Beispiels 3 Grundstrukturen eines C++ Programms anhand eines Beispiels 3.1 Einige Grundbegriffe Mit Hilfe eines Programmes wird dem Computer mitgeteilt, wie er eine bestimmte Aufgabe bearbeiten soll. Es besteht

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 10 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 ( / 6 Pkt.) a) Erklären

Mehr

C++ - Einführung in die Programmiersprache Schleifen

C++ - Einführung in die Programmiersprache Schleifen C++ - Einführung in die Programmiersprache Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Schleifen Iterationsanweisungen. Wiederholung von Anweisungsblöcken.

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 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 ( / 4 Pkt.) Gegeben

Mehr

Präzedenz von Operatoren

Präzedenz von Operatoren Präzedenz von Operatoren SWE-30 Die Präzedenz von Operatoren bestimmt die Struktur von Ausdrücken. Ein Operator höherer Präzedenz bindet die Operanden stärker als ein Operator geringerer Präzedenz. Mit

Mehr

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

1 Aufgaben 1.1 Objektorientiert: (extended-hamster) Sammel-Hamster 1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:

Mehr

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Was sind Operatoren Ein Operator ist eine in die Programmiersprache eingebaute Funktion, die

Mehr

Teil II. Literatur zur C-Programmierung:

Teil II. Literatur zur C-Programmierung: Teil II 2Kurzeinführung in die Programmiersprache C Literatur zur C-Programmierung: Darnell, Margolis. C: A Software Engineering Approach. Springer 1991 Kernighan, Ritchie. The C Programming Language.

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

Mehr

Kapitel 3: Variablen

Kapitel 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

Mehr

Funktionen. mehrfach benötigte Programmteile nur einmal zu schreiben und mehrfach aufzurufen

Funktionen. mehrfach benötigte Programmteile nur einmal zu schreiben und mehrfach aufzurufen Funktionen Funktionen erlauben, dem Programmcode hierarchisch zu strukturieren ein Hauptprogramm steuert dabei die Abfolge von Schritten, die einzelnen Schritte können durch Funktionen realisiert werden

Mehr

Informatik I - Einstiegskurs

Informatik I - Einstiegskurs Informatik I - Einstiegskurs Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Basiert auf dem Einstiegskurs im Wintersemester 2009/10 von Markus Osterhoff Wintersemester 2012/13

Mehr

Grundstruktur eines C-Programms

Grundstruktur eines C-Programms Grundstruktur eines C-Programms // Kommentare werden durch zwei Schrägstriche (Slash) eingeleitet /* Oder durch Slash Stern Stern Slash eingeschlossen */ #include // Präprozessor-Anweisungen

Mehr

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter

Mehr

Hello World! Eine Einführung in das Programmieren Variablen

Hello World! Eine Einführung in das Programmieren Variablen Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

Dr. Monika Meiler. Inhalt

Dr. 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

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

5. Elementare Befehle und Struktogramme

5. Elementare Befehle und Struktogramme 5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen

Mehr

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Variablen, Konstanten und Datentypen

Variablen, Konstanten und Datentypen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 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

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

Mehr

C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi

C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi 1. Datentypen C-Grundlagen zur Programmierung des MicroControllersystems MiCoWi Die Grafiken und Beispiele wurden dem Buch C von A bis z von Jürgen Wolf entnommen. Es werden hier die ANSI-Festlegungen

Mehr

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

Mehr

if ( Logischer Operator ) { } else { Anweisungen false

if ( Logischer Operator ) { } else { Anweisungen false if ( Logischer Operator ) { Anweisungen true else { Anweisungen false Bedingte Anweisungen Operatoren verknüpfen Variable zu neuen Ausdrücken, wir unterscheiden Arithmetische Operatoren Berechnung von

Mehr

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

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

Kontrollstrukturen und Logik

Kontrollstrukturen und Logik Programmieren mit Java Modul 2 Kontrollstrukturen und Logik Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 1.1 Anweisungen und Blöcke........................... 3 2 Operatoren (Teil II) 4 2.1 Relationale

Mehr

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

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort then S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert

Mehr

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

Einfü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

Mehr

Informatik. Wiederholung Felder (Arrays), string. Vorlesung

Informatik. Wiederholung Felder (Arrays), string. Vorlesung Informatik Vorlesung 04 Wiederholung Felder (Arrays), string 19. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Ein C++ Programm: Wiederholung #include

Mehr

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)

Mehr

Objekte werden eindeutig beschrieben durch ihren Typ und einen beliebig wählbaren Bezeichner.

Objekte werden eindeutig beschrieben durch ihren Typ und einen beliebig wählbaren Bezeichner. Grundlegende Deklarationen Seite 1 von 6 Jedes Programm benötigt Objekte. Ein Objekt ist ein reservierter Bereich im Systemspeicher in welchem Informationen abgelegt werden. Informationen sind z.b. Zahlen,

Mehr

Programmieren 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 Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen

Mehr

Ausdrücke (1) Grundlegende Eigenschaften

Ausdrücke (1) Grundlegende Eigenschaften Ausdrücke () Grundlegende Eigenschaften bestehen aus Literalen, Konstanten, Variablen und Operatoren einfachster Ausdruck ist das Semikolon, es bewirkt nichts. Ausdrücke werden mit einem Semikolon abgeschlossen.

Mehr

Pseudo-Programmiersprache

Pseudo-Programmiersprache 1 Erste Schritte in C++ 4 Beschreibungsmöglichkeiten für Algorithmen Struktogramm Das gezeigte Struktogramm enthält die elementaren Grundstrukturen Folge, Auswahl und Schleife. Diese werden in einem der

Mehr

Grundlegende Programmstrukturen sind Sequenzen, Schleifen und Entscheidungen.

Grundlegende Programmstrukturen sind Sequenzen, Schleifen und Entscheidungen. Grundlegende Programmstrukturen Seite 1 von 14 Grundlegende Programmstrukturen sind Sequenzen, Schleifen und Entscheidungen. Sequenzen Eine Sequenz ist eine Folge von en (sblock) ohne Verzweigungen. Der

Mehr

Java Anweisungen und Ablaufsteuerung

Java Anweisungen und Ablaufsteuerung Informatik 1 für Nebenfachstudierende Grundmodul Java Anweisungen und Ablaufsteuerung Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht

Mehr

ModProg 15-16, Vorl. 5

ModProg 15-16, Vorl. 5 ModProg 15-16, Vorl. 5 Richard Grzibovski Nov. 18, 2015 1 / 29 Übersicht Übersicht 1 Logische Operationen 2 Priorität 3 Verzweigungen 4 Schleifen 2 / 29 Logische Werte Hauptkonzept: Besitzt ein C-Ausdruck

Mehr

Einführung in die C-Programmierung

Einfü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).

Mehr

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe Angewandte Informatik I Anwendung höherer Programmiersprachen C / C++ Vorlesung der FH Münster Prof. Dr.-Ing. H. Bösche // Programm b0301208 #include { int i = 1, j = 2; cout

Mehr

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C Einfache Programmstrukturen in C 4-1 Welche einfache Programmstrukturen sind zu unterscheiden? Arithmetische und logische Ausdrücke und Zuweisungen Verzweigungen Unvollständige bedingte Anweisungen Vollständige

Mehr