Übung 2
Elementare Sprachelemente & Streams

Einleitung
1.	Bitte überprüfen Sie die korrekte Schreibweise Ihres Namens in der Tutoriumsliste. Dieser Name wird später auf dem Schein stehen!
2.	Abgabe der schriftlichen Aufgaben per Email ist nur in Ausnahmefällen möglich. Falls eine Abgabe per Email unumgänglich ist, sollte dies dem Tutor am Dienstag davor bekanntgegeben werden. 
3.	Die Programmieraufgaben werden nach der Übungsstunde im PC-Saal vorgeführt. Programmieraufgaben dürfen in 3er-Gruppen bearbeitet werden. 

A 2.1: Arithmetische und logische Operationen	(10)
Geben Sie zu den folgenden arithmetischen bzw. logischen Operationen jeweils das Ergebnis an. Gehen Sie davon aus, daß die Operationen einander nicht beeinflussen, z.B. wird in (c) der Variablen a ein neuer Wert zugewiesen, in (d) soll aber wieder der Ausgangswert a = 8 gelten ! Geben Sie bei komplizierten Operationen ( (g) – (j) ) Zwischenschritte an.
int a = 5;	int b = 33;	int c = 51;	int d = 1000;
(a)	b / a
(b)	b % a
(c)	a = b
(d)	a == b
(e)	a << 2	(f)	b >> 1
(g)	(~a | b) & (a ^ b)
(h)	(a < b) && ((c – d) != a)
(i)	((b * a++) – (c % ++a))
(j)	~a ? b * c : c * d	

A 2.2: Präzedenzen	(5)
Geben Sie für die folgenden Ausdrücke das Ergebnis an und setzen Sie Klammern, die den Präzedenzen (vgl. Online-Kurs, Kap. 3, ”Präzedenzen & Assoziationen”) entsprechen. Die Variablen a, b, c, d seien dabei wie in A2.1 definiert.

(a)	int e = --c – d / a
(b)	boolean f = b <= a || c >> 16
(c)	int g = a & b ? b % a + 1 : a + b / c
(d)	boolean h	 = a < 5 || b > 10 && d – c >= 0
(e)	int i = ~a * b << a
		
A 2.3: Ein Happy-Birthday-Stream	(5)
Schreiben Sie ein C++ - Programm, in dem Sie drei Integer-Variablen Tag, Monat und Jahr deklarieren und ihnen den Wert Ihres Geburtstages zuweisen. Geben Sie anschließend unter Verwendung dieser Variablen den folgenden Text aus:
	Dein Geburtstag ist der <Tag>.<Monat>.<Jahr>
	Happy Birthday !

Benutzen Sie hierfür das Programmgerüst ”HalloWelt.cpp” aus der letzten Übung.

A 2.4: Literale Konstanten	(5)
(a)	Geben Sie den Dezimalwert der folgenden Zahlen an:
024          0xCAFEBABE	         12.345e-4
(b)	Welcher Text wird durch die folgende Anweisung ausgegeben ?
	cout << "\"Schoene Ostern - \bStream\" wuenscht uns Schoene Ostern" << endl;
(c)	Definieren Sie eine Aufzählung der Monate eines Jahres.