Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.

Slides:



Advertisements
Ähnliche Präsentationen
Einführung in die Programmiersprache C/C++
Advertisements

der Universität Oldenburg
Imperative Programmierung
Imperative Programmierung
3. Operatoren und Ausdrücke
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Forschungszentrum caesar
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Variablen und Datentypen
der Universität Oldenburg
Sequentielle Liste - Array
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Datentyp- umwandlung. Literale sind: Bezeichner mit einem festen Wert wie z.B:
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
Objekte und Arbeitsspeicher
Robotik mit LEGO Mindstorms
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 5 Claudio Moraga; Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Imperative Programmierung
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
VB .NET Proseminar .NET SS04.
Das erste Programm (Folie 16)
Einführung in C++ und das objektorientierte Programmieren (OOP)
EDV1 - Komplexe Datentypen
Arrays,Strings&Pointer in C/C++
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
Wichtige Fachausdrücke in C
Grundkonzepte Java - Klassendefinition
Einführung in die Programmiersprache C 1
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Informatik 1 Letzte Übung.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Dynamische Datentypen
Primär(x)f(x)a[x]new typeof sizeof checked unchecked Unär+-~!++x--x x++ x-- (T)x Multip./Divis.*/% Addition/Subtr.+- shift > kleiner/größer = is gleich/ungleich==!=
Arrays / Felder Themen: Arrays / Felder / Vektoren Was soll das eigentlich? Erstellen von Arrays Arrays auslesen. Wie sie verwaltet werden.
Variablen in Programmiersprachen
Datentypen Überblick Datentypen Einfache / fundamentale Datentypen
Informatik Grundlagen, Seminar 8 WS04 1 Informatik Grundlagen, WS04, Seminar 8 Informatik.
Programmieren in C Grundlagen C 2
BMEVIEEA100 Grundlagen der Programmierung
PHP: Operatoren und Kontrollstrukturen
Hochschule Fulda – FB ET Sommersemester 2014
Programmieren in C Grundlagen C 2
5. Zeiger und komplexe Datenstrukturen
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Übersicht Nachtrag zu Ausdrücken
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Diskrete Mathematik I Vorlesung 2 Arrays.
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Einführung in die Programmierung mit Java
Einführung in die Programmierung mit Java
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Variablen und Datentypen
Microsoft Student Partner
Pointer. Precompiled Header  Vorübersetzung eingebundener Dateien häufig genutzt, selten geändert  Projekttyp „Win32 Console Application“
Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.
C++ FÜR cOMPUTERSPIELENTWICKLER
Inhalte der Übungen 1.Grundlagen, Ein- und Ausgabe 2.Kontrollstrukturen (Projekt 1) 3.Funktionen 4.Zeiger, Felder (Projekt 2) 5.Strings, Strukturen 6.Fileverarbeitung.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Pointer. * und &  Bei der Definition int var1; ○ // „normale“ Variable int *var2; ○ // Zeiger auf einen Integer int *var2 = NULL; ○ // … incl. Initialisierung.
Operatoren, Kontrollstrukturen und Funktionen. Logische Operatoren  zum Vergleich zweier Ausdrücke  ==, !=,, =  Ergebnis ist vom Typ bool  Achtung!
Einführung in die Programmierung
Variable: typ varName = Wert Kiste: Art Aufschrift  Inhalt
 Präsentation transkript:

Variablen und Operatoren

C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen

Variablen  Deklaration und Definition [qualifier] variabletyp variablename; explizite Deklaration mittels extern  Initialisierung und Zuweisung variablenname = wert; kann gleichzeitig mit Definition geschehen implizite Initialisierung (außer bei lokalen Variablen!)  Variablennamen darf nicht mit einer Zahl beginnen darf keinem reservierten Schlüsselwort entsprechen

Primitive Datentypen TypEigenschaften charCharacter (Zeichen), nimmt ein 8 Bit Zeichen auf wchar_twide Character, nimmt ein (mindestens) 16 Bit Zeichen auf boolWahrheitswert, kann die Werte true oder false annehmen intGanzzahl, Größe abhängig von der ausführenden Maschine (üblicherweise 32 Bit) long„größere“ Ganzzahl floatGleitkommazahl einfacher Genauigkeit doubleGleitkommazahl mit doppelter Genauigkeit QualifiziererEigenschaftenAnwendung signedvorzeichenbehaftet (Standard)int, char unsignednicht vorzeichenbehaftetint, char shortkurzint longlangint, long, double

sizeof()  Vorgriff auf Funktionen  sizeof(datenTyp) liefert die Speichergröße von datenTyp in Byte  cout << sizeof(bool) << endl;  << kann verkettet verwendet werden  endl ist eine Konstante aus iostream und bewirkt einen Zeilenumbruch gefolgt von einem flush

Aufgabe 2  Benutze die Funktion sizeof um die Byte-Größe der primitiven Datentypen auf dem Bildschirm auszugeben  cout << sizeof(bool) << endl;

Konstanten  Schlüsselwort const const int counter = 100; „konstante Variable“  Schlüsselwort #define #define counter 10 Textersetzung durch den Präprozessor keine Typisierung, kein Speicherplatz  Schlüsselwort enum Aufzählungskonstante enum Farbe {Rot, Gruen, Gelb, Ultraschwarz}; Farbe meineFarbe = Gruen;

Statische Arrays  indizierbares Feld von Daten des gleichen Typs  char myCharArray[Anzahl] Zugriff über Indizes 0..Anzahl-1 keine Gültigkeitsprüfung des Indizes zur Laufzeit! teilweise explizite Initialisierung möglich ○ int myIntArray[5] = {1, 2, 3} ○ =>

Aufgabe 3 Persönliche Begrüßung cin >> Variable;

Mehrdimensionale statische Arrays // Implizit initialisierte Matrix int matrix_1[2][3]; // Explizit initialisierte Matrix int matrix_2[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }; // Zugriff int meinWert = matrix_2[0][1];

Structures  Zusammenfassung mehrerer Elemente unterschiedlichen Typs  quasi einfache Klassen  Explizite Deklaration notwendig  Definition einer Variablen der Struktur  Zugriff auf Elemente über den Punkt- Operator

Structures // Deklaration eines structs struct structName { type elementVarName; … }; // Definition einer Variablen structName structVar; // Benutzung der Variablen cout << structVar.elementVarName;

Operatoren in C++  x = (wert1 * wert2) + (wert 3 / (wert4 - wert5))  Auswertung von Operatoren Precedence und Order of Precedence bei gleicher Precedence von links nach rechts Verwendung von Klammern zur Beeinflussung des Auswertungsranges ○ Paare von Klammern in beliebiger Schachtelungstiefe ○ Auswertung von Innen nach Außen ○ lieber zu viele Klammern als zu wenige

Order of Precedence (Auswahl) Prec.BedeutungOperator in C++ 2runtime-checked castdynamic_cast (expr) 3unary minus-expr 3pre increment++lvalue 5multiplyexpr * expr 6addexpr + expr 7bit shift rightexpr >> expr 8less thanexpr < expr 9equalexpr == expr 10bitwise ANDexpr & expr 13logical ANDexpr && expr 16asignlvalue = expr

Arithmetische Operatoren - binär  Standardrechenoperationen: +, -, *, /  Modulo (Rest einer ganzzahligen Division) %  für alle Datentypen definiert (Modulo nur für Ganzzahlen)  bei Typenmischung Umwandlung in den mächtigeren Datentyp  lvalue = expr expr

Arithmetische Operatoren - unär  Vorzeichen: -, +  pre increment/decrement ++lvalue --lvalue  post increment/decrement lvalue++ lvalue--  var1 = var2++;  var1 = ++var2;