Was ist die Hauptaufgabe einer höheren Programmiersprache?
: Sie soll die Programmierung einfacher und verständlicher machen, indem sie Befehle bietet, die näher an der menschlichen Sprache sind.
Wozu dienen Schleifen in C++?
Sie wiederholen Anweisungen im Schleifenkörper abhängig von Bedingungen.
Wie nennt man die Bedingungen, die eine Schleife steuern?
Abbruchbedingungen (im Text oft einfach „Bedingung“ genannt).
Wie interpretiert C++ Abbruchbedingungen?
Wenn die Bedingung wahr ist, wird die Schleife ausgeführt; wenn sie falsch ist, wird sie beendet.
Welche drei Schleifentypen gibt es in C++?
Kopfgesteuerte Schleife (Bedingung am Anfang)
Fußgesteuerte Schleife (Bedingung am Ende)
Zählschleife (Sonderfall der kopfgesteuerten Schleife)
Welche zwei Befehle gibt es zur Steuerung von Schleifen?
break und continue.
break
continue
Was ist eine Endlosschleife?
Eine Schleife, die sich unendlich oft wiederholt und nicht automatisch endet.
Welche Gefahr besteht bei Fehlern in Schleifen?
Es kann eine Endlosschleife entstehen, die manuell abgebrochen werden muss.
Wie lautet die Syntax einer while-Schleife?
while (Bedingung) // Schleifenkopf
{
Anweisung1;
Anweisung2;
...
} // Schleifenkörper
Wann wird die Bedingung in einer while-Schleife überprüft?
Vor jedem Schleifendurchlauf im Schleifenkopf.
Was passiert, wenn man hinter den Schleifenkopf ein Semikolon setzt?
Die Schleife wird endlos, da nur der Ausdruck wiederholt überprüft wird.
Was ist eine Schleifenvariable?
Eine Variable, die im Ausdruck der Schleife überprüft wird.
Worauf muss man bei einer Schleifenvariablen achten?
Sie muss korrekt initialisiert werden.
Sie muss innerhalb der Schleife verändert werden.
Was passiert, wenn die Schleifenvariable nicht verändert wird?
Es entsteht eine Endlosschleife, da die Bedingung immer gleich bleibt.
Frage: Wie unterscheidet sich die do … while-Schleife von der while-Schleife?
Bei do … while wird die Bedingung erst am Ende (im Schleifenfuß) überprüft.
Was bedeutet „fußgesteuerte Schleife“?
Die Bedingung steht im Schleifenfuß, d. h. die Auswertung erfolgt nach dem Schleifenkörper.
Was ist der wichtigste Unterschied zur while-Schleife?
Der Schleifenkörper wird mindestens einmal ausgeführt, unabhängig von der Bedingung.
Wie lautet die Syntax einer do … while-Schleife?
do {
Anweisungen; // Schleifenkörper
} while (Bedingung); // Schleifenfuß mit Semikolon
Was passiert, wenn man das Semikolon am Ende der do … while-Schleife weglässt?
Der Compiler meldet einen Syntaxfehler.
Wann sollte man eine do … while-Schleife einsetzen?
Wenn sichergestellt werden soll, dass die Schleife mindestens einmal durchlaufen wird.
Welche typische Anwendung hat die do … while-Schleife?
Häufig beim Einlesen von Benutzereingaben, da die Eingabe vor der Bedingungsprüfung erfolgt.
Muss die Schleifenvariable bei einer do … while-Schleife vor der Schleife initialisiert werden?
Nein, da sie im ersten Durchlauf innerhalb der Schleife gesetzt werden kann.
Was verhindert im Beispiel mit Benutzereingabe eine Endlosschleife?
Die Schleifenvariable wird durch cin im Schleifenkörper bei jeder Eingabe verändert.
cin
Wie kann man eine do … while-Schleife in eine while-Schleife umwandeln?
Das do wird entfernt, und die Bedingung aus dem Schleifenfuß wird in den Schleifenkopf geschrieben (ohne abschließendes Semikolon).
do
Ist die Wahl zwischen while und do … while immer strikt notwendig?
Nein, oft ist es eine Frage des persönlichen Geschmacks, aber do … while eignet sich besonders für Eingaben.
Wann verwendet man typischerweise eine for-Schleife?
Wenn die Anzahl der Schleifendurchläufe bereits vor Beginn bekannt ist.
Wie lautet die Grundsyntax einer for-Schleife in C++?
for (Vorlauf; Bedingung; Nachlauf)
Anweisung;
Welche drei Ausdrücke stehen im Kopf einer for-Schleife?
Vorlauf (Initialisierung, z. B. i = 0;)
i = 0;
Bedingung/Testausdruck (z. B. i <= 10;)
i <= 10;
Nachlauf (z. B. i++;)
i++;
Wie oft wird der Vorlauf in einer for-Schleife ausgeführt?
Genau einmal, bevor die Schleife startet.
Wann wird der Testausdruck in einer for-Schleife überprüft?
Vor jedem Schleifendurchlauf.
Wann wird der Nachlauf in einer for-Schleife ausgeführt?
Am Ende jedes Schleifendurchlaufs.
Worin liegt der Vorteil der for-Schleife gegenüber der while-Schleife?
Die Steuerung der Schleife (Initialisierung, Bedingung, Änderung) ist kompakt und übersichtlich im Schleifenkopf zusammengefasst.
Wo ist eine in der for-Schleife deklarierte Variable sichtbar?
Nur innerhalb der Schleife (lokaler Gültigkeitsbereich).
Was sollte man bei der Bedingung einer Schleife beachten?
Sie muss gültig sein, sonst droht eine Endlosschleife.
Was gilt als schlechter Programmierstil bei for-Schleifen?
Die Schleifenvariable zusätzlich im Schleifenkörper zu verändern.
: Warum ist es problematisch, die Schleifenvariable innerhalb der Schleife zu
Weil es das erwartete Verhalten verändert und den Code für andere Programmierer verwirrend macht.
Wofür wird die Anweisung break in Schleifen verwendet?
Um die Schleife sofort komplett zu beenden. Danach wird das Programm mit der nächsten Anweisung nach der Schleife fortgesetzt.
ann ist der Einsatz von break sinnvoll?
Nur in Kombination mit einer Bedingung, z. B. wenn bei einer bestimmten Eingabe die Schleife beendet werden soll.
Was ist eine Flag-Variable?
Eine Variable, die einen Zustand markiert (z. B. true oder false), um den Ablauf einer Schleife zu steuern.
true
false
Wie kann man eine Schleife ohne break beenden?
Indem man eine Flag-Variable in die Schleifenbedingung integriert und sie bei Bedarf verändert.
Was ist der Vorteil einer Flag-Variable gegenüber break?
Der Code wird übersichtlicher, da die Bedingungen für den Abbruch direkt im Schleifenkopf sichtbar sind.
Was bewirkt die Anweisung continue in einer Schleife?
Sie beendet nur den aktuellen Schleifendurchlauf und springt direkt zur nächsten Überprüfung der Bedingung.
Unterschied break vs. continue?
break: beendet die gesamte Schleife.
continue: überspringt nur den aktuellen Durchlauf.
Worauf muss man bei continue besonders achten?
Die Schleifenvariable muss vor dem continue verändert werden, sonst drohen Endlosschleifen.
Wann sollte man continue besser vermeiden?
Wenn eine einfache if-Abfrage dasselbe Ergebnis erzielen kann – das macht den Code oft übersichtlicher.
if
Können break und continue auch in for-Schleifen verwendet werden?
Ja, aber dann ist der Schleifenablauf schwerer direkt aus dem Schleifenkopf erkennbar. Deshalb sollte man sie sparsam und gut kommentiert einsetzen.
ie kann man ungültige Eingaben (z. B. Buchstaben statt Zahlen) in C++ abfangen?
Mit cin.fail(). Bei Fehlern:
cin.fail()
Eingabestatus mit cin.clear() zurücksetzen,
cin.clear()
Eingabepuffer mit cin.ignore(numeric_limits<streamsize>::max(), '\n') leeren.
cin.ignore(numeric_limits<streamsize>::max(), '\n')
Was ist der Zweck von Kontrollstrukturen in Programmen?
Kontrollstrukturen steuern den Ablauf von Programmen. Sie ermöglichen es, Anweisungen abhängig von Bedingungen auszuführen oder gezielt zu wiederholen, anstatt sie nur in der Reihenfolge auszuführen, in der sie im Quelltext stehen.
Was bedeutet eine einfache if-Verzweigung?
Eine einfache if-Verzweigung („wenn … dann“) führt eine oder mehrere Anweisungen nur aus, wenn eine bestimmte Bedingung erfüllt ist.
Wie sieht ein Beispiel für eine einfache if-Verzweigung im Alltag aus?
Tagesablauf:
Aufstehen
Arbeiten
Nach Hause gehen
WENN die Sonne scheint, DANN joggen
Abendessen kochen Wenn die Sonne nicht scheint, wird das Joggen übersprungen.
Wie werden mehrere Anweisungen innerhalb einer if-Verzweigung zusammengefasst?
Mehrere Anweisungen werden in einem Anweisungsblock mit geschweiften Klammern {} zusammengefasst.
{}
Was darf nicht hinter dem Ausdruck in einer if-Anweisung stehen?
Ein Semikolon (;). Es würde die if-Anweisung von der auszuführenden Anweisung trennen, sodass die Bedingung keine Wirkung hat.
;
Was liefert die Bedingung in einer if-Anweisung zurück?
Die Bedingung liefert entweder true (wahr) oder false (falsch).
Was passiert, wenn man den Operator = anstelle von == in einer if-Bedingung verwendet?
=
==
= ist die Zuweisung und kein Vergleich. Die Bedingung wird möglicherweise immer wahr, da der Variablen ein Wert zugewiesen wird. Das führt zu unerwartetem Verhalten.
Was ist der Unterschied zwischen = und == in einer if-Bedingung?
= weist einer Variablen einen Wert zu.
== überprüft, ob zwei Werte gleich sind.
Wie zeigt man die if-Verzweigung grafisch in Lernmaterialien?
Mit Nassi-Shneiderman-Diagrammen (Struktogrammen).
e: Wie prüft der Compiler semantische Fehler in if-Bedingungen?
Der Compiler prüft hauptsächlich die Syntax, nicht die Semantik. Logische Fehler, wie die Verwechslung von = und ==, werden in der Regel nicht erkannt.
Wozu wird die if … else-Verzweigung verwendet?
if … else
Sie wird genutzt, wenn man für wahre Bedingungen eine Aktion ausführen möchte und für falsche Bedingungen eine andere Aktion. („wenn … dann – sonst“)
Was ist der Unterschied zwischen if und if … else?Antwort:
if: Aktion wird nur bei wahrer Bedingung ausgeführt, sonst passiert nichts.
if … else: Es wird immer eine Aktion ausgeführt – entweder im if-Zweig (wahr) oder im else-Zweig (falsch).
else
Wie kann man eine einfache if … else-Verzweigung in einer Zeile schreiben?
Mit dem ternären Operator ?::Bedingung ? Ausdruck_wahr : Ausdruck_falsch;
?:
Bedingung ? Ausdruck_wahr : Ausdruck_falsch;
Beispiel für den ternären Operator ?:?
Ergebnis: max ist a, wenn a > b wahr ist, sonst b.
max
a
a > b
b
Was ist eine geschachtelte if-Verzweigung?
Eine if-Anweisung innerhalb einer anderen if-Anweisung, um mehrere Bedingungen nacheinander zu prüfen.
Wie funktioniert eine geschachtelte if-Verzweigung?
Zuerst wird äußere Bedingung geprüft.
Ist sie wahr, wird die innere Bedingung geprüft.
Nur wenn beide wahr sind, wird die Anweisung ausgeführt.
ie kann man geschachtelte if-Anweisungen mit logischem UND (&&) ersetzen?Antwort:
&&
if (Bedingung1 && Bedingung2)
Nur ausgeführt, wenn beide Bedingungen wahr sind.
Wie funktioniert eine verschachtelte if … else-Kette?
if (Bedingung1): Anweisung1
if (Bedingung1)
else if (Bedingung2): Anweisung2
else if (Bedingung2)
else: Anweisung3 → Zuerst wird Bedingung1 geprüft, wenn falsch, Bedingung2 usw.
Warum sind Einrückungen bei verschachtelten if … else-Konstruktionen wichtig?
Sie erhöhen die Lesbarkeit und verhindern Missverständnisse, welcher else-Zweig zu welcher if-Anweisung gehört.
Wozu dient die switch … case-Anweisung?
switch … case
Um auf verschiedene Werte einer Variablen gezielt zu reagieren. Sie ist eine Alternative zu vielen if … else if-Verzweigungen.
if … else if
Grundaufbau von switch … case?
switch (Ausdruck) {
case Wert1:
break;
case Wert2:
default:
}
Welche Datentypen sind für den switch-Ausdruck erlaubt?
Ganze Zahlen (int) oder Zeichen (char). Nicht erlaubt: Gleitkommazahlen oder Zeichenketten.
int
char
Welche Funktion hat break in einem case-Zweig?
Beendet die Ausführung des aktuellen case-Zweigs. Ohne break werden alle nachfolgenden case-Anweisungen ebenfalls ausgeführt (Fallthrough).
Was passiert, wenn kein default vorhanden ist?
default
Wird kein case-Zweig zutreffend, passiert nichts. Ein default ist optional, aber empfohlen, um undefinierte Zustände zu vermeiden.
Wie behandelt man Groß- und Kleinbuchstaben in switch … case?
case 'A':
case 'a':
cout << "Aktion";
Können switch … case-Konstruktionen geschachtelt werden?
Ja, z. B. um Hauptfälle in weitere Unterfälle zu untergliedern. Sehr sorgfältig arbeiten, da vergessene breaks schwer zu debuggen sind.
Warum sollte man die Schachtelung von if … else und switch … case begrenzen?
Zu viele Ebenen machen den Code schnell unübersichtlich und schwer wartbar.
Wann sollte man switch … case anstelle von if … else verwenden?
Wenn man Mehrfachauswahlen programmieren möchte und die Werte auf ganze Zahlen oder char reduziert werden können. Für Zeichenketten oder Gleitkommazahlen muss man geschachtelte if … else verwenden.
Welche Rolle spielt break in switch … case-Konstruktionen?
break beendet die Ausführung des aktuellen case-Zweigs. Ohne break würden alle nachfolgenden case-Anweisungen ebenfalls ausgeführt (Fallthrough).
Was passiert, wenn die Konstanten in den case-Zweigen nicht zum Typ des switch-Ausdrucks passen?
Der Compiler findet keine passende case-Marke, und es wird ggf. immer der default-Zweig ausgeführt.Beispiel: Eine Zahl als '1' (Zeichen) passt nicht zu einem int-Ausdruck.
'1'
Warum sollte man bei geschachtelten if … else-Konstruktionen sorgfältig mit Klammern umgehen?
Um den Überblick zu behalten und Fehler zu vermeiden. Der Compiler prüft nur die Syntax, nicht die logische Struktur der Klammern.
Was prüft der Compiler bei Klammern in geschachtelten if … else-Anweisungen?
Nur, ob jede öffnende Klammer { auch eine schließende Klammer } hat. Die logische Zuordnung der Klammern zu if/else wird nicht geprüft.
Worauf muss man bei if … else-Konstruktionen besonders achten?
Darauf, zu welchem if ein else gehört, um die Ausführung richtig zu steuern.
Bedeutung Vergleichsoperatoren ==
Es wird überprüft, ob die beiden Operanden gleich sind
Bedeutung Vergleichsoperator =!
Es wird überprüft, ob die beiden Operanden ungleich sind.
Bedeutung Vergleichsoperator <
Es wird überprüft, ob der linke Operand kleiner ist als der rechte Operand.
Bedeutung Vergleichsoperator >
Es wird überprüft, ob der linke Operand größer ist als der rechte Operand.
Bedeutung Vergleichsoperator < =
Es wird überprüft, ob der linke Operand kleiner oder gleich dem rechten Operanden ist.
Bedeutung Vergleichsoperatoren > =
Es wird überprüft, ob der linke Operand größer oder gleich dem rechten Operanden is
Wichtiger Faktor Vergleichsoperator ==
Der Vergleichsoperator == besteht aus zwei Zeichen. Achten Sie sorgfältig darauf, dass Sie ihn nicht mit dem Zuweisungsoperator = verwechseln. Merken Sie sich daher: Der Vergleichsoperator == besteht aus zwei Zeichen, der Zuweisungsoperator = nur aus einem Zeichen.
Wichtige Regel für die Reihenfolge von Operatoren
Achten Sie bei Ihren Programmen daher immer auf richtige Klammerung von Operatoren.
Bedeutung logischer Operator !
Logische Verneinung (NICHT, NOT)
Logischer Operator &&
Logisches Und (UND, AND)
Bedeutung logischer Operator II
Logisches Oder (ODER, OR)
Wichtige Regel Syntax von logischen Operatoren
Die logischen Operatoren && und || bestehen aus zwei Zeichen und nicht aus einem. Mit den Operatoren & und | führen Sie bitweise Verknüpfungen durch. Damit wollen wir uns hier aber nicht weiter beschäftigen.
Lesbarkeit von Zahlen mit verschiedenen Dateitypen
Bei Zuweisungen zwischen Typen mit unterschiedlicher Genauigkeit ist die Genauigkeit höchstens so groß wie bei der Variablen mit der schlechtesten Genauigkeit, die an der Zuweisung beteiligt ist.
Anweisung zum Einlesen von Eingaben
cin >> eingabe;
Variable zum Ausgeben von Eingelesenen Daten über die Tastatur
Eingabe
Stream Operator zum Einlesen von Texten
Für das Einlesen müssen Sie den Stream-Operator >> verwenden und nicht wie bei der Ausgabe den Operator <<.
Abk cin
steht für console input (übersetzt etwa: „Konsoleneingabe“).
Aufgaben die Datentypen erfüllen
1. Der Compiler reserviert entsprechend Platz im Speicher des Computers. Damit wird automatisch auch der mögliche Wertebereich der Variablen festgelegt.
2. Der Compiler interpretiert die gespeicherten Informationen anhand des Typs. So kann er zum Beispiel unterscheiden, ob es sich bei den Daten um eine ganze Zahl oder eine Zahl mit Nachkommastellen handelt.
Definition binäre Darstellung
Diese Darstellung mit zwei Werten nennt man binäre Darstellung.
Definition Dualsystem
Das dazugehörige Zahlensystem heißt Dualsystem. Es arbeitet mit den beiden Ziffern 0 und 1 und dem Stellenwert 2. Eine Zahl wird durch Potenzen des Stellenwerts 2 dargestellt.
Definition Dezimal System
Das gewohnte Dezimalsystem arbeitet mit ähnlichen Verfahren wie das Dualsystem. Lediglich die verwendeten Ziffern und der Stellenwert unterscheiden sich. Im Dezimalsystem werden die Ziffern 0 bis 9 verwendet. Der Stellenwert ist 10. Die Zahl 365 wird im Dezimalsystem so dargestellt: 3 · 10^2 + 6 · 10^1 + 5 · 10^0 = 3 · 100 + 6 · 10 + 5 · 1
Übergeordnete Datentypen in C++
• ganze Zahlen
• Gleitkommazahlen
• einzelne Zeichen und Zeichenketten
• logische Werte wie wahr und falsch beziehungsweise true oder false.
Bedeutung wenn bei einem Datentyp unsigned ergänzt ist
Keine Vorzeichen (-) möglich
Datentyp für logische Werte
bool
Bedeutung Datentyp auto
Datentyp wird nach der ersten Zuweisung selbst ausgwertet.
Wie lautet das Schlüsselwort zur Vereinbarung einer symbolischen Konstanten?
Das Schlüsselwort heißt const.
Definition Arithmetik
Die Arithmetik ist ein Teilgebiet der Mathematik, das sich mit Zahlen und den für sie geltenden Rechenregeln befasst.
Definition Arithmetische Operationen
Arithmetische Operationen wie die Addition und die Subtraktion werden durch arithmetische Operatoren gekennzeichnet.
Definition Operator
Ein Operator ist ein Zeichen, das eine bestimmte Operation auslöst – zum Beispiel eben eine Rechenoperation.
Beispiele für arithmetische Operatoren
Zu den arithmetischen Operatoren gehören zum Beispiel das Zeichen + für eine Addition und das Zeichen – für eine Subtraktion.
Definition Priorität
Priorität bei Operatoren bezeichnet in der Programmierung die Rangfolge, nach der Operatoren in einem Ausdruck ausgewertet werden. Operatoren mit höherer Priorität werden vor Operatoren mit niedrigerer Priorität ausgeführt, sofern keine Klammern die Reihenfolge explizit ändern.
Drei Regeln der Priorität bei Operatoren
1. Punktrechnung geht vor Strichrechnung. Die Modulo-Operation zählt dabei wie die Multiplikation und die Division zu den Punktrechnungen. Addition und Subtraktion sind Strichrechnungen.
2. Bei gleicher Priorität werden die Operatoren in der Regel von links nach rechts abgearbeitet. Wenn also Addition und Subtraktion (zwei Strichrechnungen) direkt aufeinander folgen, wird zuerst addiert und dann subtrahiert. Ausnahmen von dieser Regel sind in der vorigen Tabelle aufgeführt.
3. Durch Klammern können Sie die Reihenfolge der Auswertung verändern. Dazu sehen wir uns gleich ein Beispiel an.
Definition Variable
In C++ ist eine Variable ein benannter Speicherbereich, der einen bestimmten Wert eines festgelegten Datentyps aufnehmen kann. Über den Variablennamen kann während der Programmausführung auf diesen Wert zugegriffen, er geändert oder weiterverarbeitet werden. Jede Variable muss vor ihrer Verwendung deklariert werden, wobei Typ und Name angegeben werden.
Bedeutung Interger
positive oder negative ganze Zahl
Wichtiger Faktor Vereinbarung einer Variabel
Die Vereinbarung einer Variablen kann an nahezu beliebiger Stelle im Quelltext erfolgen. Sie müssen lediglich darauf achten, dass Sie die Variable vor dem ersten eigentlichen Gebrauch vereinbaren.
Durch den Compiler vorgegebene Zahlenkonventionen bei Bezeichnern
1. Schlüsselwörter dürfen nicht einzeln als Bezeichner verwendet werden. Bei den Schlüsselwörtern handelt es sich um reservierte Wörter, die vom Compiler selbst verwendet werden – zum Beispiel main oder int. Eine Variable können Sie also nicht int nennen. Sie können allerdings Schlüsselwörter als Teil eines Bezeichners verwenden. Der Bezeichner intVar wäre dann zum Beispiel erlaubt.
2. Das erste Zeichen eines Bezeichners muss entweder ein Unterstrich _ oder ein Buchstabe sein. Alle anderen Zeichen und auch Zahlen sind als erstes Zeichen nicht erlaubt und führen zu einer Fehlermeldung des Compilers.
3. Die weiteren Zeichen des Namens müssen Buchstaben, Zahlen oder Unterstriche sein. Die deutschen Umlaute sowie das ß dürfen Sie dabei aber nicht verwenden. Zeichen wie . oder / dürfen Sie in einem Bezeichner ebenfalls nicht verwenden.
4. C++ unterscheidet bei den Bezeichnern zwischen Groß- und Kleinschreibung. Die Bezeichner Zahl und zahl stehen also für zwei unterschiedliche Datenobjekte
Richtlinien für Bezeichner durch Stilmittel
1. Verwenden Sie sprechende Bezeichner, die bereits erste Hinweise auf den Zweck der Variablen geben. So sind Namen wie a, b oder c nicht sonderlich geeignet, weil sie keinen Hinweis auf den Zweck der Variablen geben. Besser wären zum Beispiel summe, rest oder ergebnis.
2. Wählen Sie kurze prägnante Namen. Zwar ist die Länge der Bezeichner in C++ nicht beschränkt, aber lange komplizierte Namen führen schnell zu Fehlern und machen den Quelltext auch schwer lesbar. Denken Sie daran: Sie müssen immer den vollständigen Namen der Variablen eingeben, wenn Sie mit der Variablen arbeiten wollen. Zu kurz sollten Sie den Namen aber auch nicht wählen, da er andernfalls nicht mehr verständlich ist.
3. Wenn Sie zusammengesetzte Namen verwenden, beginnen Sie jeden Bestandteil des Namens mit einem Großbuchstaben. So lässt sich ergebnisAddition sehr viel leichter lesen als ergebnisaddition oder auch ergebnis_addition. Der erste Buchstabe eines Bezeichners sollte grundsätzlich klein geschrieben werden.
Definition Inkrementoperator
Erhöht den einggebenen Wert um 1
Definition Dekrementoperator
Verringert die eingegebene Zahl um 1
Zeichen Inkrementoperatoren
++
Zeichen Dekrement operatoren
--
Definiton sympbolische Konstanten
Neben den Variablen können Sie in einem C++-Programm auch symbolische Konstanten verwenden. Diese Konstanten erhalten einmal einen festen Wert, der danach nicht mehr verändert werden kann.
Indikation für den Einsatz von symbolischen Konstanten
Symbolische Konstanten sollten Sie immer dann verwenden, wenn Sie in Ihrem Programm mehrfach einen unveränderlichen Wert verwenden – zum Beispiel einen Schlüssel für die Berechnung der Mehrwertsteuer oder mathematische Werte wie die Zahl π (Pi). Da der Wert der Konstanten einmal festgelegt wird, können Sie – wenn erforderlich – später genau an dieser einen Stelle den Wert verändern – zum Beispiel bei Erhöhungen der Mehrwertsteuer.
Wie wird der Operator bei einer Zuweisung genannt, mit dem Sie einer Variablen einen Wert zuweisen? Wie wird dieser Operator geschrieben?
Der Operator heißt Zuweisungsoperator und wird mit dem Zeichen = dargestellt.
Funktion using namespace std;
vereinbart einen Namensraum – Hier std
Befehl cout
t steht für console output (übersetzt etwa: „Konsolenausgabe“).
Befehl std
steht als Abkürzung für Standard
Befehl für einen Zeilenumbruch
/n
Begrenzung von Zeichenketten
Zeichenketten werden mit Anführungszeichen eingeschlossen.
Darstellung einzelne Zeichen
Einzelne Zeichen werden mit Apostrophen eingeschlossen.
Definition Escape-Rückzeichen
Escape-Sequenzen sind spezielle Steuerzeichen. Sie werden durch den Backslash \ eingeleitet
Formen der Escape-Sequenzen
\n
\t
\b
\r
\a
Bedeutung Escapezeichen \t
Die Einfügemarke wird an den nächsten horizontalen Tabulator gesetzt. Sie bewegt sich damit nach rechts
Bedeutung Escapesequenz \b
Die Einfügemarke wird ein Zeichen nach links bewegt.
Bedeutung Escape-Sequenz \r
Die Einfügemarke wird nur an den Beginn der aktuellen Zeile gesetzt. Es erfolgt kein Zeilenumbruch.
Bedeutung Escape-Sequenz \a
Es wird ein Signalton ausgegeben
Art, wie der Anweisungsteil abgegrenzt ist
Mit zwei geschweiften Klammern
Funktion Das Kommentarzeichen //
Alles, was in der Zeile rechts von dem Kommentarzeichen steht, wird vom Compiler als Kommentar betrachtet und ignoriert. Das Kommentarzeichen // wird häufig eingesetzt, um einzelne Anweisungen zu kommentieren oder um einzelne Anweisungen zur Fehlersuche in einem Programm abzuschalten. Man spricht in diesem Fall auch von „auskommentieren“.
Funktion Kommentarzeichen Die Kommentarzeichen /* und */
Mit den Kommentarzeichen /* und */ können Sie ganze Blöcke im Quelltext als Kommentar markieren. Die Zeichen /* markieren dabei den Beginn eines Kommentars und die Zeichen */ das Ende des Kommentars. Alles, was zwischen diesen Zeichen steht, wird vom Compiler als Kommentar betrachtet. Diese Methode wird benutzt, um größere Kommentare zu erstellen oder bei der Fehlersuche in Programmen große Blöcke abzuschalten.
Welche Funktion muss in jedem C++-Konsolenprogramm enthalten sein? Warum?
In jedem C++-Konsolenprogramm muss die Funktion main() enthalten sein. Sie bildet den Startpunkt für die Ausführung des Programms.
Mit welchen Zeichen wird der Anweisungsteil einer Funktion eingeschlossen? Mit welchem Zeichen werden einzelnen Anweisungen im Anweisungsteil voneinander getrennt?
Der Anweisungsteil muss durch { und } umfasst werden. Die einzelnen Anweisungen werden durch ; getrennt.
Wie können Sie Kommentare in ein C++-Programm einfügen? Nennen Sie bitte beide Möglichkeiten.
Es gibt zwei Möglichkeiten: // um einen Kommentar in einer Zeile einzufügen und /* */ um einen Kommentarblock einzufügen.
Bedeutung Syntax im Quelltext
Die Syntax bezeichnet die Regeln, die durch die Programmiersprache vorgegeben werden.
Bedeutung Semantik im Quelltext
Die Semantik dagegen bezeichnet die Bedeutung eines Textes – bei einem Quelltext also das, was das Programm ausführen soll: die Funktionalität.
Formen von Meldungen im QT Creator
• Hinweise
• Warnungen
• Fehler.
Definition Hinweise im QT Creator
Hinweise sind nicht kritisch. Hier finden Sie vor allem zusätzliche Informationen. Das Programm wird trotz der Hinweismeldungen übersetzt und auch ausgeführt.
Definition Warnungen im QT Creator
Warnungen weisen Sie auf Stellen hin, die möglicherweise zu Schwierigkeiten führen können. Eine Warnung kann zum Beispiel erscheinen, wenn Sie etwas im Quelltext vereinbaren, aber nie benutzen. Genau wie bei den Hinweisen führen auch Warnungen nicht zum Abbruch der Übersetzung.
Definition Fehler im QT Creator
Die dritte Kategorie schließlich sind die Fehler. Wenn Sie beim Schreiben eines Programms zum Beispiel ein Zeichen in einem Befehl vergessen oder eine Anweisung verwenden, die der Compiler nicht kennt, wird die Übersetzung abgebrochen. Schauen wir uns jetzt genauer an, wie der Qt Creator Fehler meldet und wie Sie diese Fehler beheben. Dazu verwenden wir den Quelltext, der automatisch für ein neues C++- Projekt anlegt wird.
Was ist ein Konsolenprogramm?
Ein Konsolenprogramm ist ein Programm, das in der Eingabeaufforderung oder einem Terminal ausgeführt wird.
Wie erstellen Sie ein neues Projekt für ein Konsolenprogramm? Nennen Sie die nötigen Befehle und Auswahlen.
Ein neues Projekt für ein Konsolenprogramm starten Sie über Datei/Neu… Im ersten Schritt wählen Sie im linken Listenfeld den Eintrag Projekt ohne Qt im Bereich Projekte, und klicken Sie danach im mittleren Listenfeld auf den Eintrag Reine C++-Anwendung. Klicken Sie dann auf die Schaltfläche Auswählen… unten rechts im Fenster. Im folgenden Fenster geben Sie einen Namen für das Projekt ein und wählen einen Ordner aus. Die weiteren Einstellungen können Sie in der Regel unverändert übernehmen.
Wie werden Zeichenketten zwischen Anführungszeichen in der Standardeinstellung im Editor dargestellt?
Zeichenketten zwischen Anführungszeichen werden in der Standardeinstellung in grüner Schrift angezeigt
Im Quelltext wird einer Zeile mit einer roten Linie markiert. Wofür steht diese Markierung?
Eine rote Linie markiert einen Fehler im Quelltext.
Definition ANSI
ANSI (American National Standards Institute) ist eine amerikanische Gruppe von Ausschüssen zur Standardisierung in unterschiedlichsten Bereichen. Für den Bereich Computer, Datenverarbeitung und Informationstechnologie ist der Ausschuss ANSI-X3 zuständig (früher auch als USASI – United States of America Standards Institute bekannt). Eine ANSI-Norm ist vergleichbar mit einer DINVorschrift.
Definition Assembler
Ein Assembler ist eine Programmiersprache, die auf einer sehr niedrigen Ebene arbeitet. Die Programmierung erfolgt über Mnemonics.
Definition Binäres System
Ein binäres System ist ein System, das genau zwei Zustände abbilden kann.
Definition C
Die Programmiersprache C ist ein wichtiger Vorläufer der Programmiersprache C++.
Definition Compiler
Ein Compiler setzt einen Quelltext in ein ausführbares Programm um. Die gesamte Übersetzung erfolgt vor der Ausführung.
Definition Editor
Ein Editor ist ein Programm zum Erfassen und Bearbeiten von Informationen.
Definition Gigabyte
Ein Gigabyte entspricht 1024 Megabytes. Häufig wird auf 1000 Megabytes gerundet.
Definition Hochsprache
Eine Hochsprache ist eine Programmiersprache, die sich zum Teil eng an der menschlichen Sprache orientiert. Viele Hochsprachen unterstützen auch Konstruktionen wie Schleifen und die objektorientierte Programmierung.
Abkürzung IDE
IDE ist die Abkürzung für Integrated Development Environment.
Definition IDE
ntegrated Development Environment ist der englische Begriff für Integrierte Entwicklungsumgebung.
Definition Integrierte Entwicklungsumgebung
Eine integrierte Entwicklungsumgebung fasst mehrere Werkzeuge zur Programmierung unter einer Oberfläche zusammen – zum Beispiel den Editor, den Compiler und den Linker.
Definition Interpreter
Ein Interpreter setzt einen Quelltext in ein ausführbares Programm um. Die Umsetzung erfolgt zur Laufzeit des Programms.
Definition ISO
ISO (International Organization for Standardization) ist eine internationale Organisation, die international gültige Standards aufstellt. Zu den Mitgliedern der ISO gehören zum Beispiel ANSI und das Deutsche Institut für Normung DIN.
Definition Kilobyte
Ein Kilobyte entspricht 1024 Bytes. Häufig wird auf 1000 Bytes gerundet.
Definition Linker
Ein Linker fasst mehrere Dateien zu einer einzigen Datei zusammen
Definition main()
main() ist die Hauptfunktion eines C++-Programms.
Definition Megabyte
Ein Megabyte entspricht 1024 Kilobytes. Häufig wird auf 1000 Kilobytes gerundet.
Defintion Mnemonic
Ein Mnemonic ist ein Befehl eines Assemblers – zum Beispiel MOV.
Definition objektorientierte Programmierung
Bei der objektorientierten Programmierung werden Daten- und Verhaltensaspekte gemeinsam betrachtet. Das wesentliche Element der objektorientierten Programmierung ist das Objekt.
Definition Projekt
Ein Projekt in Qt Creator fasst alle Elemente einer Anwendung zusammen. Es gibt verschiedene Arten von Projekten – zum Beispiel Projekte für Konsolenprogramme und Projekte für Qt-Widgets-Anwendungen. Normalerweise besteht ein Projekt aus zahlreichen einzelnen Dateien. Die Projektdatei selbst trägt die Erweiterung .pro.
Definition QT Designer
Der Qt Designer ist ein Werkzeug zum schnellen Erstellen von grafischen Oberflächen.
Definition QT-Klassenbibliothek
Die Qt-Klassenbibliothek ist eine Sammlung mit vorgefertigten Klassen für die unterschiedlichsten Einsatzgebiete. Sie enthält mehrere hundert verschiedene Klassen.
Definition Quelltext
Der Quelltext sind die Anweisungen eines Programms, so wie sie im Editor eingegeben werden.
Definition Reservierte Wörter
Reservierte Wörter sind Zeichenketten, die intern vom Compiler verwendet werden. Solche Zeichenketten dürfen Sie nicht selbst benutzen. Reservierte Wörter sind zum Beispiel main oder void.
Definition Zeichenkette
Eine Zeichenkette ist eine beliebige Folge von Zeichen – zum Beispiel ein Wort.
Definition IDE (Integrated Development Enviroment)
Entwicklungswerkzeuge, die mehrere unterschiedliche Programme unter einer Oberfläche zusammenfassen, werden auch integrierte Entwicklungsumgebung oder IDE genannt. Die Abkürzung IDE leitet sich von der englischen Bezeichnung Integrated Development Environment ab.
Integrated Development Environment
Nennen Sie mindestens vier wichtige Programme, die der Qt Creator anbietet.
Der Qt Creator ist eine integrierte Entwicklungsumgebung (IDE), die speziell für die plattformübergreifende Entwicklung mit dem Qt-Framework entwickelt wurde. Hier sind vier wichtige Programme bzw. Funktionen, die Qt Creator anbietet:
Code-Editor Qt Creator bietet einen leistungsstarken Editor mit Syntaxhervorhebung, Codevervollständigung, Refactoring-Tools und Unterstützung für mehrere Programmiersprachen wie C++, QML und JavaScript.
Formular-Designer (Qt Designer) Mit diesem visuellen Tool können Benutzer grafische Benutzeroberflächen (GUIs) per Drag-and-Drop erstellen, ohne manuell C++-Code für das Layout schreiben zu müssen.
Debugger Integrierter Debugger für C++ und QML, der das Setzen von Breakpoints, Überwachen von Variablen und Schritt-für-Schritt-Ausführen von Code ermöglicht – mit Unterstützung für GDB und LLDB.
Projekt- und Build-Management Qt Creator unterstützt verschiedene Build-Systeme wie qmake, CMake und sogar externe Tools. Es verwaltet Projekte effizient und erleichtert das Kompilieren, Verlinken und Deployen.
Mit welcher Funktion können Sie im Index der Hilfedokumente von Qt Creator suchen?
Sie öffnen das Hilfe-Fenster und können dort über die Registerkarte „Index“ gezielt nach Stichwörtern suchen.
Alternativ nutzen Sie das Suchfeld oben rechts im Hilfe-Fenster, um eine Volltextsuche durchzuführen.
Strg + Umschalt + H (öffnet das Hilfe-Modul direkt)
F1 (zeigt kontextsensitive Hilfe zur aktuellen Auswahl oder Funktion)
Nennen Sie zwei Möglichkeiten, die Hilfe zu Qt Creator anzuzeigen
Hier sind zwei Möglichkeiten, wie Sie die Hilfe zu Qt Creator anzeigen können:
✅ Kontextsensitive Hilfe mit F1
Wenn Sie den Cursor auf ein Qt-Schlüsselwort (z. B. QPushButton) setzen und F1 drücken, öffnet sich die passende Dokumentation im Hilfe-Fenster.
QPushButton
Diese Methode zeigt gezielt Hilfe zur aktuell markierten Klasse oder Funktion.
✅ Hilfe-Fenster über das Menü öffnen
Gehen Sie zu „Help“ → „Contents“ oder „Help“ → „Index“ im Hauptmenü.
Dadurch öffnet sich das Hilfe-Modul, in dem Sie die komplette Qt-Dokumentation durchsuchen können (Inhalt, Index, Suche).
Was ist Qt im Allgemeinen?
Qt ist ein Framework, das zahlreiche fertige Objekte für die Entwicklung von Programmen, insbesondere grafischer Oberflächen, bereitstellt.
: Welche grafischen Elemente stellt Qt zur Verfügung?
Qt bietet u.a. Schaltflächen, Eingabefelder und Dialogfenster als Steuerelemente für grafische Oberflächen.
Was ist der Qt Creator?
Qt Creator ist eine integrierte Entwicklungsumgebung (IDE), die verschiedene Programme für die Entwicklung von C++-Programmen unter einer Oberfläche vereint.
Welche Komponenten enthält der Qt Creator?
Texteditor zum Schreiben von Quellcode
Compiler zum Übersetzen des Codes
Linker zum Zusammenfügen von Dateien
GUI-Designer
Weitere Hilfsprogramme
Welche Betriebssysteme unterstützt Qt?
Qt ist plattformübergreifend und unterstützt verschiedene Betriebssysteme sowie verschiedene Compiler und GUI-Werkzeuge.
Welche Werkzeuge werden im Lehrgang verwendet?
t Creator zur GUI-Erstellung und MinGW als Übersetzungswerkzeug.
Was ist eine IDE?
Eine integrierte Entwicklungsumgebung (IDE) ist ein Softwarepaket, das verschiedene Entwicklungswerkzeuge unter einer Oberfläche vereint.
Welche Lizenzmodelle bietet Qt?
Open-Source-Lizenz für privaten Einsatz
Kommerzielle Lizenz für gewerblichen Einsatz
: Wo findet man weitere Informationen zu Qt und den Lizenzmodellen?
: Auf der offiziellen Webseite: https://www.qt.io
Warum ist die direkte Programmierung in Einsen und Nullen problematisch?
Weil sie sehr zeitaufwendig und fehleranfällig ist, da kein direkt nachvollziehbarer Zusammenhang zwischen Aktion und Code besteht.
Was ist ein Assembler und welche Vorteile bietet er?
Ein Assembler erlaubt die Programmierung mit Mnemonics statt Binärcode, was das Schreiben von Programmen verständlicher macht.
Was ist ein Nachteil von Assembler-Programmen?
Sie müssen vor der Ausführung in Maschinensprache übersetzt werden.
Nenne Beispiele für höhere Programmiersprachen.
asic, Pascal, C, C++, COBOL.
Welche zusätzlichen Strukturen bieten höhere Programmiersprachen?
Schleifen, Funktionen, Objekte usw.
Was ist ein Compiler?
Ein Programm, das den Quelltext vollständig in Maschinensprache übersetzt, bevor das Programm ausgeführt wird.
Was ist ein Linker?
Ein Programm, das mehrere Dateien zu einem ausführbaren Programm zusammenfügt.
Was ist ein Interpreter?
Ein Programm, das Quelltext Anweisung für Anweisung während der Laufzeit ausführt.
Welche Sprachen arbeiten typischerweise mit einem Interpreter?
: Ältere BASIC-Versionen und JavaScript.
Wer entwickelte C++ und wann?
Bjarne Stroustrup, 1980 bei den AT&T Bell Laboratories.
Wie hieß C++ ursprünglich?
C mit Klassen
Wann wurde der Name „C++“ eingeführt?
1983
Wann erschien das Buch „The C++ Programming Language“?
1986
Warum war die Standardisierung von C++ notwendig?
Weil es viele inkompatible Dialekte gab, die nicht mit jedem Compiler funktionierten.
Welche Organisation begann 1990 mit der Standardisierung von C++?
ANSI (American National Standards Institute).
Wann wurde der ISO C++-Standard erstmals veröffentlicht?
1998
Was ist der Zweck des ISO-Standards für C++?
: Sicherzustellen, dass C++-Programme mit verschiedenen Compilern übersetzt werden können.
Was bedeutet „Compiler“ wörtlich übersetzt?
Zusammentragen
Was bedeutet „Linker“ wörtlich übersetzt?
Verbinder
Welche Programmiersprache war der wichtigste Vorläufer von C++?
C
: Was erweitert C++ im Vergleich zu C?
Klassen und objektorientierte Programmierung.
Welche Organisationen sind an der Standardisierung von C++ beteiligt?
ANSI (USA) und ISO (international).
Last changedan hour ago