Grundlagen Flashcards
Bezeichner
Den Begriff Bezeichner verwendet man für Namen von Objekten im Programm. Objekte sind z.B. Variablen, Konstanten und Funktionen.
Mit dem Bezeichner kann man dann auf diese Objekte zugreifen.
Regeln für Bezeichner
- Bezeichner bestehen aus Buchstaben Ziffern und Unterstrichen
- Das erste Zeichen muss ein Buchstabe oder ein Unterstrich sein
- Bezeichner sollten nicht mit einem Unterstrich beginnen, da solche Bezeichner gewöhnlich für das System reserviert sind. Dies ist aber eher eine Frage des Stils als eine Regel.
- Es wird zwischen Groß- und Kleinbuchstaben unterschieden.
- Schlüsselwörter von C dürfen nicht als Bezeichner verwendet werden und sind auch nicht überschreibbar.
Schlüsselwörter
Schlüsselwörter sind Bezeichner mit einer vorgegebenen Bedeutung in C. Sie dürfen nicht anderweitig verwendet werden und können auch nicht durch ein Programm überschrieben werden.
Wie werden Schlüsselwörter auch oft gennant?
Tokens
Literale
Als Literale werden Zahlen, Zeichenketten und Wahrheitswerte im Quelltext bezeichnet, die nach einem bestimmten Muster aufgebaut sein müssen.
Literale - Ganzzahlen als Dezimalzahlen
Eine Dezimalzahl besteht aus einer beliebig langen Ziffernreihe aus den Zeichen 0 - 9. Die erste Ziffer darf keine 0 sein.
In welchen Zahlenformaten kann man ganzzahlige Literale darstellen?
- Dezimalzahl
- Oktalzahl
- Hexadezimalzahl
Literale - Ganzzahlen als Oktalzahlen
Eine Oktalzahl beginnt immer mit einer 0, gefolgt von einer Reihe von Oktalzahlen (0 - 7).
Literale - Ganzzahlen als Hexadezimalzahlen
Eine Hexadezimalzahl begint mit 0x oder 0X, gefolgt von einer Reihe von Hexadezimalzahlen (0 - F) bzw. (0 - f)
Suffix u oder U bei Ganzzahlen
Es hadelt sich um eine vorzeichenlose Ganzzahl
Suffix l oder L bei Ganzzahlen
Es hadelt sich um eine long-Zahl
Suffix f oder F bei Fließkommazahlen
Es handelt sich um eine Fließkommazahl mit einfacher Genauigkeit.
Suffix l oder L bei Fließkommazahlen
Es hadelt sich um eine Fließkommazahl mit erhöhter Genauigkeit.
Literale - Einzelne Zeichen
Ein Zeichenliteral wird in einfache hochgestellte Anführungszeichen eingeschlossen (‘A’, ‘B’, ‘&’, … ). Nicht druckbare Zeichen, z.B Tabulator, weden durch eine Escape-Sequenz dargestellt.
Escape-Sequenz
Auch Steuerzeichen gennant. Werden mit einem Backslash (\) eingeleitet z.B: \t -> Tabulator
Literale - Zeichenkette
Eine Zeichenkette (auch String gennant) ist eine Sequenz von Zeichen, die zwischen doppelte Anführungszeichen gestellt weden (“Hallo”). Eine Zeichenkette ist immer um ein Zeichen länger als sichtbar, da jede Zeichenkette durch das Zeichen mit dem ASCII-Wert 0 abgeschlossen werden muss.
Wie wird eine Zeichenkette noch gennant?
String
Wie viele Zeichen hat ein Wort mit n Buchstaben?
n+1
Warum hat jede Zeichenkette immer ein Zeichen mehr als sichtbar?
Weil jede Zeichenkette mit dem Zeichen, welches den ASCII-Wert 0 hat, abgeschollsen werden muss.
Begrenzer
Um Symbole voneinander zu trennen, benötigt man in C Begrenzer.
Begrenzer - Semikolon “;”
Es dient als Abschluss einer Anweisung. Jeder Ausdruck, der mit einem solchen Semikolen endet, wird als Anweisung behandelt.
Das Semikolon hat keine Wirkung, wenn es innerhalb einer Stringkonstante verwendet wird.
Begrenzer - Komma “,”
Mit dem Komma trennt man gewöhnlich die Argumente einer Liste
Begrenzer - Geschweifte Klammern “{}”
In geschweiften Klammern wird ein Anweisungsblock zusammengefasst. In diesem Block befinden sich z.B. alle Anweisungen, die in einer Funktion ausgeführt werden sollen.
Begrenzer - Gleichheitszeichen “=”
Mit dem Gleichheitszeichen trennt man die Variablendeklaration von den Initialisierunglisten.
Typ bezeichner = wert;
Bei Zuweisungen von Werten zu Variablen handelt es sich nicht mehr um den Begrenzer “=” sondern um den Operator “=”
Initialisierung
Eine Initialisierung ist die Zuweisung eines Wertes zu einer Variable bei dessen Deklaration. Der Variable wird also ein initialer Wert zuwegiesen.
Die Zuweisung eines Wertes zu einer Variable wird sonst, also wenn nicht ber der Deklaration, als Zuweisung bezeichnet.
Zuweisung
Das ist die Zuweisung eines Wertes zu einer bereits existierenden Variable mit dem Operator “=”.
~~~
int variable;
variable = 10;
~~~
Die Variable muss vor der Zuweisung schon Deklariert worden sein. Sonst handelt es sich um eine Initalisierung.
Kommentare
Kommentare sind Textteile in einem C-Quelltext, die vom Complier ignoriert werden. Kommentare können an beliebigen Stellen im Quelltext stehen.
Beeinflussen Kommentare die Laufzeit?
Nein, Kommentare beeinflussen weder die Laufzeit des übersetzen Programms, noch dessen Größe.
Warum beeinflussen Kommentare weder Laufzeit noch Größe des Programms?
Weil Kommentare bei der Übersetzung in Maschinencode entfernt werden.
Nutzung von Kommentaren
Kommentare werden benutzt um den Quellcode zu dokumentieren und das Verständnis des Quellcodes zu erleichtern. Also z.B. zum Beschreibung und Erklärung von Funktionen.
Kommentarschreibweise - “//”
Ein Kommentar kann wie folgt geschreiben werden://Das ist ein Kommentar
Diese Art ein Kommentar zu schreiben, also führende “//” gefolgt von einem Text macht alles was hinter “//” in der Zeile steht zu einem Kommentar. Auchtung, der Kommentar darf nicht auf “\” enden. Außerdem können manche alte Compiler diese Art von Kommentaren nicht lesen, da diese Schreibweise erste später eingeführt wurde
Kommentarschreibweise - “/* */”
Der Kommentar beginnt mit “/*” und endet wenn das Zeichen */ kommt. Der Kommentar kann auch über mehrere Zeilen gehen.
Was ist der Basis-Zeichensatz?
Der Basis-Zeichensatz einthält Zeichen, die beim Schreiben von Quellcode verwendet werden. Dies sind alle Zeichen des ursprünglichen ASCII-Zeichensatzes mit den Werten 0 bis 127.
Was ist der Ausführungszeichensatz?
Der Ausführungszeichensatz enthält alle Zeichen, die erst bei der Ausführung des Programms interpretiert werden.
Unterschied zwischen Basis- und Ausführungszeichensatz
Häufig sind beide Zeichensätze identsich, sie müssen dies aber nicht sein. Manche Compiler fügen zur Laufzeit Tokens ein, die beim Beenden des Programms wieder entefernt werden. Tokens haben Werte >= 128
Steuerzeichen: \a
BEL (bell) - akustisches Warnsignal
Steuerzeichen: \b
BS (backspace) - setzt den Cursor um eine Position nach links
Steuerzeichen: \f
FF (formfeed) - ein Seitenvorschub wird ausgelöst.
Wird hauptsächlich bei Programmen verwendet, mit denen Sie etwas ausdrucken können.
Steuerzeichen: \n
NL (newline) - der Cursor geht zum Anfang der nächsten Zeile.
Steuerzeichen: \r
CR (carriage return) - der Cursor springt zum Anfang der Aktuellen Zeile.
Steuerzeichen: \t
HT (vertical tab) - der Cursor springt zur nächsten horizontalen Tabulatorposition (meistens acht Leerzeichen weiter).
Steuerzeichen: \v
VT (horizontal tab) - Zeilenvorschub zur nächsten vertikalen Tabulatorposition.
Steuerzeichen: \”
” wird ausgegeben.
Steuerzeichen: \’
’ wird ausgegeben.
Steuerzeichen: \?
? wird ausgegeben.
Steuerzeichen: \\
\ wird ausgegeben.
Steuerzeichen: \0
Das ist die Endmarkierung eines Strings.
Steuerzeichen: \nnn
Ausgabe eines Oktalwerts (z.B. \033 = ESCAPE-Zeichen)
Steuerzeichen: \xnn
Ausgabe eines Hexadezimalwerts
Trigraph-Zeichen
Zeichensequenz aus drei Zeichen, die Alle mit ?? beginnen. Trigraph-Zeichen wurden eingeführt, um in C-Quelltexten bestimmte Sonderzeichen zu ersetzen, die auf manchen Tastaturen nicht vorhanden sind.
Trigraph-Zeichen: ??=
Zeichen: #
Trigraph-Zeichen: ??(
Zeichen: [
Trigraph-Zeichen: ??)
Zeichen: ]
Trigraph-Zeichen: ??/
Zeichen: \
Trigraph-Zeichen: ??’
Zeichen: ^
Trigraph-Zeichen: ??!
Zeichen: |
Trigraph-Zeichen: ??<
Zeichen: {
Trigraph-Zeichen: ??>
Zeichen: }
Trigraph-Zeichen: ??-
Zeichen: ~
Verwendung von Trigraph-Zeichen bei der Entwicklung
Wenn möglich sollte auf den Einsatz von Trigraph-Zeichen komplett verzichtet werden, da sie nicht alle Compiler interpretieren können und daher spezialle Hilfsprogramme brauchen oder ein Flag bei der Compilierung gesetzt werden muss.