Übungsaufgaben
Dreißig Übungen in gemischter Reihenfolge — du klickst, ziehst, ordnest, rechnest und knobelst. Jede Übung gibt dir sofort eine Rückmeldung, und zu jeder Aufgabe gibt es zwei gestufte Tipps: Der erste zeigt die Richtung, der zweite den entscheidenden Schritt. Die Chips zeigen das Anforderungsniveau: AFB I heißt wiedergeben und direkt anwenden, AFB II selbst entscheiden und verknüpfen, AFB III begründen, beurteilen oder eine Falle durchschauen. Aufgaben mit dem Chip Mix verbinden Wissen aus früheren Unterkapiteln, bei Trick steckt eine Falle drin. Fährst du über ein unterstrichenes Arbeitswort, siehst du, was es genau von dir verlangt.
Werte die vier Fälle aus und trage ein, was nach dem Einlesen in s steht und was noch ungelesen ist. Gegeben ist string s;.
| Eingabe | Lesebefehl | Inhalt von s | noch ungelesen |
|---|---|---|---|
| Ada | cin >> s | ||
| Ada Lovelace | cin >> s | ||
| Ada Lovelace | getline(cin, s) | ||
| Ada | getline(cin, s) |
Deute die Wirkung jeder Änderung und trage ein, ob die beiden Größen im Vergleich zum Ausgangsprogramm steigen, sinken oder gleich bleiben.
void lade(int &akku) { akku = akku + 20; } // main: int handy = 30; lade(handy);
| Größe (Ausgang: handy = 50, Parameter ist eine Referenz) | ohne & | zweiter Aufruf | Parameter umbenannt |
|---|---|---|---|
| handy in main | |||
| akku in der Funktion |
string vor = "Mo", nach = "bil"; string s = vor + nach + "e"; cout << s.length() + nach.length() << endl;
Gib die Ausgabe an.
s ist „Mobile“ mit 6 Zeichen, nach hat 3 Zeichen: 6 + 3 = 9. Das Endezeichen zählt length() nicht mit — wie strlen. Typischer Fehler: 10 oder 11, weil man wie bei sizeof ein '\0' dazuzählt.s zusammen und zähle dann die Zeichen.