Deklaration einer Variable

  • Datentyp den die Variable annehmen soll (beinhaltet auch die Größe in Bytes)
  • Name, mit der die Variable angesprochen werden soll
  • Ggf. ein Initialwert
datentyp name = wert;

Elementare Datentypen

// Einzelnes Zeichen mit oder ohne Vorzeichen je nach Implementierung
// Soll ein Zeichen aufnahmen, also mindestens 1 Byte groß
char c;
 
// Ganzzahlen mit Vorzeichen
// Ganze Zahlen der Länge eines Maschinenwortes der CPU
int i;
 
// Gleitpunktzahl mit 7 Stellen
// Gleitkommazahlen der Länge eines Maschinenwortes
float x;
 
// Gleitpunktzahl mit 15 Stellen
// Gleiche oder höhere Genauigkeit
double y;

Modifikation der Wortbreite

short und long

Man kann versuchen, die Größe mit Modifizierern short und long zu verändern. Als Modifizierer von int dürfen sie auch alleine stehen

Gültigkeit:

Verwandt: sizeof

sizeof(short) <= sizeof(int) <= sizeof(long)

unsigned und signed

Die Modifizierer unsigned und signed kennzeichnen, ob eine Zahl ohne bzw. mit Vorzeichen interpretiert werden soll. unsigned schaltet die Zweierkomplement-schaltung aus

unsigned int a; // Nur positive Werte erlaubt
  signed int b; // Auch negative Werte erlaubt

Wertzuweisungen

variable = ausdruck;

Funktionsweise: Der Wert des Ausdrucks wird zuerst berechnet und dann in den Speicherplatz geschrieben. Der Typ des Ausdrucks muss mit dem Typ der Variable verträglich sein.

Ausdrücke

  • Für Gleitkommazahlen und ganze Zahlen gibt es die Rechenarten +-*/
  • Für ganze Zahlen gibt es zusätzlich die Rechenart % (Modulo = Rest einer ganzzahligen Division)

Bitweise Operatoren

Bitketten (char, short, int, long) können bitweise verarbeitet werden:

  • AND a & b
  • OR a | b
  • Exklusives OR a ^ b
  • NOT ~ a
  • Bitshift Links x << n
  • Bitshift Rechts a >> n

Umwandlung von Datentypen

  1. Explizite Datentypumwandlung: (Datentyp) Ausdruck
  2. Implizite Typumwandlung:
    • Alle Datentypen werden Untersucht
    • Werden in den Reichhaltigsten Datentypen umgewandelt