ein erster abgeleiteter Variablentyp: Zeichenkette Aufeinanderfolge von Zeichen (z.b. Wörter) dargestellt und gespeichert als Feld des Typs char

Größe: px
Ab Seite anzeigen:

Download "ein erster abgeleiteter Variablentyp: Zeichenkette Aufeinanderfolge von Zeichen (z.b. Wörter) dargestellt und gespeichert als Feld des Typs char"

Transkript

1 (3) Textzeichentyp char reserviert (i.a.) 1 Byte = 8 Bit Speicherplatz für genau ein Zeichen (Erinnerung: z.b. ASCII Code stellt Zeichen auf 8 Bit dar) ein erster abgeleiteter Variablentyp: Zeichenkette Aufeinanderfolge von Zeichen (z.b. Wörter) dargestellt und gespeichert als Feld des Typs char Deklaration: anderer Name: string char stringname[n]; Zeichen, d.h. die Feldlänge dabei ist n die maximale Anzahl durch die Deklaration wird ein Block von n Byte Speicherplatz im Arbeitspeicher reserviert. Achtung! Der Name stringname enthält dabei die Speicheradresse, an der die Zeichenkette im Arbeitspeicher beginnt (stringname ist ein sog. Zeiger) Zugriff auf die Komponenten, also die einzelnen Zeichen durch stringname[i] wobei der Index i das i 1. Zeichen der Zeichenkette bezeichnet, da in C die Numerierung bei 0 beginnt! z.b. char str[5]="info"; str I N F O \ str[0] str[1] str[2] str[3] Endezeichen str enthält die Adresse 1015 str[0] = 'I', str[1]='n',... gespeichert wird natürlich jedes Zeichen in seiner Binärdarstellung!

2 es muß stets ein Byte Platz für das Endezeichen eingerechnet werden, sonst kann es zu Problemen führen Beispiel: Erreichen des Endezeichens Achtung! Zuweisung eines ganzen Wortes nur in der Deklaration erlaubt danach nur noch Zugriff auf Einzelkomponenten möglich Beispiel: str = "text"; (FALSCH!) str[0] = 't'; (RICHTIG!) str[1] = 'e'; str[2] = 'x'; str[3] = 't'; (4) leerer Typ void sinnvoll z.b. Für Funktionen ohne Ergebniswert (sog. Prozeduren oder Subroutinen) aus diesen Grundtypen lassen sich dann beliebig komplexere Typen selbstdefinieren (dazu mehr in der 4. Vorlesung) 3.3 Ausdrücke und Operatoren Ein Ausdruck ist eine Aneinanderreihung von Zahlen, Strings und Operatoren, die sich zu einem Wert auflösen lassen, sprich: eine mehr oder weniger komplexe Rechenvorschrift Ausdrücke können über Operatoren miteinander verknüpft werden Ausdrücke können Variablen zugewiesen werden

3 Operatoren: es gibt grundsätzlich unäre, binäre und terniäre Operatoren z.b.: (1) unäre Operatoren: (in C) Inkrementoperator ++ausdruck ausdruck++ Dekrementoperator ausdruck ausdruck (2) binäre Operatoren: arithmetische Grundoperationen +,, *, / (in allen Programmiersprachen) (3) terniäre Operatoren: eher selten in C z.b. Ausdruck1? Ausdruck2 : Ausdruck3 ist Ausdruck 1 wahr so berechne Audruck2 sonst berechne Ausdruck3 Zuweisung: (binärer Operator) Variablenname = Ausdruck eine Zuweisung ist selbst wieder ein Ausdruck die Zuweisung hat den Wert, der der Variablen zugewiesen wird Vergleiche und logische Operatoren Vergleiche Symbolik fürvergleiche in Programmiersprachen ähnlich der aus der Mathematik bekannten: <, >... <=... >= =... == doppeltes Gleichheitszeichen, da '=' der Zuweisung entspricht allgemein ist die Syntax: Ausdruck Vergleichsoperator Ausdruck liefert wieder einen Ausdruck dieser Ausdruck hat einen int Wert, und zwar 0, falls der Vergleich nicht zutrifft 1, falls der Vergleich zutrifft

4 Logische Operatoren Aussagenlogisches UND ODER VERNEINUNG Symbolik: &&! (in C).and..or..not. (in FORTRAN) & ~ (in MATLAB) Ausdruck logischer Operator Ausdruck ist liefert wieder einen Ausdruck dieser Ausdruck hat einen int Wert, und zwar 0, falls der Gesamtausdruck wahr 1, falls der Gesamtausdruck falsch Anweisungen sind in der jeweiligen Programmiersprache erlaubte Ausdrücke, die zeilenweise in den Programmen geschrieben werden (oder durch entsprechende Zeichen voneinander abgegrenzt, z.b. ein Komma in FORTRAN oder in MATLAB) möglicherweise prinzipiell durch ein Zeichen abgeschlossen werden in C: Ausdruck ; Priorität von Operatoren (von höchster zu niedrigster Priorität) Symbol Name/Bedeutung Assoziativität ++ Erhöhung nach Auswertung von links nach rechts -- Erniedrigung nach Auswertung ( ) Funktionsaufruf [ ] Arrayelement -> Zeiger auf Strukturfeld. Felder einer Struktur oder Union ++ Erhöhung vor Auswertung von rechts nach links -- Erniedrigung vor Auswertung! logisches NOT - unäres Minus + unäres Plus & Adresse von * Dereferenzierung sizeof Größe in Bytes (type) Typumwandlung (cast)

5 * Multiplikation von links nach rechts / Division % Divisionsrest (modulo) + Addition von links nach rechts - Subtraktion < kleiner als von links nach rechts <= kleiner oder gleich > größer als >= größer oder gleich == gleich von links nach rechts!= ungleich && logisches AND von links nach rechts logisches OR von links nach rechts? : Bedingung von rechts nach links = Zuweisung von rechts nach links *= zusammengesetzte Zuweisung /= %= += -= <<= >>= &= ^= =, Komma-Operator von links nach rechts Typumwandlung nötig, falls in einer Operation Operanden verschiedenen Typs beteiligt sind implizite Typumwandlung: durch den Compiler z.b. int i=1, k=3; float x; x = i*k; int*int liefert int, in der Zuweisung Umwandlung int float explizite Typumwandlung: durch einen cast Operator z.b. float y = 6.78; i = 3 + (int) y;

6 4. Entwurf von Algorithmen Entwurfbeispiel: Prinzipien zum Entwurf: Zerlegung des Problems in Teilprobleme (Modularisierung) durch schrittweise Verfeinerung (TOP DOWN Entwurf) ausgehend von Lösungen für Teilaufgaben Zusammensetzen zu einem Programm (BOTTOM UP Entwurf) Zerlegen in Teilaufgaben durch Teilen der Eingangsdaten und Anwendung des selben Algorithmus auf die kleineren Datenmengen Prinzip TEILE UND HERRSCHE (DIVIDE & CONQUER) exakte Analyse der Daten entsprechende Definition von passenden Datentypen abstrakte Datentypen (Datentyp + zugehör. Operationen) Unterprogrammtechnik Teilprobleme in (für sich abgeschlossenen) Funktionen/Routinen implementieren Mehrfachnutzung von Teilalgorithmen möglich unabhängig voneinander programmierbar (nur Schnittstellen müssen klar sein) Ziel ist ein effizienter Algorithmus zur Problemlösung, d.h. möglichst geringer Ressourcenaufwand (Speicher & Laufzeit)

7 Grundsätzliche Schritte: gegeben sei eine Problemstellung, deren Lösung die auf dem Computer umsetzbar ist 1. Präzise Problembeschreibung (Spezifikation) 2. Eingabedaten? Welche Ergebnisse (Ausgabedaten) werden erwartet? 3. Welche Fälle sind zu unterscheiden? 4. Zerlegung in Teilprobleme, schrittweise Verfeinerung 5. Lösen der Teilprobleme Teilalgorithmen Formulierung unter alleiniger Verwendung der Grundstrukturen (Sequenz, Schleife, Selektion) dabei Definition passender Datentypen graphische Veranschaulichung von Algorithmen: Flußdiagramme Struktogramme (s. Wikipedia für die Elemente) oder Formulierung als sogenannten Pseudocode (halbformale Form)

8 Struktogramm Oder: Algorithmus für welches mathematische Problem?

9 Beispielalgorithmus: Auszugeben ist die Summe derjenigen von N einzulesenden Zahlen, die zwischen den vorzugebenden Werten L und R liegen. Flußdiagramm: Struktogramm:

10 Pseudocode Darstellung: Beispiel Eingabe: N, L, R Zähler = 1 Summe = 0 solange Zähler <= N führe aus: Eingabe: Zahl falls L < Zahl < R dann Summe = Summe + Zahl; Zähler = Zähler + 1 Beispielende Ausgabe: Summe 5. Unterprogrammtechnik/Module Unterprogramm/Modul: separate Programmeinheit, die Anweisungen umfaßt, um eine bestimmte Aufgabe zu erfüllen bekommt i.a. Argumente (Werte, Informationen) vom aufrufenden Programm gibt i.a. ein Ergebnis an das aufrufende Programm zurück Bezeichnung und Funktionalität kann je nach Programmiersprache variieren: Bezeichnung: in C: function in FORTRAN: function (mit Rückgabewert), subroutine (ohne Rückgabewert) in PASCAL: function (mit Rückgabewert), procedure (ohne Rückgabewert) Funktionen in Funktionen definieren (Verschachtelung von Unterprogrammen)? in C nein alle Funktionen existieren hierarchisch auf der gleichen Ebene in FORTRAN nein alle Funktionen existieren hierarchisch auf der gleichen Ebene in PASCAL ja Unterprogramme von Unterprogrammen sind erlaubt

11 Hauptprogramm: in C in FORTRAN ebenfalls eine Funktion trägt immer den Namen main, kann nicht von anderen Funktionen aufgerufen werden hat den Rahmen PROGRAM programmname... END PROGRAM in PASCAL hat den Rahmen program programmname... end. Bibliotheksfunktionen: vordefinierte Standardfunktionen, die mit der Entwicklungsumgebung/ mit dem Compiler geliefert werden in C in Funktionsdateien mit einer zugehörigen Headerdatei name.h z.b.: Standardmathebibliothek Header: math.h Standard I/O Bibliothek Header: stdio.h Bibliothek für string Funktionen Header: string.h in FORTRAN in Modulen in PASCAL in units Sammlungen von bereits vorhandenen Funktionen zu bestimmten Themen, die frei oder mit Bezahlung erhältlich sind (z.b. im Netz) in FORTRAN z.b.: lapack, blas, daspk,... in C z.b.: cblas, cvode,...

12 5.1 Formaler syntaktischer Aufbau einer Funktion Definition einer Funktion (Syntax in C) Rückgabetyp Funktionsname(Liste von Argumenten) { Funktionskopf } Deklarationen lokaler Variabler Anweisungen return Ergebniswert Funktionsblock besteht aus: Funktionskopf Schnittstellen zum aufrufenden Programm d.h. Struktur der Funktion (Name, Argumente, Ergebnis) Funktionsblock/rumpf Algorithmus, den die Funktion umfaßt, d.h. eigentliche Umsetzung der Aufgabe der Funktion Dateneingabe (Argumente) Funktion Datenrückgabe (Ergebnis) Komponenten: Funktionsname... Bezeichung der Funktion, unter der sie aufgerufen wird Argumentliste... Liste der Eingabeparameter mit ihren Datentypen, die vom aufrufenden Programm an die Funktion gegeben werden für die dort aufgelisteten Variablen wird mit Aufruf der Funktion Speicherplatz bereitgestellt lokale Variable... sind nur im Funktionsblock gültig, ab ihrer Deklaration reservieren sie Speicher bis zum Abschluß der Funktion dienen der Zwischenspeicherung von Werten während der Funktionsausführung return... Anweisung ist dann erforderlich, wenn ein Ergebnis zurückgegeben wird Rückgabetyp... Datentyp des Ergebnisses (Funktionswertes), das an das aufrufende Programm zurückgegeben wird bei Funktionen ohne Rückgabe: void Typ und return; (ohne Wert) ist optional Erinnerung: in anderen Programmiersprachen tragen solche Funktionen auch einen anderen Namen (subroutine, procedure)

13 Beispiel: Funktion zur Berechnung des Mittelwertes dreier Zahlen Aufruf im Programm/in einer anderen Funktion: in Zuweisung: m = mittelwert(x1, x2, x3); in einem Ausdruck: y = sin(3.5*mittelwert(x1, x2, x3)); printf(''der Mittelwert ist %7.3f. \n'',mittelwert(x1,x2,x3)); Wo wird die Funktion definiert? Alle im Programm benutzten Funktionen müssen dem Compiler vor Beginn der main Funktion (Hauptprogramm) bekannt sein. Funktionen, die durch andere Funktionen aufgerufen werden, müssen vor letzteren dem Compiler bekannt sein. Varianten zum Bekanntmachen : 1. Definition der Funktion innerhalb des Programms a) vor dem Hauptprogramm Definition der Funktion main Funktion b) nach dem Hauptprogramm und Deklaration vor dem Hauptprogramm Deklaration der Funktion main Funktion Definition der Funktion Deklaration einer Funktion: Rückgabetyp Funktionsname(Liste der Argumenttypen); Bekannmachen des Namens zusammen mit allen Schnittstellen zum aufrufenden Programm, d.h. mit den Argumenttypen und dem Rückgabetyp = Prototyp der Funktion

14 Beispiel zu 1. : Mittelwert dreier Zahlen, nun im Programm eingebunden 2. Definition der Funktion in anderer Quelldatei und Deklaration im Programm Quelldatei func.c Hauptprogramm Definition der Funktion Headerdatei func.h Deklaration der Funktion (beide in demselben Verzeichnis) Deklaration der Funktion durch Einbinden der Headerdatei mit #include ''func.h'' main Funktion Deklaration(Bekanntmachen) der Funktion im Hauptprogramm vor der main Funktion durch Einbinden (#include) der zugehörigen Headerdatei Headerdatei (header = Funktionskopf) beinhaltet nur eine Liste der Funktionen, die in der Funktionsdatei definiert sind die Präprozessor Direktive #include ''func.h'' fügt den Text, so wie er in der Headerdatei steht, direkt ins Programm ein d.h. durch Verwenden der Headerdatei muß man nicht im eigenen Programm alle Funktionsdeklarationen wieder selbst schreiben Standardbibliotheks Header werden durch #include < name.h > eingebunden. Das sagt dem Präprozessor, daß diese im Standardbibliotheksverzeichnis der Entwicklungsumgebung zu finden sind steht die Funktionsquelldatei in einem anderen Verzeichnis als das Hauptprogramm muß in der #include Direktive der volle Pfad zu dem Verzeichnis angegeben werden in PellesC: Funktionsdateien und Hauptprogramm zu einem Projekt zusammenfassen Arbeit des Linkers ist dann im Hintergrund automatisch aktiv Verwendung von Headerdateien ist C typisch, in anderen Programmiersprachen nicht üblich

15 sinnvoll, wenn die Funktionen für mehrere Programme genutzt werden sollen (Module) das Problem ein größeres Programmpaket erfordert, das sonst nicht mehr übersichtlich ist (Zerlegung eines Programms in Teilprogramme) häufig werden solche Funktionen in Bibliotheken zusammengefaßt, die dann nur einmal compiliert werden müssen und bei Bedarf nur durch ihre Deklarationen dem Programm bekanntgemacht (nur Funktionsköpfe! Nur Schnittstellen der Funktion nach außen) und durch den Linker in Maschinencode an das übersetzte Programm angebunden werden z.b. Standardfunktionen in C, wie printf, scanf dazu Einbinden der Headerdatei stdio.h der Standard I/O Bibliothek von C 5.2 Argumentübergabe Wenn eine Funktion mit einer nichtleeren Argumentliste durch ein Programm aufgerufen wird, bedeutet das einen Transfer der Daten aus den aktuellen Variablen der Liste in die formalen Variablen des Funktionskopfes. Was geschieht genau beim Aufruf? Programmabarbeitung springt zum Maschinencode der Funktion für die formalen Parameter (Argumente) der Funktion wird Speicherplatz reserviert die Werte (der aktuellen Variablen), die beim Aufruf der Funktion in der Liste stehen, werden an die formalen Parameter in der Reihenfolge der Liste übergeben, d.h. an die entsprechenden Speicherplätze geschrieben die Funktion arbeitet nur auf den formalen nicht auf den aktuellen Parametern Beispiel: //Funktionsdeklaration double func(int i, double x) { double y; y= i*x; return y; } AS 2 1 int main { int j=1; double z = 0.2; z = func(j,z); return 0; }

16 Selbst, wenn die selben Argumentnamen beim Aufruf der Funktion verwendet werden wie in der Definition der Funktion, sind aktuelle und formale Variablen voneinander verschieden! Für die Zeit des Funktionsaufrufs werden über die Variablennamen stets die nächsten (die innersten ) Variablen angesprochen und die formalen Parameter (Variablen) des Funktionskopfes sind der Funktion näher als die im Programm deklarierten aktuellen Variablen der Argumente. Unterschiedliche Arten des Datentransfers: Argumentübergabe call by value (Wertübergabe) Argumentübergabe call by reference (Speicheradressübergabe) in vielen Programmiersprachen gibt es diese zwei Arten (z.b. C, FORTAN, PASCAL) in anderen nicht (z.b. LOGO, MATLAB nur Wertübergaben) (A) Argumentübergabe call by value (Wertübergabe) Es wird bei Aufruf der Funktion von der als Argument auftretenden Variablen nur der gespeicherte Wert an den entsprechenden formalen Parameter der Funktion übergeben d.h. das was auf dem Speicherplatz der aktuellen Variablen steht, wird in den mit Funktionsaufruf reservierten Speicherplatz der entsprechenden formalen Variablen geschrieben, s. obiges Beispiel) Funktion kann nur lesend auf die aktuellen Variablen zugreifen aber nicht schreibend. (B) Argumentübergabe call by reference (Speicheradressübergabe) Es wird bei Aufruf der Funktion als Argument die Speicheradresse einer Variablen im Arbeitsspeicher an den entsprechenden formalen Parameter der Funktion übergeben da die Funktion damit direkt auf den Speicherplatz einer aktuellen Variablen des aufrufenden Programms zugreifen kann, kann sie dort sowohl den aktuellen Wert herauslesen als auch einen neuen Wert hineinschreiben Funktion kann lesend und schreibend auf die aktuellen Variablen zugreifen. call by reference : Referenzparameter = Speicheradresse einer Variablen

17 Wie erhält man die Speicheradresse? In C: Adressoperator(Referenzierungsoperator) & Beispiel: int i; Variable i wird deklariert, d.h. 4 Byte Speicherplatz werden reserviert printf(''speicheradresse von i: %d'',&i); gibt die reservierte Speicheradresse (erstes Byte) auf dem Bildschirm aus i Bildschirmausgabe: Speicheradresse von i: 2105 Objekte, die die Speicheradresse von Variablen speichern, heißen Zeigervariable (Pointer) Deklaration solcher Zeigervariablen: Typ * zeigervariablenname; Typ ist entscheidend, da damit auch die Information gegeben ist, wieviel Byte die zu der gespeicherten Anfangsadresse gehörige Variable insgesamt einnimmt Beispiel: int * p ; p zeigt auf eine Variable vom Typ int, d.h. p reserviert Speicherplatz für eine Speicheradresse einer int Variablen int i = 1; Variable i reserviert Speicherplatz von 4 Byte und dieser wird mit dem Wert '1' initialisiert, d.h. dieser Wert wird dort als erster Wert gespeichert p = &i; auf den Speicherplatz von p wird die Anfangsspeicheradresse von i geschrieben p i

18 Wechselspiel: Adressoperator &: Variable Speicheradresse (Referenzierungsoperator) Dereferenzierungsoperator *: Speicheradresse Variable (Zugriff auf gespeicherten Wert) Beispiel: Fortsetzung int j; j=*p; in den Speicherplatz, den j reserviert, wird der Wert eingeschrieben, der an der Speicheradresse steht, die p speichert ( auf die p zeigt ), hier speichert p die Adresse von i j bekommt den Wert '1' Standardbeispiel: Zur Illustration der Unterschiede zwischen den zwei Argumentübergaben Tausch zweier Variablenwerte. Häufig ist die Argumentliste von Funktionen eine Mischform, d.h. umfaßt sowohl Werte als auch Referenzparameter

5. Unterprogrammtechnik/Module

5. Unterprogrammtechnik/Module 5. Unterprogrammtechnik/Module Unterprogramm/Modul: separate Programmeinheit, mit Anweisungen, die eine bestimmte Aufgabe erfüllen bekommt i.a. Argumente (Werte, Informationen) vom aufrufenden Programm

Mehr

3. Datentypen, Ausdrücke und Operatoren

3. Datentypen, Ausdrücke und Operatoren 3. Datentypen, Ausdrücke und Operatoren Programm muß i.a. Daten zwischenspeichern Speicherplatz muß bereitgestellt werden, der ansprechbar, reserviert ist Ablegen & Wiederfinden in höheren Programmiersprachen

Mehr

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

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4 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 4 SS 2016

Mehr

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15 Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen

Mehr

F Zeiger, Felder und Strukturen in C

F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts

Mehr

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder

Mehr

Algorithmen & Programmierung. Ausdrücke & Operatoren (1)

Algorithmen & Programmierung. Ausdrücke & Operatoren (1) Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck

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

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung

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

Die Programmiersprache C

Die 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,

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

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

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

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

Inhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)

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

Mehr

Teil 5: Zeiger, Felder, Zeichenketten Gliederung

Teil 5: Zeiger, Felder, Zeichenketten Gliederung Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik

Mehr

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

7 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

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

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 und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

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

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

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach  10. Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15 Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen

Mehr

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

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

C- Kurs 08 Zeiger. Dipl.- Inf. Jörn Hoffmann leipzig.de. Universität Leipzig Ins?tut für Informa?k Technische Informa?

C- 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)

Mehr

8. Referenzen und Zeiger

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

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

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

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

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java 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

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

Typ : void* aktuelle Parameter Pointer von beliebigem Typ 2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben

Mehr

3. Datentypen, Ausdrücke und Operatoren

3. Datentypen, Ausdrücke und Operatoren 3. Datentypen, Ausdrücke und Operatoren Programm muß i.a. Daten zwischenspeichern Speicherplatz muß bereitgestellt werden, der ansprechbar, reserviert ist Ablegen & Wiederfinden in höheren Programmiersprachen

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

Elementare Datentypen in C++

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

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

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Inhalt Bis jetzt: Heute: Entwicklungsumgebung

Mehr

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

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz FH München, FB 03 FA WS 06/07 Ingenieurinformatik Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz Zulassung geprüft vom Aufgabensteller: Teil I Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Summe Note Aufgabensteller:

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

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

Ü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

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf

Mehr

6. Zeiger Allgemeines Definition eines Zeigers

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

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

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

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 5.11.07, Weitere Ausdrücke Übersicht 1 Vergleichsoperatoren 2 Kombinierte Zuweisungsoperatoren 3 Logische Operatoren 4 Weitere Operatoren 5 Klassifizierung von Operatoren 6 Typumwandlungen

Mehr

Programmierung mit C Funktionen

Programmierung mit C Funktionen Programmierung mit C Funktionen Funktionen... sind Unterprogramme (Subroutinen), mit denen Sie Teilprobleme einer größeren Aufgabe lösen können.... fassen Anweisungen zu einem Block zusammen, der eine

Mehr

Arrays (Felder/Vektoren)

Arrays (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

Mehr

Prozeduren und Funktionen

Prozeduren und Funktionen OSZ Handel I - Gymnasiale Oberstufe (Abt. V) In Anlehnung an: Duden Informatik (3.Auflage, Dudenverlag, 2001, S. 477). Prozeduren und Funktionen Fach: Informatik Parameter sind Platzhalter in einer Prozedur

Mehr

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften

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

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

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

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

C++ - Funktionen und mehr -

C++ - Funktionen und mehr - C++ - Funktionen und mehr - Friedrich-Schiller-Universität Jena Kerstin Gößner und Ralf Wondratschek Prof. Dr. habil. Wolfram Amme Dipl.-Inf. Thomas Heinze Inhaltsverzeichnis 1 Einleitung 3 2 Deklaration,

Mehr

Vorlesung 6: Operatoren, Logische Ausdrücke

Vorlesung 6: Operatoren, Logische Ausdrücke Vorlesung 6: Operatoren, Logische Ausdrücke Inhalt Organisatorisches Offene Übungen Operatoren Logische Ausdrücke Dr. J. Raimann 1 Offene Übungen (durch Tutoren betreut) montags 1. und 2. Block (8.15 Uhr

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

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

Zeiger, Arrays und Strings in C und C++

Zeiger, Arrays und Strings in C und C++ Zeiger, Arrays und Strings in C und 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

Mehr

Kapitel 2. Einfache Beispielprogramme

Kapitel 2. Einfache Beispielprogramme Kapitel 2 Einfache Beispielprogramme 2.1 Ausgabe auf dem Bildschirm 2.2 Lokale Variablen, Ausdrücke und Schleifen 2.3 Zahlen von der Tastatur einlesen 2.4 Formatierung bei der Ausgabe 2.5 Zusammenfassung

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

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

Mehr

Einführung in die Programmiersprache C

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

Mehr

Programmieren in C / C++ Grundlagen C 2

Programmieren 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

Mehr

Grundlagen der OO- Programmierung in C#

Grundlagen der OO- Programmierung in C# Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

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

Wertebereich und Genauigkeit der Zahlendarstellung

Wertebereich und Genauigkeit der Zahlendarstellung Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden

Mehr

Grundlagen der Informatik 2. Operatoren

Grundlagen 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

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 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse

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

2. Unterprogramme und Methoden

2. Unterprogramme und Methoden 2. Unterprogramme und Methoden Durch Methoden wird ausführbarer Code unter einem Namen zusammengefasst. Dieser Code kann unter Verwendung von sogenannten Parametern formuliert sein, denen später beim Aufruf

Mehr

6. Funktionen, Parameterübergabe

6. Funktionen, Parameterübergabe 6. Funktionen, Parameterübergabe GPS-6-1 Themen dieses Kapitels: Begriffe zu Funktionen und Aufrufen Parameterübergabearten call-by-value, call-by-reference, call-by-value-and-result in verschiedenen Sprachen

Mehr

Themen. Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren

Themen. Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren Themen Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren Statische Methoden Klassenmethoden Merkmal der Klasse nicht eines einzelnen Objekts

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

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

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten

Mehr

5. Übung - Kanalkodierung/Programmierung

5. Übung - Kanalkodierung/Programmierung 5. Übung - Kanalkodierung/Programmierung Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Kanalkodierung a Folgende Kodes stehen Ihnen zur Verfügung: Kode 1: 0000000 Kode

Mehr

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

C++ Teil 4. Sven Groß. 30. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 16 C++ Teil 4 Sven Groß IGPM, RWTH Aachen 30. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 4 30. Apr 2015 1 / 16 Themen der letzten Vorlesung Funktionen: Definition und Aufruf Wert- und Referenzparameter,

Mehr

Algorithmen zur Datenanalyse in C++

Algorithmen 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

Mehr

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

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Ausdrücke Übersicht 1 Die wichtigsten arithmetischen Ausdrücke Arithmetische Operatoren Inkrement und Dekrementoperatoren Zuweisungsoperator Mathematische Standardfunktionen Vergleichsoperatoren

Mehr

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

Mehr

Variablen. 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 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!

Mehr

2 Beispiel Sinusberechnung

2 Beispiel Sinusberechnung 2 Beispiel Sinusberechnung #include #include double sinus (double x) { double summe; double x_quadrat; double rest; int k; main() { double wert; D.8 Funktionen printf("berechnung des

Mehr

Vorlesung Objektorientierte Programmierung Klausur

Vorlesung Objektorientierte Programmierung Klausur Prof. Dr. Stefan Brass 16. Februar 2007 Dipl.-Inform. Annett Thüring Institut für Informatik MLU Halle-Wittenberg Vorlesung Objektorientierte Programmierung Klausur Name: Matrikelnummer: Studiengang: Aufgabe

Mehr

GI Vektoren

GI 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

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Die Programmiersprache C99: Zusammenfassung

Die 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

Mehr

Operatoren (1) Operatoren (2)

Operatoren (1) Operatoren (2) Operatoren (1) Binäre Operatoren + - * / % < = > & ^ > && Addition Subtraktion Multiplikation Division Divisionsrest Vergl. auf kleiner Vergl. auf kleiner oder gleich Vergl. auf gleich Vergl.

Mehr

Kapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 05 Datentypen Inhalt des 5. Kapitels Datentypen 5.1 Einleitung 5.2 Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Operatoren Konversion / Type-Cast Datentyp

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 Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 11. Vorlesung 14.06.2017 1 Schleifen 2 do...while do block while ( bedingung ); block: eine Anweisung oder Anweisungen in { block bed JA NEIN 3 while while ( bedingung ) block

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 29 Einstieg in die Informatik mit Java Weitere Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 29 1 Überblick 2 Kombinierte Zuweisungsoperatoren 3 Vergleichsoperatoren

Mehr

Vorlesung Informatik I

Vorlesung Informatik I Vorlesung Informatik I Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 11. Programmieren in C Der Compilierungsprozess 1 Aufbau eines C-Programms 1. Direktiven

Mehr

Zusammenfassung des Handzettels für Programmieren in C

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

Mehr

Felder, Zeiger und Adreßrechnung

Felder, Zeiger und Adreßrechnung Felder, Zeiger und Adreßrechnung Felder bestehen aus Variablen eines einzigen Datentyps. Bisher kennen wir eindimensionale Felder. In C sind Felder mit beliebigen Dimensionen möglich. Unsere räumliche

Mehr

U3 3. Übung U3 3. Übung. Systemnahe Programmierung in C Übungen Moritz Strübe Universität Erlangen-Nürnberg Informatik 4, 2009 U3.fm

U3 3. Übung U3 3. Übung. Systemnahe Programmierung in C Übungen Moritz Strübe Universität Erlangen-Nürnberg Informatik 4, 2009 U3.fm U3 3. Übung U3 3. Übung Besprechung Aufgabe 1 Pointer Register und Ports U3.1 U3-1 Zeiger U3-1 Zeiger 1 Einordnung Konstante: a 0110 0001 Variable: a Zeiger-Variable (Pointer): a char *p = &a; p U3.2 2

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

Intensivübung zu Algorithmen und Datenstrukturen Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche

Mehr