Home > C > Operatoren in C

Operatoren in C

1) Zuweisung

Die Zuweisung eines Wertes geschieht mit     =

Links davon steht die VARIABLE, die einen Wert erhält.
Die Variable auf der recehten Seite wird nicht verändert.

In C werden bei der Zuweisung von Kommazahlen an Ganzzahlen die Kommastellen abgeschnitten.

Beispiel:

int i;
 
double x=3.75;
 
i=x;  // i ist dann 3 weil es abgeschnitten wird.

2) Vorzeichen

+ ist eine positive Zahl und - eine negative

3) Arithmetische Operatoren

+ - * / %

Bei der Division (/) mit int (Beide Operatoren sind Ganzzahlen)  wird der Bruchteil (Kommastelle) abgeschnitten.

Beispiel:

int i=1, j=2, k;
double x;
k=i/j; // k ist somit 0
x=i/j; // x ist dann o.o

Modulo (%) Divisionen die nur auf Ganzzahlen anwendbar ist berechnet den Restwert einer Ganzzahlendivision. Wie man es aus der Grundschule kennt, bevor man mit den Kommzahlen vertraut gemacht wird.

Beispiel:

int i=10, j=2, k=3, erg;
erg=i%k; // erg ist dann 1! weil 10 durch 3 gibt 3 rest 1
erg=j%k; // erg ist 2
erg=i%4; // erg ist 2

Auswertung der Rechnung erfolgt von LINKS nach Rechts, wie man es von der Mathematik kennt.
Dabei gilt: * / % geht vor + und -

Beispiel:

erg=i+j*k/5; // erg ist dann 11

Das Mischen von Datentypen ist erlaubt. Die Berechnung wird dann im "besseren" Datentyp ausgeführt.

Beispiel:

int i=1, j=2, k;
double x=2.0, erg;
 
erg=i/x; // 0.5
erg=i/j; // 0.0 Ganzhaldivision
k=i/x;   // 0 da k ein int ist

Erzwungene Typumwandlung (cast)
(Datentyp) Variable
erzwingt die Behandlung der Variable in diesem Typ an dieser Stelle!

Beispiel:

erg=(double) i/j; // 0.5 nur hier wird es double bahndelt
KategorienC Tags: , ,
  1. 7. Oktober 2009, 19:31 | #1

    Hi,

    müsste im zweiten Beispiel bei der Zuweisung des x nicht 0.5 (statt 0.0) rauskommen?

  2. Harun (admin)
    7. Oktober 2009, 20:10 | #2

    Hi, nein es kommt 0.0 raus, da es zwei Ganzzahlen sind. 0.0 kommt nur raus, weil das Ergebniss als Kommazahl ausgegben wird. Dies hat keinen Einfluss auf die Rechnung.

  3. 8. Oktober 2009, 16:43 | #3

    Wann gibt es mal neue Tuts? :D

  4. Harun (admin)
    10. Oktober 2009, 12:07 | #4

    Heutee ;)

  1. 10. Oktober 2009, 13:04 | #1