C++ Konstanten/Literale
Konstanten beziehen sich auf feste Werte, die das Programm nicht ändern darf, und werden als Literale bezeichnet .
Konstanten können von jedem der grundlegenden Datentypen sein und können in ganze Zahlen, Fließkommazahlen, Zeichen, Zeichenfolgen und boolesche Werte unterteilt werden.
Auch hier werden Konstanten wie reguläre Variablen behandelt, außer dass ihre Werte nach ihrer Definition nicht geändert werden können.
Integer-Literale
Ein Integer-Literal kann eine Dezimal-, Oktal- oder Hexadezimalkonstante sein. Ein Präfix gibt die Basis oder Basis an:0x oder 0X für hexadezimal, 0 für oktal und nichts für dezimal.
Ein Integer-Literal kann auch ein Suffix haben, das eine Kombination aus U und L für unsigned bzw. long ist. Das Suffix kann in Groß- oder Kleinbuchstaben und in beliebiger Reihenfolge angegeben werden.
Hier sind einige Beispiele für Integer-Literale −
212 // Legal 215u // Legal 0xFeeL // Legal 078 // Illegal: 8 is not an octal digit 032UU // Illegal: cannot repeat a suffix
Es folgen weitere Beispiele für verschiedene Typen von Integer-Literalen −
85 // decimal 0213 // octal 0x4b // hexadecimal 30 // int 30u // unsigned int 30l // long 30ul // unsigned long
Gleitkommaliterale
Ein Gleitkommaliteral hat einen ganzzahligen Teil, einen Dezimalpunkt, einen Bruchteil und einen Exponententeil. Sie können Gleitkommaliterale entweder in dezimaler Form oder in exponentieller Form darstellen.
Bei der Darstellung in Dezimalform müssen Sie den Dezimalpunkt, den Exponenten oder beides einbeziehen, und bei der Darstellung in Exponentialform müssen Sie den ganzzahligen Teil, den Bruchteil oder beide einbeziehen. Der vorzeichenbehaftete Exponent wird mit e oder E eingeleitet.
Hier sind einige Beispiele für Fließkommaliterale −
3.14159 // Legal 314159E-5L // Legal 510E // Illegal: incomplete exponent 210f // Illegal: no decimal or exponent .e55 // Illegal: missing integer or fraction
Boolesche Literale
Es gibt zwei boolesche Literale und sie sind Teil der Standard-C++-Schlüsselwörter −
-
Ein Wert von true was wahr darstellt.
-
Ein Wert von false repräsentiert falsch.
Sie sollten den Wert von true nicht gleich 1 und den Wert von false gleich 0 betrachten.
Zeichenliterale
Zeichenliterale werden in einfache Anführungszeichen eingeschlossen. Wenn das Literal mit L beginnt (nur Großbuchstaben), ist es ein Breitzeichenliteral (z. B. L'x') und sollte in wchar_t gespeichert werden Art der Variablen. Andernfalls ist es ein schmales Zeichenliteral (z. B. 'x') und kann in einer einfachen Variablen von char gespeichert werden Typ.
Ein Zeichenliteral kann ein einfaches Zeichen (z. B. 'x'), eine Escape-Sequenz (z. B. '\t') oder ein universelles Zeichen (z. B. '\u02C0') sein.
Es gibt bestimmte Zeichen in C++, denen ein umgekehrter Schrägstrich vorangestellt ist, die eine besondere Bedeutung haben und zur Darstellung von Zeilenumbrüchen (\n) oder Tabulatoren (\t) verwendet werden. Hier haben Sie eine Liste einiger solcher Escape-Sequenzcodes −
Escape-Sequenz | Bedeutung |
---|---|
\\ | \ Zeichen |
\' | ' Zeichen |
\" | " Zeichen |
\? | ? Charakter |
\a | Alarm oder Glocke |
\b | Rücktaste |
\f | Formular-Feed |
\n | Neue Zeile |
\r | Wagenrücklauf |
\t | Horizontaler Reiter |
\v | Vertikaler Tab |
\ooo | Ein- bis dreistellige Oktalzahl |
\xhh . . . | Hexadezimalzahl mit einer oder mehreren Ziffern |
Das folgende Beispiel zeigt einige Escape-Sequenzzeichen −
Live-Demo#include <iostream> using namespace std; int main() { cout << "Hello\tWorld\n\n"; return 0; }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −
Hello World
String-Literale
Zeichenfolgenliterale werden in doppelte Anführungszeichen eingeschlossen. Ein String enthält Zeichen, die Zeichenliteralen ähneln:einfache Zeichen, Escape-Sequenzen und universelle Zeichen.
Sie können eine lange Zeile mit Zeichenfolgenliteralen in mehrere Zeilen aufteilen und diese mit Leerzeichen trennen.
Hier sind einige Beispiele für Zeichenfolgenliterale. Alle drei Formen sind identische Zeichenketten.
"hello, dear" "hello, \ dear" "hello, " "d" "ear"
Konstanten definieren
Es gibt zwei einfache Möglichkeiten in C++, Konstanten zu definieren −
-
Mit #define Präprozessor.
-
Verwendung von const Schlüsselwort.
Der #define Präprozessor
Es folgt das Formular zur Verwendung des #define-Präprozessors zum Definieren einer Konstante −
#define identifier value
Das folgende Beispiel erklärt es im Detail −
Live-Demo#include <iostream> using namespace std; #define LENGTH 10 #define WIDTH 5 #define NEWLINE '\n' int main() { int area; area = LENGTH * WIDTH; cout << area; cout << NEWLINE; return 0; }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −
50
Das Schlüsselwort const
Sie können const verwenden Präfix, um Konstanten mit einem bestimmten Typ wie folgt zu deklarieren −
const type variable = value;
Das folgende Beispiel erklärt es im Detail −
Live-Demo#include <iostream> using namespace std; int main() { const int LENGTH = 10; const int WIDTH = 5; const char NEWLINE = '\n'; int area; area = LENGTH * WIDTH; cout << area; cout << NEWLINE; return 0; }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −
50
Beachten Sie, dass es eine gute Programmierpraxis ist, Konstanten in GROSSBUCHSTABEN zu definieren.
C Sprache