C++ Konstanten/Literale

Hallo da, zukünftige Programmierer! Heute machen wir uns auf eine aufregende Reise in die Welt der C++-Konstanten und -Literale. Keine Sorge, wenn diese Begriffe etwas einschüchternd klingen – bis zum Ende dieser Lektion wirst du sie wie ein Profi verwenden können! Lass uns eintauchen!

C++ Constants/Literals

Was sind Konstanten und Literale?

Bevor wir uns den Details zuwenden, lassen Sie uns verstehen, was Konstanten und Literale sind. Denke daran, dass sie die "unveränderlichen" Elemente in deinem Code sind – wie die Anzahl der Tage in einer Woche oder der Wert von Pi. Sie sind die zuverlässigen Freunde, die immer gleich bleiben, egal was in deinem Programm vor sich geht.

Ganzzahl-Literale

Lassen wir mit etwas Vertrautem beginnen – Zahlen! In C++, wenn wir eine ganze Zahl direkt in unseren Code schreiben, nennen wir sie ein ganzzahl-Literal. Es ist wie das Schreiben einer Zahl auf ein Blatt Papier – einfach und unkompliziert.

int meinAlter = 25;
int anzahlPlaneten = 8;
int negativesZahl = -10;

In diesen Beispielen sind 25, 8 und -10 ganzzahl-Literale. Sie sind einfach dort, als Zahlen, ohne Dezimalpunkte oder aufwendige Dinge.

Aber warten, es gibt mehr! C++ ermöglicht es uns, ganzzahl-Literale in verschiedenen Zahlensystemen zu schreiben:

int dezimalZahl = 42;     // Dezimal (Basis 10)
int oktalZahl = 052;      // Oktal (Basis 8) - beginnt mit 0
int hexadezimalZahl = 0x2A;       // Hexadezimal (Basis 16) - beginnt mit 0x
int binärZahl = 0b101010;// Binär (Basis 2) - beginnt mit 0b (ab C++14)

Mach dir keine Sorgen, wenn Oktal, Hexadezimal oder Binär verwirrend erscheinen. Für jetzt, weiß nur, dass sie verschiedene Wege sind, dieselbe Zahl darzustellen. Es ist wie das Sprechen verschiedener Sprachen – "vierundzwanzig", "cuarenta y dos" und "vingt-deux" bedeuten alle dasselbe!

Fließkommaliterale

Nun fügen wir einige Dezimalpunkte hinzu! Fließkommaliterale sind Zahlen mit Dezimalpunkten oder in wissenschaftlicher Schreibweise.

float pi = 3.14159f;
double avogadroZahl = 6.022e23;
long double sehrPräziseZahl = 1.23456789L;

Hier ist 3.14159f ein Fließkommaliteral (beachte das 'f' am Ende), 6.022e23 ein Double-Literal in wissenschaftlicher Schreibweise (e23 bedeutet ×10^23) und 1.23456789L ein Long-Double-Literal (beachte das 'L' am Ende).

Boolesche Literale

Boolesche Literale sind die einfachsten von allen – es gibt nur zwei!

bool istToll = true;
bool istLangweilig = false;

Das ist alles! Nur true und false. Sie sind wie das "ja" und "nein" der Programmierung.

Zeichnenliterale

Zeichnenliterale darstellen ein einzelnes Zeichen und sind in einfache Anführungszeichen eingeschlossen.

char ersteInitial = 'J';
char zeilenumbruch = '\n';
char tabulator = '\t';

Die letzten beiden Beispiele zeigen spezielle Zeichen: '\n' für einen Zeilenumbruch und '\t' für einen Tabulator. Diese werden Escape-Sequenzen genannt.

Zeichenkettenliterale

Zeichenkettenliterale sind Sequenzen von Zeichen, die in doppelte Anführungszeichen eingeschlossen sind.

std::string begrüßung = "Hallo, Welt!";
std::string zitat = "To be, or not to be, that is the question.";

Denke daran, dass Zeichenketten doppelte Anführungszeichen verwenden, während einzelne Zeichen einfache Anführungszeichen verwenden!

Definition von Konstanten

Nun, da wir über Literale Bescheid wissen, sehen wir, wie wir sie verwenden können, um Konstanten zu erstellen – Werte, die während unseres gesamten Programms nicht geändert werden.

Die #define-Präprozessoranweisung

Eine Möglichkeit, Konstanten zu definieren, ist die Verwendung der #define-Präprozessoranweisung:

#define PI 3.14159
#define MAX_STUDENTEN 30

// Verwendung
double kreisFläche = PI * radius * radius;
if (anzahlStudenten > MAX_STUDENTEN) {
std::cout << "Klasse ist voll!";
}

Die #define-Anweisung weist den Compiler an, jede occurrence von PI durch 3.14159 und MAX_STUDENTEN durch 30 zu ersetzen, bevor der Code kompiliert wird.

Das const-Schlüsselwort

Eine modernere und bevorzugte Methode zur Definition von Konstanten ist die Verwendung des const-Schlüsselworts:

const double PI = 3.14159;
const int MAX_STUDENTEN = 30;

// Verwendung ist dieselbe wie mit #define

Das const-Schlüsselwort weist den Compiler an, dass diese Variablen nach der Initialisierung nicht mehr geändert werden können.

Alles zusammenbringen

Lassen Sie uns mit einem kleinen Programm abschließen, das verschiedene Konstanten und Literale verwendet:

#include <iostream>
#include <string>

#define SPIEL_NAME "C++ Abenteuer"

int main() {
const int MAX_STufe = 100;
const double EP_VERMehrer = 1.5;

int aktuelleStufe = 1;
double aktuelleEP = 0.0;
bool hatTutorialAbgeschlossen = false;
char spielerRang = 'D';
std::string spielerName = "Newbie";

std::cout << "Willkommen zu " << SPIEL_NAME << "!" << std::endl;
std::cout << "Spieler: " << spielerName << std::endl;
std::cout << "Stufe: " << aktuelleStufe << "/" << MAX_STufe << std::endl;
std::cout << "EP: " << aktuelleEP << std::endl;
std::cout << "Rang: " << spielerRang << std::endl;
std::cout << "Tutorial abgeschlossen: " << (hatTutorialAbgeschlossen ? "Ja" : "Nein") << std::endl;

return 0;
}

Dieses Programm verwendet alle Arten von Konstanten und Literalen, die wir besprochen haben. Es definiert einen Spielnamen mit #define, setzt eine maximale Stufe und EP-Vermehrer mit const und verwendet verschiedene Literale, um die Spielerstatistiken zu initialisieren.

Fazit

Glückwunsch! Du hast die ersten Schritte in die Welt der C++-Konstanten und -Literale gemacht. Denke daran, diese sind die Bausteine deiner Programme – die unveränderlichen Werte, die du verwenden wirst, um großartige Dinge zu schaffen. Während du deine Programmierreise fortsetzt, wirst du diese Konzepte jeden Tag verwenden. Weiter üben, neugierig bleiben und viel Spaß beim Programmieren!

Credits: Image by storyset