Home
Navigation
Impressum
Coder Welten - Programmierung und Optimierung
Coder Welten
 
 

 

 

Operatoren in C/C++, PHP und JavaScript

Eine sprachübergreifende Übersicht

Eine Sprache dient zur Verständigung, eine Script- oder Programmiersprache der Verständigung zwischen Mensch und Maschine. Wie die natürlichen, zwischenmenschlichen Sprachen, so verfügen Script- oder Programmiersprachen ebenfalls über eine mehr oder weniger komplexe Syntax. Zu dieser Syntax gehören Ausdrücke, Operanden und Operatoren.

Ausdrücke, Operanden und Operatoren

Ein Ausdruck besteht aus einer unterschiedlichen Anzahl von Operanden und liefert einen Wert. Ein einfacher Ausdruck kann nur aus einem einzelnen Literal bestehen, wobei der Wert des Ausdrucks gleich dem Wert des Literals ist. Einzelne Operanden können mit Hilfe von Operatoren getrennt oder verbunden, verrechnet oder verglichen, vom Datentyp umgewandelt, verschoben oder einer Variablen zugewiesen werden.
Ein einzelner Operand wird innerhalb eines aus mehreren Operanden und Operatoren bestehenden Ausdrucks zu einem Teilausdruck, auch wenn es sich dabei um den in einer Variablen gespeichert Wert eines anderen Ausdrucks handelt. Wird ein Operand mit Hilfe des Zuweisungsoperators zum Beispiel einer Variablen zugwiesen, handelt es um einen Ausdruck, wobei der Operand zum Teilausdruck wird. Beispiel eines einfachen Ausdrucks:

int var = 40;   // Ausdruck mit Zuweisungsoperator (=) und Operand (40)

Oder einfacher, die Ausdrücke "a" "b" "e" "r" werden im Ausdruck "aber" zu Teilausdrücken und der Ausdruck "aber" wird im komplexeren Ausdruck "aber nicht heute" wiederum zu einem Teil eines komplexeren Ausdruckes. Doch wenn das a und e keinen Wert hätte, würden wir den Ausdruck nicht mehr eindeutig interpretieren können.

Bei den Operanden kann es sich um Literale, Variablen sowie um Konstanten handeln. Einzelne Operanden und Ausdrücke können durch Operatoren zu einem komplexeren Ausdruck vereint werden. Bei dem gelieferten Wert kann es sich zum Beispiel um einen booleschen Wahrheitswert handeln. Ein Beispiel:

40 ist kleiner als 30 = falsch
40 ist größer als 30 = richtig bzw. wahr

Das Beispiel beinhaltet die Literale 40 und 30 als Operanden bzw. als Teilausdrücke und einen Wahrheitswert als Ergebnis. Alles zusammen bringt zum Ausdruck, ob der jeweilige Vergleich wahr oder falsch ist. Nur leider, die Bedeutung würde bei dieser Schreibweise weder ein Compiler, noch ein Interpreter oder ein Softwaresystem verstehen. Mit den richtigen Operatoren hingegen schon.

Ein Beispiel mit den vergleichenden Operatoren < und > in C:

#include <stdio.h>

int main() {

    if (40 < 30) {
        printf("Ist richtig!\n");
    }
    else {
        printf("Ist falsch!\n");       // Ausgabe: Ist fasch!
    }

    if (40 > 30) {
        printf("Ist richtig!\n");      // Ausgabe: Ist richtig!
    }
    else {
        printf("Ist falsch!\n");
    }

    getchar();
    return 0;
}

Ein Einsteiger in einer beliebigen Script- oder Programmiersprache sollte von Anbeginn an die wichtigsten Operatoren kennen, um die Syntax einer Sprache zu verstehen. Da ein Großteil der Operatoren sprachübergreifend Verwendung findet, haben wir diese in der nachfolgenden Übersicht aufgelistet.
Es sei angemerkt, dass die Übersicht keinen Anspruch auf Vollständigkeit erhebt. So blieb zum Beispiel der Punkt-Operator unerwähnt, da diesem in JavaScript eine andere Bedeutung zukommt, als in C oder PHP. Weiterhin werden in jeder Script- oder Programmiersprache noch Schlüsselwörter als Operatoren benutzt, deren sprachübergreifende Vorstellung und Abhandlung hier zu weit führen würde.

Operator Bedeutung Operator Bedeutung
Vergleichsoperatoren Arithmetische Operatoren
== gleich + Addition
!= ungleich - Subtraktion
=== genau gleich
mit Typvergleich nicht in C/C++
* Multiplikation
!== nicht genau gleich
mit Typvergleich nicht in C/C++
/ Division
< kleiner als ++ Inkrementor
Erhöhung um 1
> größer als -- Dekrementor
Erhöhung um 1
<= kleiner oder gleich % Modulo
>= größer oder gleich    
    Kombinierte Operatoren
Logische Operatoren += Der Zuweisungsoperator
kann in Kombination mit
arithmetischen Operatoren
benutzt werden.
! Nicht oder Negation -=
&& und
in PHP auch and
*=
|| oder
in PHP auch or
/=
       
Bit-Operatoren Bedingungsoperator
& und (bitweise) ?: Alternative Schreibweise
für Kontrollstrukturen,
die einem if-Statemant
entsprechen.
^ xor (bitweise, entweder oder)
| oder (bitweise)
<< Linksverschiebung    
>> Rechtsverschiebung    

Nachfolgend einige weitere Beispiele für die Verwendung von vergleichenden und arithmetischen Operatoren in C. Wie gut an erkennbar ist (zumindest für Einsteiger, die sich bereits etwas mit JavaScript oder PHP auskennen), besteht in der Syntax kein großer Unterschied zwischen den einzelnen Sprachen, da die Beispiele mit kleineren Änderungen in JavaScript oder in PHP ebenfalls ihre Aufgaben erfüllen würden.

/* Beispiele mit vergleichenden Operatoren in C */

#include <stdio.h>

int main() {

    int ab1 = 21;
    int ab2 = 21;
    int ab3 = 33;
    int ab4 = 44;

    char uner[23] = "Unerwartetes Ergebnis!";

    if (ab1 == ab2) {
        printf("Die Werte von ab1 und ab2 gleichen sich.\n\n");
    }
    else {
        printf("%s\n", uner);
    }

    if (ab2 != ab3) {
        printf("Die Werte von ab2 und ab3 gleichen sich nicht.\n\n");
    }
    else {
        printf("%s\n", uner);
    }

    if (ab3 <= ab4) {
        printf("Der Wert von ab3 ist kleiner oder gleich dem \n\rWert von ab4.\n");
    }
    else {
        printf("%s\n", uner);
    }

    getchar();
    return 0;
}

Vergleichende Operatoren
Vergleichende Operatoren in C / Ausgabe der Ergebnisse

/* Beispiele mit arithmetischen Operatoren in C */
#include <stdio.h>

int main() {

    int we1 = 10;
    int we2 =  4;
    int we3 =  2;
    int we4 =  3;

    we1 += we2;

    printf("%d\n", we1);      // Ausgabe 14

    we1 /= we3;

    printf("%d\n", we1);      // Ausgabe 7


    we1 = we1 + we4;

    printf("%d\n", we1);      // Ausgabe 10


    we1 = (we1 * we3 + we2) / 6;

    printf("%d\n", we1);      // Ausgabe 4 

    getchar();
    return 0;
}

Weitere Operatoren werden bei den jeweiligen Script- und Programmiersprachen abgehandelt, insofern diese für die einzelnen Themen von Bedeutung sind.

 

Copyright © Verlag Horst Müller - Stendal - 2006 - Impressum - Datenschutz - Nutzungsbedingungen