News Ticker

C 9: Operatoren

In diesem Artikel werden die Operatoren behandelt. Dabei handelt es sich um ein spannendes (man kann unglaublich viel darüber lernen wenn man nur wirklich will) und nützliches Thema. Denn mit Operatoren sind nicht nur einfache Additionen gemeint, sondern auch Bit-Operatoren die sehr oft bei systemnaher Programmierung verwendet werden um Bits zu verschieben. Weiterlesen lohnt sich auf jeden Fall.

Operatoren lassen sich in verschiedene Kategorien teilen:

Anzahl

  • unär – Der Operator hat 1 Operanden
  • binär- Der Operator hat 2 Operanden
  • ternär- Der Operator hat 3 Operanden

Position

  • Infix – Der Operator steht zwischen den Operanden
  • Präfix – Der Operator steht vor dem Operanden
  • Postfix – Der Operator steht hinter dem Operanden

Das dient nur der Übersichtlichkeit und muss nicht auswendig gelernt werden. 😉 Nun zu den wichtigsten Operatoren – den Arithmetischen: + - * / %. Diese stehen respektive für Addition, Subtraktion, Multiplikation, Divisions-Ergebnis und Divisions-Rest und sind selbsterklärend.

Es gibt zudem noch Inkrement- und Dekrement-Operatoren, mit denen man eine Variable um 1 vergrößern oder verkleinen kann. Hier kann man ein post- oder präfixes ++ oder -- verwenden. Nun erstmal ein kleines Beispiel:

int zahl1 = 10;
int zahl2 = 14;
int zahl3 = 0;
zahl3 = zahl1 + zahl2;
zahl2 = zahl1 * zahl3;
zahl2++;

Anmerkung: Dieses Beispiel ist kein vollständiges Programm. Es ist eure Aufgabe es in eine Main-Funktion einzufügen um es ausführen zu können. Zudem ist es sehr wichtig anzumerken, dass die postfixe Schreibweise der letzten zwei Operatoren einen Ausdruck erst nach dem aktuellen Ausdruck auswertet während die präfixe Schreibweise dies tut während der Ausdruck ausgewertet wird. Klingt kompliziert, dazu ein ganzes Programmbeispiel:

tcr@triton ~ $ cat op.c
#include <stdio.h>
 
int main()
{
        int zahl1 = 0;
        printf("%d ", zahl1); // 0
 
        printf("%d ", ++zahl1); // 1
        printf("%d ", ++zahl1); // 2
 
        printf("%d ", zahl1++); // 2
        printf("%d ", zahl1++); // 3
        printf("%d\n", zahl1); // 4
}
tcr@triton ~ $ gcc op.c
tcr@triton ~ $ ./a.out
0 1 2 2 3 4
tcr@triton ~ $

Es gibt aber auch noch Bit-Operatoren, die hier nur der Vollständigkeit halber erwähnt sein sollen, da diese für fortgeschrittene Themen sind.

  • UND (&)
  • ODER (|)
  • Exklusives ODER (^)
  • KOMPLEMENT (~)
  • RECHTS (>>)
  • LINKS (<<)

Ein letzter Tipp noch: a = a + 10 lässt sich mit a += 10 viel kürzer schreiben. Das Gleiche gilt natürlich für alle anderen Operatoren auch (also z.B.: zahl3 %= zahl2).