Sie sind auf Seite 1von 2

Gedächtnisprotokoll C/C++ SoSe22

Es gab vier Aufgabenteile:

1. Kurzfragen (Multiple Choice)


2. Code verstehen
3. Programmierung in C
4. Programmierung in C++

Generell war die Klausur der Probeklausur sehr ähnlich. Aus der Probeklausur kamen dran:

• Aufgabe 2b: Deklaration und Definition


• Aufgabe 2g: Bedingte Abfragen
• Aufgabe 3a: Ordnen von Strings
• Aufgabe 3b: Suchen und Ersetzen in Strings (die Aufgabe kam zweimal dran. Einmal mit dem
Wort „phantastisch“, einmal mit „Photo“. Einmal fehlten Zeilen 19 bis 22).
• Aufgabe 3c: Rekonstruieren der Aufgabe einer Funktion. Der Code war komplett gleich, aber
die Aufgabenstellung leicht abgeändert. Man musste nur angeben, was die Funktion macht
(siehe Aufgabenteil v) und den Wert berechnen, den Sie für das gegebene Array a[] ausgibt.
• Aufgabe 4a: Call-by-Pointer und Call-by-Reference
• Aufgabe 5b: Vererbung

Weitere Aufgaben waren:

• Kurzfragen
o Es waren Variablen der Datentypen short, float und double gegeben, dazu einige
Zuweisungen. Man musste auswählen, bei welchen Zuweisungen Informationsverlust
auftritt.
o Aufgabe 1c aus der Probeklausur (Geben Sie an, ob die Deklaration richtig ist) mit
leicht abgeänderten Namen in der letzten Option (z.B. IF statt ELSE).
o Verschiedene Angaben (z. B: int a = 3; a=b; …) gegeben und man musste wählen, ob
die Variable deklariert / definiert / initialisiert wurde.
o Ähnliche Aufgabe wie 1e aus der Probeklausur.
o Aufgabe 1f Probeklausur
• Rekursive Funktionen (in C)
o Implementieren Sie die Produktfunktion ∏𝑛𝑗=1 𝑗 rekursiv.
o Implementieren Sie die Summenfunktion ∑𝑛𝑗=𝑖 𝑗 rekursiv.
o Implementieren Sie die verschachtelte Funktion ∏𝑛𝑖=1 ∑𝑚 𝑖 𝑗 rekursiv. Nutzen Sie dafür
die Funktion int sum(int i, int n) aus dem letzten Aufgabenteil.
• String umkehren (in C)
o Kehren Sie die Zeichenreihenfolge in einem beliebigen, mit `\0‘ endenden String um.
• Element an Vektor anhängen
o Es sollte eine Funktion geschrieben werden, die an einen Vektor ein Element
anhängt. Dafür sollte genau so viel Speicher allokiert werden, wie das angehängte
Element benötigt.
• Präprozessor: Es war der Quelltext einer Headerdatei gegeben (mit verschiedenen #IF,
#DEFINE, #UNDEFINE-Anweisungen). Man sollte angeben, welche Ausgabe erfolgt (ähnlich
Übung 2 Aufgabe 6: Makro-Anweisungen mit Argumenten).
• Nennen Sie vier Konzepte, die von C++ aber nicht von C unterstützt werden.
• Template-Programmierung (in C++): Gegeben war ein einfaches Programm, einmal
ausgeführt auf Integern und einmal auf double. Man sollte daraus ein Template-Programm
machen und es anschließend mit dem Typen float aufrufen.

Das könnte Ihnen auch gefallen