Repetitorium Programmieren I + II

Größe: px
Ab Seite anzeigen:

Download "Repetitorium Programmieren I + II"

Transkript

1 Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012

2 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case 5 Schleifen for-schleifen while-schleife do-while-schleife 6 Funktionen 7 Klassen

3 Operatoren Rang Operatoren 1 :: 2. -> [] () sizeof 3! & (Adresse) *(Zeiger) new delete 4 * / % << >> 7 < > <= >= 8 ==!= 9 &(bitweises UND) 10 ˆ && 13 14?: 15 Zuweisungen, wie = += 16,

4 Operatoren Unäre arithmetische Operatoren Nur für Ganzzahl-Datentypen definiert. Es gibt zwei Arten: die vorlaufende oder die nachlaufende Inkrementierung / Dekrementierung. Anwendung i n t a ; a++; ++a ;

5 Operatoren Binäre arithmetische Operatoren Diese Art der Operatoren wird erzeugt durch die Zeichen + - / * und % (=Modulo). Anwendung i n t a = 1, b =2; a = a + b ; a = a b ; ist äquivalent zu: Anwendung i n t a = 1, b =2; a += b ; a = b ;

6 Operatoren Ternärer Operator Einziger Operator, der drei Operanden hat:? : Operand1? Operand2 : Operand3 Anwendung i n t a, b = 1, c = 2 ; a = ( b < c )? 42 : 2 3 ; ist äquivalent zu: Anwendung i n t a, b = 1, c = 2 ; i f ( b < c ) a = 4 2 ; e l s e a = 2 3 ;

7 Operatoren Logische Operatoren Sie geben immer einen Wahrheitswert true = 1 oder false = 0 zurück. Sie können anschließend im Datentyp bool gespeichert werden. Ausrücke die mittels Vergleichsoperatoren erstellt wurden können mit Logische Verknüpfungen verbunden werden. Operator Name < kleiner > größer <= kleiner gleich >= größer gleich == gleich!= ungleich Logische Verknüpfung Name && und oder! nicht

8 Operatoren Logische Operatoren Sehr häufiger Fehler i n t a = 2 ; i n t b = ; i f ( a=b ) cout << Wahr << e n d l ; e l s e cout << F a l s c h << e n d l ; Zuweisungsoperator (=) statt Vergleichsoperator (==)

9 Datentypen Datentyp Datenbereich Art short int Ganze Zahl long float double Gleitpunkt Zahl long double bool true (1), false(0) Wahrheitswert char a, A,... (ASCII-Zeichen) Zeichen Anwendung <Datentyp> <Variablenamen> [ = <Zuweisungswert> ]

10 Datentypen Die Größe des Datentyps kann Plattformabhängig sein (32/64 Bit) Ermitteln der Größe cout << s i z e o f ( i n t ) ; Ermitteln des Datenbereichs #i n c l u d e < l i m i t s. h>... cout << n u m e r i c l i m i t s <i n t >:: min ( ) << e n d l ; cout << n u m e r i c l i m i t s <i n t >:: max ( ) << e n d l ;

11 Gleitpunkt Zahl Datentyp Datenbereich Genauigkeit float Stellen double Stellen long double Stellen Aber f l o a t x ; x = 1 / 2 ; // E r g e b n i s s 0

12 Typkonvertierung double x = 5 / 3 ; // i m p l i z i t e Typumwandelung cout << x << e n d l ; i n t i = 2 0 ; x = ( double ) i ; // e x p l i z i t e Typumwandelung cout << x << e n d l ; implizite Typumwandelung Anwendung geschieht automatisch durch den Compiler. explizite Typumwandelung Anwendung <Datentyp> (< V a r i a b l e >) (<Datentyp >) <V a r i a b l e > s t a t i c c a s t < <Datentyp> > (< V a r i a b l e >) // empfohlen

13 Typkonvertierung const cast () - Casting the const away... c o n s t i n t x = 1 0 ; c o n s t i n t xp = &x ; xp = 0 ; // geht n i c h t aber... c o n s t i n t x = 1 0 ; i n t xp = c o n s t c a s t <i n t >(&x ) ; xp = 0 ; // ä n d e r t den Wert von x!!!

14 Typkonvertierung reinterpret cast () i n t i = 2 5 ; f l o a t f p = r e i n t e r p r e t c a s t <f l o a t >( i ) ; // f p z e i g t a u f f l o a t Datentyp an A d r e s s e 25 oder i n t a = new i n t ( ) ; v o i d b = r e i n t e r p r e t c a s t <v o i d >(a ) ; i n t c = r e i n t e r p r e t c a s t <i n t >(b ) ; // a und c g l e i c h, b w a h r s c h e i n l i c h g l e i c h

15 Typkonvertierung dynamic cast () B a s i s K l a s s e pb ; A b g e l e i t e t e K l a s s e pa= dynamic cast <A b g e l e i t e t e K l a s s e >(pb) ; Downcasting zur Laufzeit Typ muss noch nicht feststehen

16 Typkonvertierung static cast () enum dayofweek sunday, monday, tuesday, wednesday, t h u r s d a y, f r i d a y, s a t u r d a y today = monday ; i n t i = monday ; // i m p l i z i t today = i ; // geht n i c h t today = s t a t i c c a s t <dayofweek>( i ) ; // geht!

17 Strommanipulatoren

18 Strommanipulatoren ab hier die Bibliothek #include <iomanip>

19 Strommanipulatoren

20 Kontrollstrukturen (Selection Structure / Bedingungen) Anwendung: if-else i f ( V a r i a b l e > 10) cout<< V a r i a b l e hat e i n e n Wert g r ö ß e r a l s 1 0. << e n d l ; e l s e cout<< V a r i a b l e hat e i n e n Wert k l e i n e r g l e i c h 1 0. << e n d l ;

21 Kontrollstrukturen (Selection Structure / Bedingungen) Anwendung: if-else i f ( V a r i a b l e > 50) cout<< V a r i a b l e hat e i n e n Wert g r ö ß e r 5 0. << e n d l ; e l s e i f ( V a r i a b l e > 40) cout<< V a r i a b l e hat e i n e n Wert g r ö ß e r 4 0. << e n d l ; e l s e i f ( V a r i a b l e > 30) cout<< V a r i a b l e hat e i n e n Wert g r ö ß e r 3 0. << e n d l ; e l s e i f ( V a r i a b l e > 20) cout<< V a r i a b l e hat e i n e n Wert g r ö ß e r 2 0. << e n d l ; e l s e cout<< V a r i a b l e hat e i n e n Wert k l e i n e r g l e i c h 2 0. << e n d l ;

22 Kontrollstrukturen (Selection Structure / Bedingungen) Anwendung: if-else i f ( V a r i a b l e == 50) cout<< V a r i a b l e hat den Wert 5 0. << e n d l ; e l s e i f ( V a r i a b l e == 40) cout<< V a r i a b l e hat den Wert 4 0. << e n d l ; e l s e i f ( V a r i a b l e == 30) cout<< V a r i a b l e hat den Wert 3 0. << e n d l ; e l s e i f ( V a r i a b l e == 20) cout<< V a r i a b l e hat den Wert 2 0. << e n d l ; e l s e cout<< V a r i a b l e hat e i n e n anderen Wert << e n d l ;

23 Kontrollstrukturen (Selection Structure / Bedingungen) Anwendung: switch-case s w i t c h ( V a r i a b l e ) case 1 0 : cout<< V a r i a b l e hat den Wert 1 0. << e n d l ; break ; case 2 0 : cout<< V a r i a b l e hat den Wert 2 0. << e n d l ; break ; case 3 0 : cout<< V a r i a b l e hat den Wert 3 0. << e n d l ; break ; case 4 0 : cout<< V a r i a b l e hat den Wert 4 0. << e n d l ; break ; d e f a u l t : cout<< Es wurde e i n e f a l s c h e Zahl e i n g e g e b e n. << e n d l ;

24 Kontrollstrukturen (Repedition Structure / Schleifen) = Zum wiederholen eines Vorgangs Drei Parameter: Initialisierung; Wiederholungsbedingung; was passiert nach jedem Durchlauf Anwendung: for-schleife f o r ( i n t i =0; i < 1 0 ; i ++) cout << i << e n d l ; Anwendung: for-schleife (Sonderfall) i n t i, sum ; f o r ( i =1, sum=0; i <=10; sum+=i, i ++) ; Achtung!!! Beim Sonderfall sind die Teilparameter mit Komma getrennt!

25 Kontrollstrukturen (Repedition Structure / Schleifen) Anwendung: while-schleife I i= 0 ; w h i l e ( i < 10) cout << i << e n d l ; i ++; Anwendung: while-schleife II i= 1 1 ; w h i l e ( i < 10) cout << i << e n d l ; i ++;

26 Kontrollstrukturen (Repedition Structure / Schleifen) Anwendung: do-while-schleife I i n t x = 0 ; do cout << x << e n d l ; x++; w h i l e ( x < 10) Anwendung: do-while-schleife II i n t x = 1 1 ; do cout << x << e n d l ; x++; w h i l e ( x < 10)

27 Kontrollstrukturen (Repedition Structure / Schleifen) Anwendung: Verlassen von Schleifen i n t i = 0 ; w h i l e ( t r u e ) cout << i << e n d l ; i f ( i ==42) break ; i ++; // Ausgabe? cout << S c h l e i f e v e r l a s s e n << e n d l ; Anwendung: Springen in Schleifen i n t i = 0 ; w h i l e ( t r u e ) cout << i << e n d l ; i f ( i ==42) c o n t i n u e ; i ++; // Ausgabe?

28 Funktionen Aufbau der Funktion Anwendung i n t summe ( i n t a, i n t b )... r e t u r n a ; Datentyp : erwarteter Rückgabewert (z.b. int = Ganzzahl, void = nix) Funktionsname: damit wird im Programm die Funktion aufgerufen Parameter in (): werden in der Funktion verwendet

29 Funktionen Anwendung i n t summe ( i n t a, i n t b ) i n t c ; c=a+b ; r e t u r n ( c ) ; i n t main ( )... cout << summe ( 2 5, 1 0 ) ; // A u f r u f d e r F u n k t i o n...

30 Funktionen Call By Value i n t main ( ) i n t a = 10, b = 20 cout << summe( a, b ) ; // A u f r u f d e r F u n k t i o n... // a und b s i n d u n v e r ä n d e r t i n t summe( i n t x, i n t y ) // Beginn d e r F u n k t i o n x++; y++; r e t u r n x+y ; Es werden Kopien der Übergabeparameter angefertigt. Somit wird sichergestellt das die Variablen der aufrufenden Funktion nicht verändert werden können.

31 Funktionen Call By Reference v o i d swap ( i n t &a, i n t &b ) i n t tmp=a ; a=b ; b=tmp ; ; Die übergeben Variablen werden direkt übergeben. Es ist nicht möglich Konstanten als Parameter anzugeben (z.b. swap(1, 2);)

32 Funktionen Call By Reference i n t main ( ) i n t a = 10, b = 20 cout << summe( a, b ) ; // A u f r u f d e r F u n k t i o n... // a und b s i n d v e r ä n d e r t!!! i n t summe( i n t &x, i n t &y ) // Beginn d e r F u n k t i o n x++; y++; r e t u r n x+y ; Achtung!!! Variablen die als Referenz übergeben werden, werden verändert!!!

33 Funktionen Call By Reference (ohne Veränderung) i n t main ( ) i n t a = 10, b = 20 cout << summe( a, b ) ; // A u f r u f d e r F u n k t i o n i n t summe( c o n s t i n t &x, c o n s t i n t &y ) // Beginn d e r F u n k t i o n x++; // C o m p i l e r f e h l e r y++; // C o m p i l e r f e h l e r r e t u r n x+y ;

34 Funktionen Inline Funktionen i n l i n e i n t summe( i n t x, i n t y ) r e t u r n x+y ; i n t main ( ) cout << summe ( 4 2, 23) << e n d l ; Compiler ersetzt Inline Funktionen an passender Stelle. Dies kann u.u. schneller sein als der Funktionsaufruf inkl. Parameterübergabe.

35 Funktionen Funktionen mit statischen Variablen i n t s t a t i c F u n c t i o n ( i n t x ) s t a t i c i n t a = 5 ; r e t u r n a++ + x ; i n t main ( ) cout << s t a t i c F u n c t i o n ( 1 ) << e n d l ; // Ausgabe : 6 cout << s t a t i c F u n c t i o n ( 1 ) << e n d l ; // Ausgabe :? cout << s t a t i c F u n c t i o n ( 1 ) << e n d l ; // Ausgabe :? Statische Variablen haben einen festen Platz im Speicher und werden nur beim ersten Aufruf initialisiert. Falls kein Wert angegeben ist, erfolgt die Initialisierung mit 0. Achtung!!! Nicht verwechseln mit static in Dateien! (s. Klassen)

36 Funktionen Function Pointer - Pointer auf Funktionen Function Pointer // F u n c t i o n P o i n t e r a l s Parameter v o i d p r i n t ( s t r i n g a, s t r i n g b, s t r i n g ( f u n c ) ( s t r i n g, s t r i n g ) ) // A u f r u f d e r übergebenen F u n k t i o n cout << ( f u n c ) ( a, b ) << e n d l ; // A u f r u f d e r übergebenen F u n k t i o n Diese print-funktion bekommt einen Function Pointer auf eine andere Funktion (Platzhaltername func) übergeben, die zwei Strings als Parameter erhält und einen String zurückliefert.

37 Funktionen Function Pointer s t r i n g f u n k t i o n 1 ( s t r i n g e i n s, s t r i n g z w e i ) r e t u r n e i n s + + z w e i ; s t r i n g f u n k t i o n 2 ( s t r i n g e i n s, s t r i n g z w e i ) r e t u r n z w e i + + e i n s ; Diese Funktionen erfüllen die Voraussetzungen, um von der gezeigten print-funktion genutzt zu werden.

38 Funktionen Function Pointer - Anwendung i n t main ( ) s t r i n g wort1 = H a l l o, wort2 = Welt ; // A d r e s s e d e r gewünschten F u n k t i o n d i r e k t übergeben... p r i n t ( wort1, wort2, &f u n k t i o n 1 ) ; // Ausgabe : H a l l o Welt p r i n t ( wort1, wort2, &f u n k t i o n 2 ) ; // Ausgabe : Welt H a l l o //... o d e r w i e d e r e i n e n F u n c t i o n P o i n t e r e r s t e l l e n. s t r i n g ( f u n c t i o n P t r ) ( s t r i n g, s t r i n g ) = &f u n k t i o n 1 ; p r i n t ( wort1, wort2, f u n c t i o n P t r ) ; // Ausgabe : H a l l o Welt f u n c t i o n P t r = &f u n k t i o n 2 ; p r i n t ( wort1, wort2, f u n c t i o n P t r ) ; // Ausgabe : Welt H a l l o

39 Funktionen Achtung!!! Function Pointer können nur dann wie beschrieben verwendet werden, wenn die Funktion, auf die der Pointer zeigt, keine Methode einer Klasse oder statische Methode einer Klasse ist. Wenn die verwendeten Funktionen nicht-statische Methoden einer Klasse sind, muss angegeben werden, zu welcher Klasse und welchem Objekt die Methode gehört.

40 Funktionen Function Pointer bei nicht-statischen Methoden c l a s s K l a s s e p u b l i c : s t r i n g f u n k t i o n 1 ( s t r i n g e i n s, s t r i n g z w e i )... s t r i n g f u n k t i o n 1 ( s t r i n g e i n s, s t r i n g z w e i )... // Angabe des Klassennamens b e i d e r D e f i n i t i o n des FuncPtr v o i d p r i n t ( s t r i n g a, s t r i n g b, s t r i n g ( K l a s s e : : f u n c ) ( s t r i n g, s t r i n g ) ) cout << ( t h i s > f u n c ) ( a, b ) << e n d l ; // Methode des j e w e i l i g e n O b j e k t s verwenden ; i n t main ( ) K l a s s e neu ; s t r i n g wort1 = H a l l o, wort2 = Welt ; // Angabe des Klassennamen f ü r d i e F u n c t i o n P o i n t e r neu. p r i n t ( wort1, wort2,& K l a s s e : : f u n k t i o n 1 ) ; // H a l l o Welt s t r i n g ( K l a s s e : : f P t r ) ( s t r i n g, s t r i n g ) = &K l a s s e : : f u n k t i o n 2 ; neu. p r i n t ( wort1, wort2, f P t r ) ; // Welt H a l l o

41 Klasse EineKlasse.h c l a s s E i n e K l a s s e p u b l i c : E i n e K l a s s e ( ) ; // d e r D e f a u l t K o n s t r u k t o r E i n e K l a s s e ( i n t ) ; // w e i t e r e r K o n s t r u k t o r mit Parameter E i n e K l a s s e ( E i n e K l a s s e& a ) ; // Copy K o n s t r u k t o r E i n e K l a s s e ( ) ; // d e r D e s t r u k t o r ; i n t einemethode ( i n t ) ; i n t nocheinemethode ( i n t x=42) ; // Methode mit ( D e f a u l t ) // Parameter p r i v a t e : i n t m e i n A t t r i b u t ;

42 Klasse EineKlasse.cpp #i n c l u d e E i n e K l a s s e. h E i n e K l a s s e : : E i n e K l a s s e ( ) E i n e K l a s s e : : E i n e K l a s s e ( i n t param ) m e i n A t t r i b u t = param ; E i n e K l a s s e : : E i n e K l a s s e ( ) i n t E i n e K l a s s e : : einemethode ( i n t x ) //.. do something i n t E i n e K l a s s e : : nocheinemethode ( i n t x ) //.. do something

43 Klasse - Initialisierungsliste EineKlasse.h #i f n d e f EINEKLASSE H #d e f i n e EINEKLASSE H c l a s s E i n e K l a s s e p u b l i c : E i n e K l a s s e ( i n t einx =0, i n t einy =0) : x ( einx ), y ( einy ) // some code p r i v a t e : i n t x, y ; ; #e n d i f Main.cpp #i n c l u d e E i n e K l a s s e. h i n t main ( ) E i n e K l a s s e meinobjekt ; E i n e K l a s s e meinobjekt1 ( 2 3, 42) ;

44 Klasse - statische Members EineKlasse.h c l a s s E i n e K l a s s e p u b l i c : E i n e K l a s s e ( i n t ) ; E i n e K l a s s e ( ) ; s t a t i c i n t count ; p r i v a t e : i n t member ; ; EineKlasse.cpp i n t E i n e K l a s s e : : count = 0 ; E i n e K l a s s e : : E i n e K l a s s e ( i n t x = 0) member = x ; E i n e K l a s s e : : count++; E i n e K l a s s e : : E i n e K l a s s e ( ) E i n e K l a s s e : : count ;

45 Klasse - statische Members Main.cpp - Zugriff auf public static Members #i n c l u d e E i n e K l a s s e. h i n t main ( ) cout << E i n e K l a s s e : : count << e n d l ; // Ausgabe : 0 E i n e K l a s s e meinobjekt1 ; E i n e K l a s s e meinobjekt2 ; cout << E i n e K l a s s e : : count << e n d l ; // Ausgabe : 2 r e t u r n 0 ; Achtung!!! Klappt aber nur für public Members, nicht für private!

46 Klasse - statische Methoden EineKlasse.h - private static Members c l a s s E i n e K l a s s e p u b l i c : s t a t i c i n t getcount ( ) ;... p r i v a t e : i n t member ; s t a t i c i n t count ; ; Main.cpp i n t main ( ) cout << E i n e K l a s s e : : getcount ( ) << e n d l ; // Ausgabe : 0 E i n e K l a s s e meinobjekt ; cout << E i n e K l a s s e : : getcount ( ) << e n d l ; // Ausgabe : 1

47 Klasse - statische Methoden EineKlasse.h - private static Members c l a s s E i n e K l a s s e p u b l i c : s t a t i c i n t getcount ( ) ;... p r i v a t e : i n t member ; s t a t i c i n t count ; ; EineKlasse.cpp... i n t E i n e K l a s s e : : getcount ( ) member = 4 2 ; // C o m p i l e r f e h l e r r e t u r n E i n e K l a s s e : : count ;...

48 Klasse - Mehrfacheinbindung (#include guard) EineKlasse.h #i f n d e f EINEKLASSE H #d e f i n e EINEKLASSE H c l a s s E i n e K l a s s e p u b l i c : ;... #e n d i f EineKlasse.h - Alternative #pragma once // non s t a n d a r d

Repetitorium Programmieren I + II

Repetitorium Programmieren I + II Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 24. September 2012 Agenda 1 Funktionen Aufbau und Anwendung Call by Value Call by Reference Überladen von Funktionen Default

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

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

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

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

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

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

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Operatoren in C. Gastvorlesung Andreas Textor

Operatoren in C. Gastvorlesung Andreas Textor Operatoren in C Gastvorlesung - 11.01.10 Andreas Textor andreas.textor@hs-rm.de Terminologie Operand 4 + 2 Operand Operator Unterscheidung nach Anzahl Operanden Unäre, Binäre und Ternäre Operatoren Z.B.:!x;

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

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

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

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

RO-Tutorien 17 und 18

RO-Tutorien 17 und 18 RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 2 AM 10.05.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

3. Java - Sprachkonstrukte I

3. Java - Sprachkonstrukte I Namen und Bezeichner Ein Programm (also Klasse) braucht einen Namen 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken,

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

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

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 Operatorüberladung 2 Pointer Zeigervariable 3 CopyConstructor 4 Listen 5 Array String 6 STL Container

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile

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

Grundlagen der Modellierung und Programmierung, Übung

Grundlagen der Modellierung und Programmierung, Übung Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak

Mehr

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen } } Beispiele für Anweisungen Wiederholung Ausgabe

Mehr

Funktionales C++ zum Ersten

Funktionales C++ zum Ersten Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: christoph.ott@uni-ulm.de Institut für Angewandte Informationsverarbeitung 26.08.08

Mehr

Vorlesungsprüfung Programmiersprache 1

Vorlesungsprüfung Programmiersprache 1 Vorlesungsprüfung Programmiersprache 1 Termin der Prüfung: 1) Di 20.03.2018 16:15 17:00 HSB 3 2) Di 15.05.2018 16:15 17:00 HSB 3 3) Di 12.06.2018 16:15 17:00 HSB 3 Stoffgebiete: 1) Ganzzahltypen: char,

Mehr

3. Java - Sprachkonstrukte I

3. Java - Sprachkonstrukte I Lernziele 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken, Typkonversionen Sie kennen die grundlegensten Bausteine

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

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

76,81,85 11' 16, 17 10, 13, 14,44,47,49,69, 70,75,99 42,43,44,49 94,95 97,98 42,48,49,50,56,63, 65,92,105 97,98 19,94,108 19, 101

76,81,85 11' 16, 17 10, 13, 14,44,47,49,69, 70,75,99 42,43,44,49 94,95 97,98 42,48,49,50,56,63, 65,92,105 97,98 19,94,108 19, 101 149 15 REGISTER abgeleitete Klassen abgeleitete Typen abort abstrakte Datentypen abstrakter Typname Adresse aktueller Parameter Anweisung append arge Argument argv Elementare Anweisungen Kontrollanweisungen

Mehr

Grundlagen der Informatik 2. Typen

Grundlagen der Informatik 2. Typen Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace

Mehr

PVK Informatik I 1.Teil. Grundlagen Variablen Operatoren Fallunterscheidung Schleifen Kurzschreibweise Pointer Array Dynamische Strukturen Funktionen

PVK Informatik I 1.Teil. Grundlagen Variablen Operatoren Fallunterscheidung Schleifen Kurzschreibweise Pointer Array Dynamische Strukturen Funktionen PVK Informatik I 1.Teil Grundlagen Variablen Operatoren Fallunterscheidung Schleifen Kurzschreibweise Pointer Array Dynamische Strukturen Funktionen 1 Grundlagen #include #include using

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

3. Java - Sprachkonstrukte I

3. Java - Sprachkonstrukte I 84 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken, Typkonversionen Namen und Bezeichner 85 Ein Programm (also Klasse)

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

Methoden (fortgeschritten) in C# - 1

Methoden (fortgeschritten) in C# - 1 Methoden (fortgeschritten) in C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Opertatoren Überladung 2. delegate 3. Anonyme Methoden delegate Lamda Ausdruck-Lamdas Anweisung-Lamdas Variablenbereich

Mehr

Einführung in C. EDV1-04C-Einführung 1

Einführung in C. EDV1-04C-Einführung 1 Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags

Mehr

Programmiervorkurs Einführung in Java Tag 1

Programmiervorkurs Einführung in Java Tag 1 Programmiervorkurs Einführung in Java Tag 1 Sebastian Glutsch SS 2018 namen Inhaltsübersicht Vorkurs Tag 1:,, en,, Einführung Tag 2: Boolesche Ausdrücke,, If-Abfragen, Switch-Case Tag 3: Arrays, (Do-)While-Schleife,

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

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm

Mehr

Kapitel 2: Grundelemente der Programmierung

Kapitel 2: Grundelemente der Programmierung Kapitel 2: Grundelemente der Programmierung Variablen Variablen sind Speicherbereiche im Arbeitsspeicher Anhand eines Namens kann man Werte hineinschreiben und auch wieder auslesen Variablen besitzen ein

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Wiederholung Anweisungen durch Methodenaufrufe Ausgabe

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

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

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme Schwerpunkte Vollständige und unvollständige Auswertung 8. Ausdrücke, Operatoren (einfache Typen) Teil 1 Seiteneffekte Overloading: Überladung von Operatoren Implizite und explizite (cast) Typumwandlung

Mehr

5.3 Auswertung von Ausdrücken

5.3 Auswertung von Ausdrücken 5.3 Auswertung von Ausdrücken Funktionen in Java bekommen Parameter/Argumente als Input, und liefern als Output den Wert eines vorbestimmten Typs. Zum Beispiel könnte man eine Funktion i n t min ( i n

Mehr

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

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

Informatik. Strukturen und Aufzählungstypen. Vorlesung

Informatik. Strukturen und Aufzählungstypen. Vorlesung Informatik Vorlesung 06 Strukturen und Aufzählungstypen 03. Dezember 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Datentypen Die bisher benutzten Datentypen waren

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

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen

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 und Angewandte Mathematik

Programmierung und Angewandte Mathematik Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ablauf Was sind Funktionen/Methoden

Mehr

3. Operatoren und Ausdrücke

3. Operatoren und Ausdrücke 3. Operatoren und Ausdrücke Ausdruck (expression) Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (boole'sche)

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

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

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die

Mehr

3. Operatoren und Ausdrücke

3. Operatoren und Ausdrücke 3. Operatoren und Ausdrücke Ausdruck (expression) Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (boole'sche)

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

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

Ausdrücke der Programmiersprache Java

Ausdrücke der Programmiersprache Java Ausdrücke der Programmiersprache Java Hamburg 1 Ablauf des Vortrags 01. Eigenschaften von Ausdrücken 02. Arithmetische Operatoren 03. Relationale Operatoren 04. Logische Operatoren 05. Bitweise Operatoren

Mehr

Syntax und Kontrollstrukturen

Syntax und Kontrollstrukturen Syntax und Kontrollstrukturen Praktikum C-Programmierung Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2018-10-29

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

Programmieren und Problemlösen Java-Sprachkonstrukte. Java-Sprachkonstrukte. Übung Altersberechner. Namen und Bezeichner. Namen und Bezeichner

Programmieren und Problemlösen Java-Sprachkonstrukte. Java-Sprachkonstrukte. Übung Altersberechner. Namen und Bezeichner. Namen und Bezeichner Übung Altersberechner Dennis Komm Programmieren und Problemlösen public class AgeCalc { public static void main(string[] args) { Out.print("Enter your year of birth: ")... } } Ausgabe: "In 2020, you will

Mehr

Operatoren in C/C++ und Java:

Operatoren in C/C++ und Java: Operatoren in C/C++ und Java: C/C++/Java hat eine riesige Anzahl von Operatoren (im Vergleich zu anderen Programmiersprachen). Außer den üblichen arithmetischen Operatoren +, -, *, / (und % für Ganzzahlen)

Mehr

String-Konkatenation

String-Konkatenation YOU ARE HERE Ausdrücke und Anweisungen Einführung Objektorientierte Modellierung Java-Sprachkonstrukte Pakete und Zugriffskontrolle Deklaration von Methoden, Attributen, Variablen Ausdrücke und Anweisungen

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

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

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java Ludwig-Maximilians-Universität München München, 20.11.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

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

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

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

Grundlagen der Informatik 11. Zeiger

Grundlagen der Informatik 11. Zeiger 11. Zeiger Motivation Zeiger und Adressen Zeiger und Funktionen Zeiger und Arrays Dynamische Objekte Grundlagen der Informatik (Alex Rempel) 1 Motivation Dynamische Speicherverwaltung Oft müssen große

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

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

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

Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke

Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke 1 Links Stellenwertsysteme mit Links zu Zahlensysteme: http://de.wikipedia.org/wiki/stellenwertsystem ASCII-Code: http://de.wikipedia.org/wiki/ascii

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

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

1.4. Funktionen. Objektorientierte Programmierung mit C++

1.4. Funktionen. Objektorientierte Programmierung mit C++ mehrfache Deklarationen sind erlaubt für jede Funktion muss es (GENAU) eine Definition geben, ansonsten linker error [the one definition rule ODR] Deklarationen in *.h - Files, Definitionen in *.cpp -

Mehr

C++ Teil 6. Sven Groß. 23. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 15

C++ Teil 6. Sven Groß. 23. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 15 C++ Teil 6 Sven Groß 23. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 23. Nov 2015 1 / 15 Themen der letzten Vorlesung const-deklaration Referenzen Zeiger Felder Sven Groß (IGPM, RWTH Aachen) C++

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

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen

Mehr

Abend 4 Übung : Erweitern von Klassen durch Vererbung

Abend 4 Übung : Erweitern von Klassen durch Vererbung Abend 4 Übung : Erweitern von Klassen durch Vererbung Ziel, Inhalt Wir erweitern die Klassen, die wir zum Zeichnen mit TsuZeichnen verwenden. Dabei wenden wir die Vererbung an um die Klassen zu spezialisieren

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

3. Operatoren und Ausdrücke

3. Operatoren und Ausdrücke 3. Operatoren und Ausdrücke Ausdruck (expression): Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (Boole'sche)

Mehr